1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

revisit more MJIT test skips

r65308 passed both trunk-mjit and trunk-mjit-wait CIs. MJIT copy job
looks working fine. Then this commit skips 5 more tests. Some of them
were skipped in a very early stage and may still need to be skipped, but
I want to confirm them since they haven't been changed for a long time.

And this prefers having inline information on `RubyVM::MJIT.enabled?`.
This commit makes it easier to confirm whether there's suspicious test
skip by RubyVM::MJIT.enabled? or not.

After this commit, tentatively we're not skipping tests for MJIT other
than `assert_no_memory_leak` ones.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65311 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
k0kubun 2018-10-22 15:49:22 +00:00
parent 7f5bb3082d
commit e38a0b4606
8 changed files with 7 additions and 22 deletions

View file

@ -3,10 +3,6 @@ class TestLastThread < Test::Unit::TestCase
# [Bug #11237]
def test_last_thread
if defined?(RubyVM::MJIT) && RubyVM::MJIT.enabled?
skip 'spurious wakeup unavoidable with MJIT'
end
assert_separately([], <<-"end;") #do
require '-test-/gvl/call_without_gvl'

View file

@ -42,7 +42,7 @@ module JITSupport
end
def remove_mjit_logs(stderr)
if RubyVM::MJIT.enabled?
if RubyVM::MJIT.enabled? # utility for -DFORCE_MJIT_ENABLE
stderr.gsub(/^MJIT warning: Skipped to compile unsupported instruction: \w+\n/m, '')
else
stderr

View file

@ -956,7 +956,7 @@ module MiniTest
puts if @verbose
$stdout.flush
unless defined?(RubyVM::MJIT) && RubyVM::MJIT.enabled? # compiler process is wrongly considered as leaked
unless defined?(RubyVM::MJIT) && RubyVM::MJIT.enabled? # compiler process is wrongly considered as leak
leakchecker.check("#{inst.class}\##{inst.__name__}")
end

View file

@ -548,8 +548,6 @@ class TestIO < Test::Unit::TestCase
if have_nonblock?
def test_copy_stream_no_busy_wait
# JIT has busy wait on GC. It's hard to test this with JIT.
skip "MJIT has busy wait on GC. We can't test this with JIT." if RubyVM::MJIT.enabled?
skip "multiple threads already active" if Thread.list.size > 1
msg = 'r58534 [ruby-core:80969] [Backport #13533]'
@ -2147,12 +2145,6 @@ class TestIO < Test::Unit::TestCase
end
def test_autoclose_true_closed_by_finalizer
if RubyVM::MJIT.enabled?
# This is skipped but this test passes with AOT mode.
# At least it should not be a JIT compiler's bug.
skip "MJIT worker does IO which is unexpected for this test"
end
feature2250 = '[ruby-core:26222]'
pre = 'ft2250'
t = Tempfile.new(pre)

View file

@ -1614,7 +1614,7 @@ class TestProcess < Test::Unit::TestCase
Process.wait pid
assert sig_r.wait_readable(5), 'self-pipe not readable'
end
if RubyVM::MJIT.enabled? # MJIT may trigger extra SIGCHLD
if RubyVM::MJIT.enabled? # checking -DMJIT_FORCE_ENABLE. It may trigger extra SIGCHLD.
assert_equal [true], signal_received.uniq, "[ruby-core:19744]"
else
assert_equal [true], signal_received, "[ruby-core:19744]"

View file

@ -8,7 +8,7 @@ require_relative '../lib/jit_support'
class TestRubyOptions < Test::Unit::TestCase
NO_JIT_DESCRIPTION =
if RubyVM::MJIT.enabled?
if RubyVM::MJIT.enabled? # checking -DMJIT_FORCE_ENABLE
RUBY_DESCRIPTION.sub(/\+JIT /, '')
else
RUBY_DESCRIPTION
@ -117,7 +117,7 @@ class TestRubyOptions < Test::Unit::TestCase
def test_verbose
assert_in_out_err(["-vve", ""]) do |r, e|
assert_match(VERSION_PATTERN, r[0])
if RubyVM::MJIT.enabled? && !mjit_force_enabled?
if RubyVM::MJIT.enabled? && !mjit_force_enabled? # checking -DMJIT_FORCE_ENABLE
assert_equal(NO_JIT_DESCRIPTION, r[0])
else
assert_equal(RUBY_DESCRIPTION, r[0])
@ -180,7 +180,7 @@ class TestRubyOptions < Test::Unit::TestCase
def test_version
assert_in_out_err(%w(--version)) do |r, e|
assert_match(VERSION_PATTERN, r[0])
if RubyVM::MJIT.enabled?
if RubyVM::MJIT.enabled? # checking -DMJIT_FORCE_ENABLE
assert_equal(EnvUtil.invoke_ruby(['-e', 'print RUBY_DESCRIPTION'], '', true).first, r[0])
else
assert_equal(RUBY_DESCRIPTION, r[0])
@ -210,7 +210,7 @@ class TestRubyOptions < Test::Unit::TestCase
].each do |args|
assert_in_out_err(args) do |r, e|
assert_match(VERSION_PATTERN_WITH_JIT, r[0])
if RubyVM::MJIT.enabled?
if RubyVM::MJIT.enabled? # checking -DMJIT_FORCE_ENABLE
assert_equal(RUBY_DESCRIPTION, r[0])
else
assert_equal(EnvUtil.invoke_ruby(['--jit', '-e', 'print RUBY_DESCRIPTION'], '', true).first, r[0])

View file

@ -33,8 +33,6 @@ class TestThreadConditionVariable < Test::Unit::TestCase
end
def test_condvar_wait_exception_handling
skip "MJIT thread is unexpected for this test, especially with --jit-wait" if RubyVM::MJIT.enabled?
# Calling wait in the only thread running should raise a ThreadError of
# 'stopping only thread'
mutex = Mutex.new

View file

@ -5,7 +5,6 @@ require 'rubygems/util'
class TestGemUtil < Gem::TestCase
def test_class_popen
skip "MJIT executes process and it's caught by Process.wait(-1)" if defined?(RubyVM::MJIT) && RubyVM::MJIT.enabled?
assert_equal "0\n", Gem::Util.popen(Gem.ruby, '-I', File.expand_path('../../../lib', __FILE__), '-e', 'p 0')
assert_raises Errno::ECHILD do