mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
test/lib/jit_support.rb: continue to skip test_jit
for icc since it's not supported yet but running on rubyci. This reverts some part of r65175, r65176 and r65177. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65178 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
808d833d29
commit
1a7249bc03
4 changed files with 36 additions and 18 deletions
|
@ -1,9 +1,8 @@
|
|||
module JITSupport
|
||||
JIT_TIMEOUT = 600 # 10min for each...
|
||||
JIT_SUCCESS_PREFIX = 'JIT success \(\d+\.\dms\)'
|
||||
SUPPORTED_COMPILERS = [
|
||||
'gcc',
|
||||
'clang',
|
||||
UNSUPPORTED_COMPILERS = [
|
||||
'icc',
|
||||
]
|
||||
|
||||
module_function
|
||||
|
@ -35,6 +34,11 @@ module JITSupport
|
|||
)
|
||||
end
|
||||
|
||||
def supported?
|
||||
return @supported if defined?(@supported)
|
||||
@supported = !UNSUPPORTED_COMPILERS.include?(RbConfig::CONFIG['CC'])
|
||||
end
|
||||
|
||||
def remove_mjit_logs(stderr)
|
||||
if RubyVM::MJIT.enabled?
|
||||
stderr.gsub(/^MJIT warning: Skipped to compile unsupported instruction: \w+\n/m, '')
|
||||
|
|
|
@ -32,6 +32,10 @@ class TestJIT < Test::Unit::TestCase
|
|||
end
|
||||
|
||||
def setup
|
||||
unless JITSupport.supported?
|
||||
skip 'JIT seems not supported on this platform'
|
||||
end
|
||||
|
||||
# ruby -w -Itest/lib test/ruby/test_jit.rb
|
||||
if $VERBOSE && !defined?(@@at_exit_hooked)
|
||||
at_exit do
|
||||
|
|
|
@ -138,9 +138,11 @@ class TestRubyOptions < Test::Unit::TestCase
|
|||
end
|
||||
|
||||
def test_enable
|
||||
assert_in_out_err(%w(--enable all -e) + [""], "", [], [])
|
||||
assert_in_out_err(%w(--enable-all -e) + [""], "", [], [])
|
||||
assert_in_out_err(%w(--enable=all -e) + [""], "", [], [])
|
||||
if JITSupport.supported?
|
||||
assert_in_out_err(%w(--enable all -e) + [""], "", [], [])
|
||||
assert_in_out_err(%w(--enable-all -e) + [""], "", [], [])
|
||||
assert_in_out_err(%w(--enable=all -e) + [""], "", [], [])
|
||||
end
|
||||
assert_in_out_err(%w(--enable foobarbazqux -e) + [""], "", [],
|
||||
/unknown argument for --enable: `foobarbazqux'/)
|
||||
assert_in_out_err(%w(--enable), "", [], /missing argument for --enable/)
|
||||
|
@ -198,19 +200,21 @@ class TestRubyOptions < Test::Unit::TestCase
|
|||
end
|
||||
end
|
||||
|
||||
[
|
||||
%w(--version --jit),
|
||||
%w(--version --enable=jit),
|
||||
%w(--version --enable-jit),
|
||||
].each do |args|
|
||||
assert_in_out_err(args) do |r, e|
|
||||
assert_match(VERSION_PATTERN_WITH_JIT, r[0])
|
||||
if RubyVM::MJIT.enabled?
|
||||
assert_equal(RUBY_DESCRIPTION, r[0])
|
||||
else
|
||||
assert_equal(EnvUtil.invoke_ruby(['--jit', '-e', 'print RUBY_DESCRIPTION'], '', true).first, r[0])
|
||||
if JITSupport.supported?
|
||||
[
|
||||
%w(--version --jit),
|
||||
%w(--version --enable=jit),
|
||||
%w(--version --enable-jit),
|
||||
].each do |args|
|
||||
assert_in_out_err(args) do |r, e|
|
||||
assert_match(VERSION_PATTERN_WITH_JIT, r[0])
|
||||
if RubyVM::MJIT.enabled?
|
||||
assert_equal(RUBY_DESCRIPTION, r[0])
|
||||
else
|
||||
assert_equal(EnvUtil.invoke_ruby(['--jit', '-e', 'print RUBY_DESCRIPTION'], '', true).first, r[0])
|
||||
end
|
||||
assert_equal([], e)
|
||||
end
|
||||
assert_equal([], e)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -5,6 +5,12 @@ require_relative '../lib/jit_support'
|
|||
class TestRubyVMMJIT < Test::Unit::TestCase
|
||||
include JITSupport
|
||||
|
||||
def setup
|
||||
unless JITSupport.supported?
|
||||
skip 'JIT seems not supported on this platform'
|
||||
end
|
||||
end
|
||||
|
||||
def test_pause
|
||||
out, err = eval_with_jit(<<~'EOS', verbose: 1, min_calls: 1, wait: false)
|
||||
i = 0
|
||||
|
|
Loading…
Reference in a new issue