diff options
author | k0kubun <k0kubun@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-02-22 15:11:12 +0000 |
---|---|---|
committer | k0kubun <k0kubun@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-02-22 15:11:12 +0000 |
commit | 666cafbeffbb8d9db27b9c4041d9edcc4e745770 (patch) | |
tree | f6a4ea2a6e43c421a5240cc6c6de8212f18304a8 /test/ruby/test_jit.rb | |
parent | 073c8cfee453280ad4d57651a823fc02e8a6fb83 (diff) |
test_rubyoptions.rb: don't test --jit if not supported
test/lib/jit_support.rb: carved out JITSupport
test/ruby/test_jit.rb: ditto
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62533 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/ruby/test_jit.rb')
-rw-r--r-- | test/ruby/test_jit.rb | 39 |
1 files changed, 3 insertions, 36 deletions
diff --git a/test/ruby/test_jit.rb b/test/ruby/test_jit.rb index 481e1754bf..7d12b7c130 100644 --- a/test/ruby/test_jit.rb +++ b/test/ruby/test_jit.rb @@ -1,48 +1,15 @@ # frozen_string_literal: true require 'test/unit' - -module TestJITSupport - JIT_TIMEOUT = 600 # 10min for each... - JIT_SUCCESS_PREFIX = 'JIT success \(\d+\.\dms\)' - SUPPORTED_COMPILERS = [ - 'gcc', - 'clang', - ] - - module_function - def eval_with_jit(script, verbose: 0, min_calls: 5, timeout: JIT_TIMEOUT) - EnvUtil.invoke_ruby( - ['--disable-gems', '--jit-wait', "--jit-verbose=#{verbose}", "--jit-min-calls=#{min_calls}", '-e', script], - '', true, true, timeout: timeout, - ) - end - - def supported? - # Experimental. If you want to ensure JIT is working with this test, please set this for now. - if ENV.key?('RUBY_FORCE_TEST_JIT') - return true - end - - # Very pessimistic check. With this check, we can't ensure JIT is working. - begin - _, err = TestJITSupport.eval_with_jit('proc {}.call', verbose: 1, min_calls: 1, timeout: 10) - rescue Timeout::Error - $stderr.puts "TestJIT: #jit_supported? check timed out" - false - else - err.match?(JIT_SUCCESS_PREFIX) - end - end -end +require_relative '../lib/jit_support' # Test for --jit option class TestJIT < Test::Unit::TestCase - include TestJITSupport + include JITSupport # Ensure all supported insns can be compiled. Only basic tests are included. # TODO: ensure --dump=insns includes the expected insn def setup - unless TestJITSupport.supported? + unless JITSupport.supported? skip 'JIT seems not supported on this platform' end end |