なかだです。
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はできる。
中田 伸悦