1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

test/ruby/test_array.rb (test_sort_with_replace): run in a subprocess

This test invokes GC.start 100 times, which takes approx. six minutes in
Solaris.  This change runs the test in a separated process, which makes
GC.start faster.
This commit is contained in:
Yusuke Endoh 2019-06-26 16:01:45 +09:00
parent 04bc4c0662
commit a84a99ffab

View file

@ -1610,13 +1610,21 @@ class TestArray < Test::Unit::TestCase
end
def test_sort_with_replace
xary = (1..100).to_a
100.times do
ary = (1..100).to_a
ary.sort! {|a,b| ary.replace(xary); a <=> b}
GC.start
assert_equal(xary, ary, '[ruby-dev:34732]')
end
bug = '[ruby-core:34732]'
assert_separately([], "#{<<~"begin;"}\n#{<<~'end;'}", timeout: 30)
bug = "#{bug}"
begin;
xary = (1..100).to_a
100.times do
ary = (1..100).to_a
ary.sort! {|a,b| ary.replace(xary); a <=> b}
GC.start
assert_equal(xary, ary, '[ruby-dev:34732]')
end
assert_nothing_raised(SystemStackError, bug) do
assert_equal(:ok, Array.new(100_000, nil).permutation {break :ok})
end
end;
end
def test_sort_bang_with_freeze