diff options
author | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-01-25 18:02:01 +0000 |
---|---|---|
committer | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-01-25 18:02:01 +0000 |
commit | 13b5b22ae63cb35adc7e73f8f3d248a6ffd46ad1 (patch) | |
tree | 06c31626bec772304b5435fc49f4fbf2c84eb3a6 /bootstraptest | |
parent | 42dcda08aef365e166b8784e0349a28896a871e6 (diff) | |
download | ruby-13b5b22ae63cb35adc7e73f8f3d248a6ffd46ad1.tar.gz |
* compile.c, compile.h: fix stack pointer issues.
calculate correct stack depth at compile time.
* insns.def (emptstack): remove it and add a new insn "adjuststack".
* bootstraptest/test_knownbug.rb: move/remove fixed test.
* bootstraptest/test_syntax.rb: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15245 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'bootstraptest')
-rw-r--r-- | bootstraptest/test_knownbug.rb | 64 | ||||
-rw-r--r-- | bootstraptest/test_syntax.rb | 12 | ||||
-rw-r--r-- | bootstraptest/test_thread.rb | 1 |
3 files changed, 31 insertions, 46 deletions
diff --git a/bootstraptest/test_knownbug.rb b/bootstraptest/test_knownbug.rb index 69678e80de..82944c7b14 100644 --- a/bootstraptest/test_knownbug.rb +++ b/bootstraptest/test_knownbug.rb @@ -3,73 +3,45 @@ # So all tests will cause failure. # -# test is not written... -flunk '[ruby-dev:31819] rb_clear_cache_by_class' -flunk '[ruby-dev:31820] valgrind set_trace_func' -flunk '[ruby-dev:32746] Invalid read of size 1' - -assert_equal 'ok', %q{ - class X < RuntimeError;end - x = [X] - begin - raise X - rescue *x - :ok - end -}, '[ruby-core:14537]' - - -assert_equal 'ok', %q{ - 1.times do - [ - 1, 2, 3, 4, 5, 6, 7, 8, - begin - false ? next : p - break while true - end - ] - end - :ok -}, '[ruby-dev:32882]' - - assert_equal 'ok', %q{ class C define_method(:foo) { if block_given? - :ng - else :ok + else + :ng end } end - C.new.foo + C.new.foo {} }, '[ruby-core:14813]' assert_equal 'ok', %q{ class C define_method(:foo) { if block_given? - :ok - else :ng + else + :ok end } end - C.new.foo {} + C.new.foo }, '[ruby-core:14813]' -assert_equal 'true', %{ - t = Thread.new { loop {} } +# test is not written... +flunk '[ruby-dev:31819] rb_clear_cache_by_class' +flunk '[ruby-dev:31820] valgrind set_trace_func' +flunk '[ruby-dev:32746] Invalid read of size 1' + +assert_equal 'ok', %q{ + class X < RuntimeError;end + x = [X] begin - pid = fork { - exit t.status != "run" - } - Process.wait pid - $?.success? - rescue NotImplementedError - true + raise X + rescue *x + :ok end -} +}, '[ruby-core:14537]' assert_valid_syntax('1.times {|i|print (42),1;}', '[ruby-list:44479]') diff --git a/bootstraptest/test_syntax.rb b/bootstraptest/test_syntax.rb index ed47d59876..1c5121cdaa 100644 --- a/bootstraptest/test_syntax.rb +++ b/bootstraptest/test_syntax.rb @@ -746,3 +746,15 @@ assert_normal_exit %q{ end }, 'reported by Yusuke ENDOH' +assert_equal 'ok', %q{ + 1.times do + [ + 1, 2, 3, 4, 5, 6, 7, 8, + begin + false ? next : p + break while true + end + ] + end + :ok +}, '[ruby-dev:32882]' diff --git a/bootstraptest/test_thread.rb b/bootstraptest/test_thread.rb index 626d671440..43bb2fe772 100644 --- a/bootstraptest/test_thread.rb +++ b/bootstraptest/test_thread.rb @@ -200,6 +200,7 @@ rescue 100 end }, '[ruby-dev:31371]' + assert_equal 'true', %{ t = Thread.new { loop {} } begin |