Use assert_separately in TestIseqLoad#test_stressful_roundtrip
It takes 635 seconds on mswinci http://mswinci.japaneast.cloudapp.azure.com/vc12-x64/ruby-trunk/log/20180810T061315Z.log.html.gz git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64271 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
163b830d70
commit
d561eb665d
@ -17,10 +17,28 @@ class TestIseqLoad < Test::Unit::TestCase
|
|||||||
end
|
end
|
||||||
|
|
||||||
def test_stressful_roundtrip
|
def test_stressful_roundtrip
|
||||||
stress, GC.stress = GC.stress, true
|
assert_separately(%w[-r-test-/iseq_load], <<-'end;;')
|
||||||
|
ISeq = RubyVM::InstructionSequence
|
||||||
|
def assert_iseq_roundtrip(src, line=caller_locations(1,1)[0].lineno+1)
|
||||||
|
a = ISeq.compile(src, __FILE__, __FILE__, line).to_a
|
||||||
|
b = ISeq.iseq_load(a).to_a
|
||||||
|
warn diff(a, b) if a != b
|
||||||
|
assert_equal a, b
|
||||||
|
assert_equal a, ISeq.iseq_load(b).to_a
|
||||||
|
end
|
||||||
|
def test_bug8543
|
||||||
|
assert_iseq_roundtrip "#{<<~"begin;"}\n#{<<~'end;'}"
|
||||||
|
begin;
|
||||||
|
puts "tralivali"
|
||||||
|
def funct(a, b)
|
||||||
|
a**b
|
||||||
|
end
|
||||||
|
3.times { |i| puts "Hello, world#{funct(2,i)}!" }
|
||||||
|
end;
|
||||||
|
end
|
||||||
|
GC.stress = true
|
||||||
test_bug8543
|
test_bug8543
|
||||||
ensure
|
end;;
|
||||||
GC.stress = stress
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_case_when
|
def test_case_when
|
||||||
|
Loading…
x
Reference in New Issue
Block a user