From e38a0b46067fd261a88be608787927ccdf5b7877 Mon Sep 17 00:00:00 2001 From: k0kubun Date: Mon, 22 Oct 2018 15:49:22 +0000 Subject: 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 --- test/-ext-/gvl/test_last_thread.rb | 4 ---- test/lib/jit_support.rb | 2 +- test/lib/minitest/unit.rb | 2 +- test/ruby/test_io.rb | 8 -------- test/ruby/test_process.rb | 2 +- test/ruby/test_rubyoptions.rb | 8 ++++---- test/ruby/test_thread_cv.rb | 2 -- test/rubygems/test_gem_util.rb | 1 - 8 files changed, 7 insertions(+), 22 deletions(-) (limited to 'test') diff --git a/test/-ext-/gvl/test_last_thread.rb b/test/-ext-/gvl/test_last_thread.rb index 7f75c0ef9c..6808e963bf 100644 --- a/test/-ext-/gvl/test_last_thread.rb +++ b/test/-ext-/gvl/test_last_thread.rb @@ -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' diff --git a/test/lib/jit_support.rb b/test/lib/jit_support.rb index d70709b87f..fa1402e4b4 100644 --- a/test/lib/jit_support.rb +++ b/test/lib/jit_support.rb @@ -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 diff --git a/test/lib/minitest/unit.rb b/test/lib/minitest/unit.rb index 81b9d7deae..25fd15d093 100644 --- a/test/lib/minitest/unit.rb +++ b/test/lib/minitest/unit.rb @@ -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 diff --git a/test/ruby/test_io.rb b/test/ruby/test_io.rb index 2ccf25f1df..3faa4e1fdb 100644 --- a/test/ruby/test_io.rb +++ b/test/ruby/test_io.rb @@ -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) diff --git a/test/ruby/test_process.rb b/test/ruby/test_process.rb index 23e4f01c91..96660e5d16 100644 --- a/test/ruby/test_process.rb +++ b/test/ruby/test_process.rb @@ -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]" diff --git a/test/ruby/test_rubyoptions.rb b/test/ruby/test_rubyoptions.rb index 429f72b41c..4a26d6bfc7 100644 --- a/test/ruby/test_rubyoptions.rb +++ b/test/ruby/test_rubyoptions.rb @@ -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]) diff --git a/test/ruby/test_thread_cv.rb b/test/ruby/test_thread_cv.rb index 4161ba2341..38bcc3b8fa 100644 --- a/test/ruby/test_thread_cv.rb +++ b/test/ruby/test_thread_cv.rb @@ -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 diff --git a/test/rubygems/test_gem_util.rb b/test/rubygems/test_gem_util.rb index 59f042c8f2..93171f0813 100644 --- a/test/rubygems/test_gem_util.rb +++ b/test/rubygems/test_gem_util.rb @@ -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 -- cgit v1.2.3