From: Adam Bozanich Date: 2007-04-25T16:28:48+09:00 Subject: test/unit inconsistencies between 1.9 and 1.8 ------=_Part_82524_7856946.1177486122443 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline Hello, We're having problems with ruby 1.9 and test/unit. It looks like when ObjectSpace is scanned that the methods we are defining aren't being seen. Any suggestions? Thanks, -Adam % cat 19test.rb [~/code/planb/root] require 'test/unit' class Foo attr_reader :attrs def initialize @attrs = Hash.new ("A".."Z").each { |x| @attrs[x] = x.downcase } end end tclass = Class.new( Test::Unit::TestCase ) Foo.const_set "TestAttr" , tclass Foo.new.attrs.each_pair do |key,value| tclass.class_eval do define_method("test_#{key}") do assert_equal(key,value.upcase) end end end % /usr/bin/ruby -v [~/code/planb/root] ruby 1.8.6 (2007-03-13 patchlevel 0) [i686-darwin8.9.1] % /usr/bin/ruby 19test.rb [~/code/planb/root] Loaded suite 19test Started .......................... Finished in 0.002402 seconds. 26 tests, 26 assertions, 0 failures, 0 errors % /opt/bin/ruby -v [~/code/planb/root] ruby 1.9.0 (2007-04-24 patchlevel 0) [i686-darwin8.9.1] % /opt/bin/ruby 19test.rb [~/code/planb/root] Loaded suite 19test Started F Finished in 0.000685 seconds. 1) Failure: default_test(Foo::TestAttr) [/opt/lib/ruby/1.9/test/unit/assertions.rb:48:in `raise' /opt/lib/ruby/1.9/test/unit/assertions.rb:48:in `block in assert_block' /opt/lib/ruby/1.9/test/unit/assertions.rb:495:in `_wrap_assertion' /opt/lib/ruby/1.9/test/unit/assertions.rb:11240:in `assert_block' /opt/lib/ruby/1.9/test/unit/assertions.rb:313:in `flunk' /opt/lib/ruby/1.9/test/unit/testcase.rb:107:in `default_test' /opt/lib/ruby/1.9/test/unit/testcase.rb:76:in `run' /opt/lib/ruby/1.9/test/unit/testsuite.rb:34:in `block in run' /opt/lib/ruby/1.9/test/unit/testsuite.rb:33:in `each' /opt/lib/ruby/1.9/test/unit/testsuite.rb:33:in `run' /opt/lib/ruby/1.9/test/unit/testsuite.rb:34:in `block in run' /opt/lib/ruby/1.9/test/unit/testsuite.rb:33:in `each' /opt/lib/ruby/1.9/test/unit/testsuite.rb:33:in `run' /opt/lib/ruby/1.9/test/unit/ui/testrunnermediator.rb:46:in `run_suite' /opt/lib/ruby/1.9/test/unit/ui/console/testrunner.rb:67:in `start_mediator' /opt/lib/ruby/1.9/test/unit/ui/console/testrunner.rb:41:in `start' /opt/lib/ruby/1.9/test/unit/ui/testrunnerutilities.rb:29:in `run' /opt/lib/ruby/1.9/test/unit/autorunner.rb:215:in `run' /opt/lib/ruby/1.9/test/unit/autorunner.rb:12:in `run' /opt/lib/ruby/1.9/test/unit.rb:278:in `block in ']: No tests were specified. 1 tests, 1 assertions, 1 failures, 0 errors ------=_Part_82524_7856946.1177486122443--