From 9ed9246f5a0945db89fb48d4dd88e9e80f8d3e2c Mon Sep 17 00:00:00 2001 From: nagachika Date: Fri, 20 Mar 2020 02:45:26 +0000 Subject: merge revision(s) 67322,67323: Insert --jit-verbose=2 logs for mswin debugging Explain why cl.exe needs --jit-verbose=2 [ci skip] I forgot to explain it in the previous commit git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67847 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/ruby/test_jit.rb | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'test') diff --git a/test/ruby/test_jit.rb b/test/ruby/test_jit.rb index b2467fe074..b10e5ea00f 100644 --- a/test/ruby/test_jit.rb +++ b/test/ruby/test_jit.rb @@ -940,6 +940,11 @@ class TestJIT < Test::Unit::TestCase def assert_eval_with_jit(script, stdout: nil, success_count:, min_calls: 1, insns: [], uplevel: 1) out, err = eval_with_jit(script, verbose: 1, min_calls: min_calls) actual = err.scan(/^#{JIT_SUCCESS_PREFIX}:/).size + # Add --jit-verbose=2 logs for cl.exe because compiler's error message is suppressed + # for cl.exe with --jit-verbose=1. See `start_process` in mjit_worker.c. + if RUBY_PLATFORM.match?(/mswin/) && success_count != actual + _, err2 = eval_with_jit(script, verbose: 2, min_calls: min_calls) + end # Make sure that the script has insns expected to be tested used_insns = method_insns(script) @@ -954,7 +959,7 @@ class TestJIT < Test::Unit::TestCase assert_equal( success_count, actual, "Expected #{success_count} times of JIT success, but succeeded #{actual} times.\n\n"\ - "script:\n#{code_block(script)}\nstderr:\n#{code_block(err)}", + "script:\n#{code_block(script)}\nstderr:\n#{code_block(err)}#{("\nstderr(verbose=2 retry):\n#{code_block(err2)}" if err2)}", ) if stdout assert_equal(stdout, out, "Expected stdout #{out.inspect} to match #{stdout.inspect} with script:\n#{code_block(script)}") -- cgit v1.2.3