diff --git a/test/lib/jit_support.rb b/test/lib/jit_support.rb index b443a6f3a8..26d3d97b8a 100644 --- a/test/lib/jit_support.rb +++ b/test/lib/jit_support.rb @@ -54,21 +54,21 @@ module JITSupport def supported? return @supported if defined?(@supported) - @supported = UNSUPPORTED_COMPILERS.all? do |regexp| + @supported = RbConfig::CONFIG["MJIT_SUPPORT"] != 'no' && UNSUPPORTED_COMPILERS.all? do |regexp| !regexp.match?(RbConfig::CONFIG['MJIT_CC']) - end && RbConfig::CONFIG["MJIT_SUPPORT"] != 'no' && !PENDING_RUBYCI_NICKNAMES.include?(ENV['RUBYCI_NICKNAME']) && !vs120_pdb_corrupted? && /mingw/ !~ RUBY_PLATFORM && /solaris/ !~ RUBY_PLATFORM # TODO: remove mingw / solaris exclusion after investigation + end && !appveyor_pdb_corrupted? && !PENDING_RUBYCI_NICKNAMES.include?(ENV['RUBYCI_NICKNAME']) && /mingw/ !~ RUBY_PLATFORM && /solaris/ !~ RUBY_PLATFORM # TODO: remove mingw / solaris exclusion after investigation end - # AppVeyor's Visual Studio 2013 is known to spuriously generate broken pch / pdb, like: + # AppVeyor's Visual Studio 2013 / 2015 are known to spuriously generate broken pch / pdb, like: # error C2859: c:\projects\ruby\x64-mswin_120\include\ruby-2.8.0\x64-mswin64_120\rb_mjit_header-2.8.0.pdb # is not the pdb file that was used when this precompiled header was created, recreate the precompiled header. # https://ci.appveyor.com/project/ruby/ruby/builds/32159878/job/l2p38snw8yxxpp8h # # Until we figure out why, this allows us to skip testing JIT when it happens. - def vs120_pdb_corrupted? + def appveyor_pdb_corrupted? return false unless ENV.key?('APPVEYOR') stdout, _stderr, _status = eval_with_jit_without_retry('proc {}.call', verbose: 2, min_calls: 1) - stdout.include?('x64-mswin64_120') && stdout.include?('.pdb is not the pdb file that was used when this precompiled header was created, recreate the precompiled header.') + stdout.include?('.pdb is not the pdb file that was used when this precompiled header was created, recreate the precompiled header.') end def remove_mjit_logs(stderr) diff --git a/test/ruby/test_jit.rb b/test/ruby/test_jit.rb index af96a7831e..63579f27aa 100644 --- a/test/ruby/test_jit.rb +++ b/test/ruby/test_jit.rb @@ -1179,7 +1179,7 @@ class TestJIT < Test::Unit::TestCase insns end - # `clang -g` on macOS creates a .dSYM file. Because it's only created on --jit-debug, + # `clang -g` on macOS creates a .dSYM directory. As it's only created on --jit-debug, # we're ignoring it for now. TODO: remove .dSYM file def leave_dsym? /darwin/ =~ RUBY_PLATFORM && @jit_debug