From f8b219e4d66b5b9e24dc14233256e9a57ee0351e Mon Sep 17 00:00:00 2001 From: normal Date: Thu, 9 Oct 2014 07:16:19 +0000 Subject: st: test packed-to-unpacked transitions during iteration The st_foreach and st_foreach_check functions support transitioning from a packed to an unpacked state during iteration. However, this functionality did not get exercised by the current test suite until now. This should help us prevent breakage when making modifications to st. * ext/-test-/st/foreach/extconf.rb: new file * ext/-test-/st/foreach/foreach.c: ditto * test/-ext-/st/test_foreach.rb: ditto [Feature #10321] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47856 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/-ext-/st/test_foreach.rb | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 test/-ext-/st/test_foreach.rb (limited to 'test/-ext-/st') diff --git a/test/-ext-/st/test_foreach.rb b/test/-ext-/st/test_foreach.rb new file mode 100644 index 0000000000..259b0a93b1 --- /dev/null +++ b/test/-ext-/st/test_foreach.rb @@ -0,0 +1,15 @@ +require 'test/unit' +require '-test-/st/foreach' + +class Test_StForeachUnpack < Test::Unit::TestCase + def test_st_foreach_check_unpack + assert_nil Bug.unp_st_foreach_check(:check), "goto unpacked_continue" + assert_nil Bug.unp_st_foreach_check(:delete1), "goto unpacked" + assert_nil Bug.unp_st_foreach_check(:delete2), "goto deleted" + end + + def test_st_foreach_unpack + assert_nil Bug.unp_st_foreach(:unpacked), "goto unpacked" + assert_nil Bug.unp_st_foreach(:unpack_delete), "if (!ptr) return 0" + end +end -- cgit v1.2.3