diff options
| author | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-07-04 13:19:24 +0000 |
|---|---|---|
| committer | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-07-04 13:19:24 +0000 |
| commit | c5bd6d89ed17cde3d12888384749357db33c8b0f (patch) | |
| tree | 6cafe43af9d7b0e4aeb591b31cf4ecde6b527f7f /lib/test/unit/collector | |
| parent | f1d4a29e773cd4e594febfca46f3a5aed489dee3 (diff) | |
* lib/test/unit/testcase.rb: collect decendants of
Test::Unit::TestCase using inherited.
* lib/test/unit/autorunner.rb: don't use ObjectSpace.each_object.
* lib/test/unit/collector/dir.rb: ditto.
* lib/test/unit/collector/objectspace.rb: ditto.
[ruby-core:17126]
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@17877 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/test/unit/collector')
| -rw-r--r-- | lib/test/unit/collector/dir.rb | 12 | ||||
| -rw-r--r-- | lib/test/unit/collector/objectspace.rb | 14 |
2 files changed, 19 insertions, 7 deletions
diff --git a/lib/test/unit/collector/dir.rb b/lib/test/unit/collector/dir.rb index 154c402a2..9c311b72c 100644 --- a/lib/test/unit/collector/dir.rb +++ b/lib/test/unit/collector/dir.rb @@ -10,7 +10,7 @@ module Test attr_reader :pattern, :exclude attr_accessor :base - def initialize(dir=::Dir, file=::File, object_space=::ObjectSpace, req=nil) + def initialize(dir=::Dir, file=::File, object_space=nil, req=nil) super() @dir = dir @file = file @@ -43,8 +43,14 @@ module Test def find_test_cases(ignore=[]) cases = [] - @object_space.each_object(Class) do |c| - cases << c if(c < TestCase && !ignore.include?(c)) + if @object_space + @object_space.each_object(Class) do |c| + cases << c if(c < TestCase && !ignore.include?(c)) + end + else + TestCase::DECENDANT_CLASSES.each do |c| + cases << c if !ignore.include?(c) + end end ignore.concat(cases) cases diff --git a/lib/test/unit/collector/objectspace.rb b/lib/test/unit/collector/objectspace.rb index a0f837e33..a6136e37b 100644 --- a/lib/test/unit/collector/objectspace.rb +++ b/lib/test/unit/collector/objectspace.rb @@ -10,9 +10,9 @@ module Test class ObjectSpace include Test::Unit::Collector - NAME = 'collected from the ObjectSpace' + NAME = 'collected from the subclasses of TestSuite' - def initialize(source=::ObjectSpace) + def initialize(source=nil) super() @source = source end @@ -20,8 +20,14 @@ module Test def collect(name=NAME) suite = TestSuite.new(name) sub_suites = [] - @source.each_object(Class) do |klass| - if(Test::Unit::TestCase > klass) + if @source + @source.each_object(Class) do |klass| + if(Test::Unit::TestCase > klass) + add_suite(sub_suites, klass.suite) + end + end + else + TestCase::DECENDANT_CLASSES.each do |klass| add_suite(sub_suites, klass.suite) end end |
