From 34d9c3d5c74aa12898f96008027e74eb52c8164d Mon Sep 17 00:00:00 2001 From: akr Date: Fri, 28 Sep 2007 00:23:40 +0000 Subject: [PATCH] thread variable test refined. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13539 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- bootstraptest/test_knownbug.rb | 30 ++++++++++++------------------ 1 file changed, 12 insertions(+), 18 deletions(-) diff --git a/bootstraptest/test_knownbug.rb b/bootstraptest/test_knownbug.rb index f978e24f6a..20533fa1b1 100644 --- a/bootstraptest/test_knownbug.rb +++ b/bootstraptest/test_knownbug.rb @@ -13,7 +13,7 @@ assert_finish 1, %q{ w.write "a" }, '[ruby-dev:31866]' -assert_equal "[[nil, 1, 1, nil, nil], [nil, 2, 2, nil]]", %q{ +assert_equal "[[nil, 1, 3, 3, 1, nil, nil], [nil, 2, 2, nil]]", %q{ def tvar(var, val) old = Thread.current[var] begin @@ -26,24 +26,18 @@ assert_equal "[[nil, 1, 1, nil, nil], [nil, 2, 2, nil]]", %q{ ary1 = [] ary2 = [] fb = Fiber.new { - ary2 << Thread.current[:v] - tvar(:v, 2) { - ary2 << Thread.current[:v] - Fiber.yield - ary2 << Thread.current[:v] - } - ary2 << Thread.current[:v] - Fiber.yield + ary2 << Thread.current[:v]; tvar(:v, 2) { + ary2 << Thread.current[:v]; Fiber.yield + ary2 << Thread.current[:v]; } + ary2 << Thread.current[:v]; Fiber.yield ary2 << Thread.current[:v] } - ary1 << Thread.current[:v] - tvar(:v,1) { - ary1 << Thread.current[:v] - fb.resume - ary1 << Thread.current[:v] - } - ary1 << Thread.current[:v] - fb.resume - ary1 << Thread.current[:v] + ary1 << Thread.current[:v]; tvar(:v,1) { + ary1 << Thread.current[:v]; tvar(:v,3) { + ary1 << Thread.current[:v]; fb.resume + ary1 << Thread.current[:v]; } + ary1 << Thread.current[:v]; } + ary1 << Thread.current[:v]; fb.resume + ary1 << Thread.current[:v]; [ary1, ary2] }