summaryrefslogtreecommitdiff
path: root/lib/test/unit
diff options
context:
space:
mode:
authorntalbott <ntalbott@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-02-17 02:56:47 +0000
committerntalbott <ntalbott@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-02-17 02:56:47 +0000
commitf8989a0cdd9a8ff9d0087403e181689952879ca6 (patch)
treebecf656aa3e0cb8b0f8ff2b2efdbfea48b814156 /lib/test/unit
parentef46698d765a52c64c38a28d5229fd89e92b2e8d (diff)
* lib/test/unit/collector.rb (collect_file): now deletes paths added
to $LOAD_PATH instead of restoring it verbatim. * lib/test/unit/autorunner.rb (AutoRunner.run): fixed so that 'ruby -rtest/unit -rtest1 -rtest2 -e0' will use the objectspace collector again. Also tried to simplify the calling convention. * test/runner.rb: adjusted for new AutoRunner semantics. * lib/test/unit.rb: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7989 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/test/unit')
-rw-r--r--lib/test/unit/autorunner.rb20
-rw-r--r--lib/test/unit/collector/dir.rb5
2 files changed, 15 insertions, 10 deletions
diff --git a/lib/test/unit/autorunner.rb b/lib/test/unit/autorunner.rb
index 38b0b76ef3..2831293b7c 100644
--- a/lib/test/unit/autorunner.rb
+++ b/lib/test/unit/autorunner.rb
@@ -5,14 +5,20 @@ require 'optparse'
module Test
module Unit
class AutoRunner
- def self.run(current_file=nil, default_dir=nil, argv=ARGV, &block)
- if(!current_file || current_file == $0)
- r = new(!current_file, &block)
- if !r.process_args(argv) && default_dir
- r.to_run << default_dir
- end
- r.run
+ def self.run(force_standalone=false, default_dir=nil, argv=ARGV, &block)
+ r = new(force_standalone || standalone?, &block)
+ if((!r.process_args(argv)) && default_dir)
+ r.to_run << default_dir
+ end
+ r.run
+ end
+
+ def self.standalone?
+ return false unless("-e" == $0)
+ ObjectSpace.each_object(Class) do |klass|
+ return false if(klass < TestCase)
end
+ true
end
RUNNERS = {
diff --git a/lib/test/unit/collector/dir.rb b/lib/test/unit/collector/dir.rb
index 9342fdecbc..1395cdf4e5 100644
--- a/lib/test/unit/collector/dir.rb
+++ b/lib/test/unit/collector/dir.rb
@@ -75,9 +75,8 @@ module Test
end
def collect_file(name, suites, already_gathered)
- loadpath = $:.dup
dir = File.dirname(File.expand_path(name))
- $:.unshift(dir) unless $:.first == dir
+ $:.unshift(dir)
if(@req)
@req.require(name)
else
@@ -85,7 +84,7 @@ module Test
end
find_test_cases(already_gathered).each{|t| add_suite(suites, t.suite)}
ensure
- $:.replace(loadpath)
+ $:.delete_at($:.rindex(dir)) if(dir)
end
end
end