なかだです。

http://mput.dip.jp/autobuild/ruby-trunk/latest.html を確認して
みました。ほとんどは__send__の変更のためですが

 18) Failure:
test_call_with_block(TestLambdaParameters) [/Users/autobuild/tmp/autobuild/ruby-trunk/20050912T110001/ruby/test/ruby/test_lambda.rb:41]:
<nil> expected to not be nil.

    b = nil
    assert_equal(1, ->(&b){ b.call }.call { 1 })
    assert_nil(b)

これは別スコープにすることになったはず(ruby-core:05545)というこ
とで、テストが間違ってるんでしょうか。

 19) Failure:
test_safe(TestProc) [/Users/autobuild/tmp/autobuild/ruby-trunk/20050912T110001/ruby/test/ruby/test_proc.rb:105]:
<1> expected but was
<0>.

先週末にProcが$SAFEを戻すのは$SAFEが3以上のときだけになったよう
ですが、これは仕様変更でテストを直すべきでしょうか。


Index: lib/ostruct.rb =================================================================== RCS file: /cvs/ruby/src/ruby/lib/ostruct.rb,v retrieving revision 1.16 diff -U2 -p -r1.16 ostruct.rb --- lib/ostruct.rb 5 Sep 2005 08:29:52 -0000 1.16 +++ lib/ostruct.rb 12 Sep 2005 09:31:17 -0000 @@ -71,7 +71,8 @@ class OpenStruct name = name.to_sym unless self.respond_to?(name) - meta = class << self; self; end - meta.send(:define_method, name) { @table[name] } - meta.send(:define_method, :"#{name}=") { |x| @table[name] = x } + class << self; self; end.class_eval do + define_method(name) { @table[name] } + define_method(:"#{name}=") { |x| @table[name] = x } + end end end Index: test/rss/test_dublincore.rb =================================================================== RCS file: /cvs/ruby/src/ruby/test/rss/test_dublincore.rb,v retrieving revision 1.11 diff -U2 -p -r1.11 test_dublincore.rb --- test/rss/test_dublincore.rb 5 Apr 2005 06:42:03 -0000 1.11 +++ test/rss/test_dublincore.rb 12 Sep 2005 09:34:43 -0000 @@ -152,5 +152,5 @@ EOR excepted = "<#{@prefix}:#{name}>#{value}</#{@prefix}:#{name}>" @parents.each do |parent| - assert_equal(excepted, @rss.send(parent).send("dc_#{name}_elements")) + assert_equal(excepted, @rss.send(parent).instance_eval {send("dc_#{name}_elements")}) end @@ -162,5 +162,5 @@ EOR klass = DublinCoreModel.const_get(klass_name) elems << klass.new(@rss.send(parent).send("dc_#{name}")) - assert_equal(excepted, @rss.send(parent).send("dc_#{name}_elements")) + assert_equal(excepted, @rss.send(parent).instance_eval {send("dc_#{name}_elements")}) end end Index: test/rss/test_trackback.rb =================================================================== RCS file: /cvs/ruby/src/ruby/test/rss/test_trackback.rb,v retrieving revision 1.12 diff -U2 -p -r1.12 test_trackback.rb --- test/rss/test_trackback.rb 19 Nov 2004 08:25:25 -0000 1.12 +++ test/rss/test_trackback.rb 12 Sep 2005 09:35:55 -0000 @@ -115,5 +115,5 @@ EOR meth = "#{RSS::TRACKBACK_PREFIX}_#{name}_element" meth << "s" if name == :about - assert_equal(excepted, @rss.send(parent).send(meth)) + assert_equal(excepted, @rss.send(parent).instance_eval {send(meth)}) end end Index: test/ruby/test_eval.rb =================================================================== RCS file: /cvs/ruby/src/ruby/test/ruby/test_eval.rb,v retrieving revision 1.5 diff -U2 -p -r1.5 test_eval.rb --- test/ruby/test_eval.rb 7 Sep 2004 05:32:25 -0000 1.5 +++ test/ruby/test_eval.rb 12 Sep 2005 08:52:58 -0000 @@ -147,5 +147,5 @@ class TestEval < Test::Unit::TestCase def temporally_method_for_test_eval_and_define_method(&block) lambda { - class << Object.new; self end.__send__(:define_method, :zzz, &block) + class << Object.new; self end.class_eval {define_method(:zzz, &block)} } end Index: test/ruby/test_lambda.rb =================================================================== RCS file: /cvs/ruby/src/ruby/test/ruby/test_lambda.rb,v retrieving revision 1.1 diff -U2 -p -r1.1 test_lambda.rb --- test/ruby/test_lambda.rb 8 Aug 2005 23:24:29 -0000 1.1 +++ test/ruby/test_lambda.rb 12 Sep 2005 09:26:53 -0000 @@ -39,5 +39,5 @@ class TestLambdaParameters < Test::Unit: b = nil assert_equal(1, ->(&b){ b.call }.call { 1 }) - assert_not_nil(b) + assert_nil(b) end Index: test/socket/test_socket.rb =================================================================== RCS file: /cvs/ruby/src/ruby/test/socket/test_socket.rb,v retrieving revision 1.3 diff -U2 -p -r1.3 test_socket.rb --- test/socket/test_socket.rb 9 Dec 2004 23:39:57 -0000 1.3 +++ test/socket/test_socket.rb 12 Sep 2005 09:59:56 -0000 @@ -20,7 +20,9 @@ class TestBasicSocket < Test::Unit::Test assert_equal([0].pack("i"), n) val = Object.new - class << val; self end.send(:define_method, :to_int) { - s.close - Socket::SO_TYPE + class << val; self end.class_eval { + define_method(:to_int) { + s.close + Socket::SO_TYPE + } } assert_raise(IOError) { @@ -35,7 +37,9 @@ class TestBasicSocket < Test::Unit::Test val = Object.new - class << val; self end.send(:define_method, :to_str) { - s.close - linger + class << val; self end.class_eval { + define_method(:to_str) { + s.close + linger + } } inet_stream do |s| @@ -48,7 +52,9 @@ class TestBasicSocket < Test::Unit::Test val = Object.new - class << val; self end.send(:define_method, :to_int) { - s.close - Socket::SO_LINGER + class << val; self end.class_eval { + define_method(:to_int) { + s.close + Socket::SO_LINGER + } } inet_stream do |s| @@ -62,7 +68,9 @@ class TestBasicSocket < Test::Unit::Test s = nil log = Object.new - class << log; self end.send(:define_method, :to_int) { - s.close - 2 + class << log; self end.class_eval { + define_method(:to_int) { + s.close + 2 + } } inet_stream do |s|
-- --- 僕の前にBugはない。 --- 僕の後ろにBugはできる。 中田 伸悦