summaryrefslogtreecommitdiff
path: root/lib/test/unit/collector
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-07-04 13:19:24 +0000
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-07-04 13:19:24 +0000
commit7d166d26a5fbe66cdd7974314104f85dd29977ab (patch)
tree6cafe43af9d7b0e4aeb591b31cf4ecde6b527f7f /lib/test/unit/collector
parent28b216ac45262819f8bc7be0b1417a707974f94b (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: svn+ssh://ci.ruby-lang.org/ruby/trunk@17877 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/test/unit/collector')
-rw-r--r--lib/test/unit/collector/dir.rb12
-rw-r--r--lib/test/unit/collector/objectspace.rb14
2 files changed, 19 insertions, 7 deletions
diff --git a/lib/test/unit/collector/dir.rb b/lib/test/unit/collector/dir.rb
index 154c402a25..9c311b72ce 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 a0f837e33e..a6136e37bf 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