diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/excludes/TestISeq.rb | 1 | ||||
-rw-r--r-- | test/ruby/test_array.rb | 10 | ||||
-rw-r--r-- | test/ruby/test_iseq.rb | 2 |
3 files changed, 10 insertions, 3 deletions
diff --git a/test/excludes/TestISeq.rb b/test/excludes/TestISeq.rb new file mode 100644 index 0000000000..b99181eeaf --- /dev/null +++ b/test/excludes/TestISeq.rb @@ -0,0 +1 @@ +exclude :test_parent_iseq_mark, "time consuming test" diff --git a/test/ruby/test_array.rb b/test/ruby/test_array.rb index b1fc473f86..eacc0b007b 100644 --- a/test/ruby/test_array.rb +++ b/test/ruby/test_array.rb @@ -1819,7 +1819,9 @@ class TestArray < Test::Unit::TestCase bug3708 = '[ruby-dev:42067]' assert_equal(b, @cls[0, 1, 2, 3, 4][1, 4].permutation.to_a, bug3708) + end + def test_permutation_stack_error bug9932 = '[ruby-core:63103] [Bug #9932]' assert_separately([], <<-"end;") # do assert_nothing_raised(SystemStackError, "#{bug9932}") do @@ -1851,8 +1853,10 @@ class TestArray < Test::Unit::TestCase a = @cls[0, 1, 2, 3, 4][1, 4].repeated_permutation(2) assert_empty(a.reject {|x| !x.include?(0)}) + end - assert_separately([], <<-"end;") # do + def test_repeated_permutation_stack_error + assert_separately([], <<-"end;", timeout: 30) # do assert_nothing_raised(SystemStackError) do assert_equal(:ok, Array.new(100_000, nil).repeated_permutation(500_000) {break :ok}) end @@ -1886,8 +1890,10 @@ class TestArray < Test::Unit::TestCase a = @cls[0, 1, 2, 3, 4][1, 4].repeated_combination(2) assert_empty(a.reject {|x| !x.include?(0)}) + end - assert_separately([], <<-"end;") # do + def test_repeated_combination_stack_error + assert_separately([], <<-"end;", timeout: 20) # do assert_nothing_raised(SystemStackError) do assert_equal(:ok, Array.new(100_000, nil).repeated_combination(500_000) {break :ok}) end diff --git a/test/ruby/test_iseq.rb b/test/ruby/test_iseq.rb index 7af8c1b11b..4561eeb952 100644 --- a/test/ruby/test_iseq.rb +++ b/test/ruby/test_iseq.rb @@ -187,7 +187,7 @@ class TestISeq < Test::Unit::TestCase end def test_parent_iseq_mark - assert_separately([], <<-'end;') + assert_separately([], <<-'end;', timeout: 20) ->{ ->{ ->{ |