зеркало из https://github.com/github/ruby.git
test/lib/jit_support.rb: fire test_jit everywhere
That was a workaround to make rubyci green for a short term after the MJIT merge. As we've done many portability fixes for MJIT, let's try running test_jit on all rubyci platforms. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65175 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
4765da9c58
Коммит
2baf760cc2
|
@ -195,7 +195,7 @@ before_script:
|
|||
|
||||
script:
|
||||
- "$SETARCH make -s test TESTOPTS=--color=never"
|
||||
- "$SETARCH make -s $JOBS test-all -o exts TESTOPTS='-q --color=never --job-status=normal' RUBY_FORCE_TEST_JIT=1"
|
||||
- "$SETARCH make -s $JOBS test-all -o exts TESTOPTS='-q --color=never --job-status=normal'"
|
||||
- "$SETARCH make -s $JOBS test-spec MSPECOPT=-j"
|
||||
|
||||
# Branch matrix. Not all branches are Travis-ready so we limit branches here.
|
||||
|
|
|
@ -92,7 +92,7 @@ for:
|
|||
- set /a JOBS=%NUMBER_OF_PROCESSORS%
|
||||
- nmake -l "TESTOPTS=-v -q" btest
|
||||
- nmake -l "TESTOPTS=-v -q" test-basic
|
||||
- nmake -l "TESTOPTS=-q -j%JOBS% --subprocess-timeout-scale=1.5 --exclude win32ole --exclude test_syntax --exclude test_open-uri" test-all RUBY_FORCE_TEST_JIT=1
|
||||
- nmake -l "TESTOPTS=-q -j%JOBS% --subprocess-timeout-scale=1.5 --exclude win32ole --exclude test_syntax --exclude test_open-uri" test-all
|
||||
# separately execute tests that may crash worker without -j.
|
||||
- nmake -l "TESTOPTS=-q --subprocess-timeout-scale=1.5" test-all TESTS="../test/win32ole ../test/ruby/test_syntax.rb ../test/open-uri/test_open-uri.rb"
|
||||
- nmake -l test-spec MSPECOPT=-fs
|
||||
|
@ -135,5 +135,5 @@ for:
|
|||
- mingw32-make DESTDIR=../install install-nodoc
|
||||
test_script:
|
||||
- mingw32-make test
|
||||
- mingw32-make test-all TESTOPTS="-j %JOBS% --retry --job-status=normal --show-skip --subprocess-timeout-scale=1.5" RUBY_FORCE_TEST_JIT=1 V=1
|
||||
- mingw32-make test-all TESTOPTS="-j %JOBS% --retry --job-status=normal --show-skip --subprocess-timeout-scale=1.5"
|
||||
- mingw32-make test-spec MSPECOPT=-j
|
||||
|
|
|
@ -6,27 +6,6 @@ module JITSupport
|
|||
'clang',
|
||||
]
|
||||
|
||||
def self.check_support
|
||||
# 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 = JITSupport.eval_with_jit_without_retry('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).tap do |success|
|
||||
unless success
|
||||
$stderr.puts "TestJIT.check_support stderr:\n```\n#{err}\n```\n"
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
module_function
|
||||
# Run Ruby script with --jit-wait (Synchronous JIT compilation).
|
||||
# Returns [stdout, stderr]
|
||||
|
@ -56,15 +35,6 @@ module JITSupport
|
|||
)
|
||||
end
|
||||
|
||||
def supported?
|
||||
return @supported if defined?(@supported)
|
||||
@supported = JITSupport.check_support.tap do |supported|
|
||||
unless supported
|
||||
warn "JIT tests are skipped since JIT seems not working. Set RUBY_FORCE_TEST_JIT=1 to let it fail.", uplevel: 1
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def remove_mjit_logs(stderr)
|
||||
if RubyVM::MJIT.enabled?
|
||||
stderr.gsub(/^MJIT warning: Skipped to compile unsupported instruction: \w+\n/m, '')
|
||||
|
|
|
@ -32,10 +32,6 @@ 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
|
||||
|
|
Загрузка…
Ссылка в новой задаче