ruby-changes:4979
From: ko1@a...
Date: Mon, 19 May 2008 14:20:45 +0900 (JST)
Subject: [ruby-changes:4979] ko1 - Ruby:r16472 (trunk): * bootstraptest/test_knownbug.rb: move solved tests.
ko1 2008-05-19 14:20:21 +0900 (Mon, 19 May 2008) New Revision: 16472 Modified files: trunk/ChangeLog trunk/bootstraptest/test_eval.rb trunk/bootstraptest/test_knownbug.rb trunk/bootstraptest/test_literal.rb trunk/bootstraptest/test_syntax.rb trunk/bootstraptest/test_thread.rb trunk/test/ruby/test_m17n.rb trunk/test/ruby/test_proc.rb trunk/test/ruby/test_sprintf.rb trunk/test/ruby/test_string.rb trunk/test/ruby/test_struct.rb Log: * bootstraptest/test_knownbug.rb: move solved tests. * bootstraptest/test_eval.rb, test_literal.rb, test_syntax.rb, test_thread.rb: ditto. * test/ruby/test_m17n.rb, test_proc.rb, test_sprintf.rb, test_string.rb, test/ruby/test_struct.rb: ditto. http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/bootstraptest/test_literal.rb?r1=16472&r2=16471&diff_format=u http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/test/ruby/test_string.rb?r1=16472&r2=16471&diff_format=u http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/test/ruby/test_proc.rb?r1=16472&r2=16471&diff_format=u http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=16472&r2=16471&diff_format=u http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/test/ruby/test_struct.rb?r1=16472&r2=16471&diff_format=u http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/test/ruby/test_sprintf.rb?r1=16472&r2=16471&diff_format=u http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/bootstraptest/test_thread.rb?r1=16472&r2=16471&diff_format=u http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/bootstraptest/test_syntax.rb?r1=16472&r2=16471&diff_format=u http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/test/ruby/test_m17n.rb?r1=16472&r2=16471&diff_format=u http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/bootstraptest/test_eval.rb?r1=16472&r2=16471&diff_format=u http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/bootstraptest/test_knownbug.rb?r1=16472&r2=16471&diff_format=u Index: ChangeLog =================================================================== --- ChangeLog (revision 16471) +++ ChangeLog (revision 16472) @@ -1,3 +1,13 @@ +Mon May 19 14:18:13 2008 Koichi Sasada <ko1@a...> + + * bootstraptest/test_knownbug.rb: move solved tests. + + * bootstraptest/test_eval.rb, test_literal.rb, test_syntax.rb, + test_thread.rb: ditto. + + * test/ruby/test_m17n.rb, test_proc.rb, test_sprintf.rb, + test_string.rb, test/ruby/test_struct.rb: ditto. + Mon May 19 13:23:03 2008 NAKAMURA Usaku <usa@r...> * process.c (rb_spawn_internal): set last_status when status == -1 Index: bootstraptest/test_syntax.rb =================================================================== --- bootstraptest/test_syntax.rb (revision 16471) +++ bootstraptest/test_syntax.rb (revision 16472) @@ -767,3 +767,53 @@ } assert_valid_syntax('1.times {|i|print (42),1;}', '[ruby-list:44479]') + +assert_equal 'ok', %q{ + def a() end + begin + if defined?(a(1).a) + :ng + else + :ok + end + rescue + :ng + end +}, '[ruby-core:16010]' + +assert_equal 'ok', %q{ + def a() end + begin + if defined?(a::B) + :ng + else + :ok + end + rescue + :ng + end +}, '[ruby-core:16010]' + +assert_normal_exit %q{ + defined? C && 0 +} + +assert_normal_exit %q{ + class C + def m + defined?(super()) + end + end + C.new.m +} + +assert_equal 'ok', %q{ + class X < RuntimeError;end + x = [X] + begin + raise X + rescue *x + :ok + end +}, '[ruby-core:14537]' + Index: bootstraptest/test_eval.rb =================================================================== --- bootstraptest/test_eval.rb (revision 16471) +++ bootstraptest/test_eval.rb (revision 16472) @@ -227,3 +227,12 @@ :ng end }, "[ruby-dev:34236]" + +assert_equal 'ok', %q{ + begin + eval("class nil::Foo; end") + :ng + rescue Exception + :ok + end +} Index: bootstraptest/test_knownbug.rb =================================================================== --- bootstraptest/test_knownbug.rb (revision 16471) +++ bootstraptest/test_knownbug.rb (revision 16472) @@ -30,28 +30,6 @@ }, '[ruby-core:14813]' assert_equal 'ok', %q{ - class X < RuntimeError;end - x = [X] - begin - raise X - rescue *x - :ok - end -}, '[ruby-core:14537]' - -assert_normal_exit %q{ - "abc".gsub(/./, "a" => "z") -} - -assert_normal_exit %q{ - Encoding.compatible?("",0) -} - -assert_normal_exit %q{ - "".center(1, "\x80".force_encoding("utf-8")) -}, '[ruby-dev:33807]' - -assert_equal 'ok', %q{ a = lambda {|x, y, &b| b } b = a.curry[1] if b.call(2){} == nil @@ -62,10 +40,6 @@ }, '[ruby-core:15551]' assert_normal_exit %q{ - sprintf("% 0e", 1.0/0.0) -} - -assert_normal_exit %q{ g = Module.enum_for(:new) loop { g.next } }, '[ruby-dev:34128]' @@ -111,102 +85,6 @@ }, "[ ruby-Bugs-19304 ]" assert_equal 'ok', %q{ - def a() end - begin - if defined?(a(1).a) - :ng - else - :ok - end - rescue - :ng - end -}, '[ruby-core:16010]' - -assert_equal 'ok', %q{ - def a() end - begin - if defined?(a::B) - :ng - else - :ok - end - rescue - :ng - end -}, '[ruby-core:16010]' - -assert_equal 'ok', %q{ - def m - t = Thread.new { while true do // =~ "" end } - sleep 0.1 - 10.times { - if /((ab)*(ab)*)*(b)/ =~ "ab"*7 - return :ng if !$4 - return :ng if $~.size != 5 - end - } - :ok - ensure - Thread.kill t - end - m -}, '[ruby-dev:34492]' - -assert_normal_exit %q{ - begin - r = 0**-1 - r + r - rescue - end -}, '[ruby-dev:34524]' - -assert_normal_exit %q{ - begin - r = Marshal.load("\x04\bU:\rRational[\ai\x06i\x05") - r + r - rescue - end -}, '[ruby-dev:34536]' - -assert_normal_exit %q{ - begin - Struct.new(0) - rescue - end -} - -assert_normal_exit %q{ - defined? C && 0 -} - -assert_normal_exit %q{ - class C - def m - defined?(super()) - end - end - C.new.m -} - -assert_normal_exit %q{ - [1,2,3].slice!(1,10000).inspect -} - -assert_equal 'ok', %q{ - begin - eval("class nil::Foo; end") - :ng - rescue Exception - :ok - end -} - -assert_normal_exit %q{ - at_exit { Fiber.new{}.resume } -} - -assert_equal 'ok', %q{ lambda { break :ok :ng Index: bootstraptest/test_literal.rb =================================================================== --- bootstraptest/test_literal.rb (revision 16471) +++ bootstraptest/test_literal.rb (revision 16472) @@ -176,3 +176,19 @@ ObjectSpace.each_object(Module) {|m| m.name.inspect } :ok } + +assert_normal_exit %q{ + begin + r = 0**-1 + r + r + rescue + end +}, '[ruby-dev:34524]' + +assert_normal_exit %q{ + begin + r = Marshal.load("\x04\bU:\rRational[\ai\x06i\x05") + r + r + rescue + end +}, '[ruby-dev:34536]' Index: bootstraptest/test_thread.rb =================================================================== --- bootstraptest/test_thread.rb (revision 16471) +++ bootstraptest/test_thread.rb (revision 16472) @@ -246,3 +246,25 @@ t.join } } + +assert_equal 'ok', %q{ + def m + t = Thread.new { while true do // =~ "" end } + sleep 0.1 + 10.times { + if /((ab)*(ab)*)*(b)/ =~ "ab"*7 + return :ng if !$4 + return :ng if $~.size != 5 + end + } + :ok + ensure + Thread.kill t + end + m +}, '[ruby-dev:34492]' + +assert_normal_exit %q{ + at_exit { Fiber.new{}.resume } +} + Index: test/ruby/test_m17n.rb =================================================================== --- test/ruby/test_m17n.rb (revision 16471) +++ test/ruby/test_m17n.rb (revision 16472) @@ -1233,4 +1233,13 @@ s.setbyte(-4, 0x84) assert_equal(u("\xE3\x81\x84\xE3\x81\x84"), s) end + + def test_compatible + assert_equal(nil, Encoding.compatible?("",0), "moved from btest/knownbug") + end + + def test_force_encoding + assert(("".center(1, "\x80".force_encoding("utf-8")); true), + "moved from btest/knownbug, [ruby-dev:33807]") + end end Index: test/ruby/test_struct.rb =================================================================== --- test/ruby/test_struct.rb (revision 16471) +++ test/ruby/test_struct.rb (revision 16472) @@ -206,4 +206,10 @@ o = klass.new(1) assert_equal(1, o.size) end + + def test_error + assert_raise(TypeError){ + Struct.new(0) + } + end end Index: test/ruby/test_sprintf.rb =================================================================== --- test/ruby/test_sprintf.rb (revision 16471) +++ test/ruby/test_sprintf.rb (revision 16472) @@ -185,6 +185,7 @@ def test_float assert_equal("36893488147419111424", sprintf("%20.0f", 36893488147419107329.0)) + assert_equal(" Inf", sprintf("% 0e", 1.0/0.0), "moved from btest/knownbug") end BSIZ = 120 Index: test/ruby/test_proc.rb =================================================================== --- test/ruby/test_proc.rb (revision 16471) +++ test/ruby/test_proc.rb (revision 16472) @@ -210,6 +210,18 @@ assert_equal(fib, [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]) end + def test_curry_from_knownbug + a = lambda {|x, y, &b| b } + b = a.curry[1] + + assert_equal(:ok, + if b.call(2){} == nil + :ng + else + :ok + end, 'moved from btest/knownbug, [ruby-core:15551]') + end + def test_dup_clone b = proc {|x| x + "bar" } class << b; attr_accessor :foo; end Index: test/ruby/test_string.rb =================================================================== --- test/ruby/test_string.rb (revision 16471) +++ test/ruby/test_string.rb (revision 16472) @@ -624,6 +624,8 @@ a.taint assert(a.gsub(/./, S('X')).tainted?) + assert_equal("z", "abc".gsub(/./, "a" => "z"), "moved from btest/knownbug") + assert_raise(ArgumentError) { "foo".gsub } end @@ -1063,6 +1065,9 @@ assert_equal([S("a"), S(""), S("b"), S("c"), S("")], S("a||b|c|").split(S('|'), -1)) assert_equal([], "".split(//, 1)) + + assert_equal("[2, 3]", [1,2,3].slice!(1,10000).inspect, "moved from btest/knownbug") + end def test_squeeze -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/