diff options
author | Takashi Kokubun <takashikkbn@gmail.com> | 2020-05-03 00:41:27 -0700 |
---|---|---|
committer | Takashi Kokubun <takashikkbn@gmail.com> | 2020-05-03 00:41:28 -0700 |
commit | a218cbdf31c30835f5785cdaf3af3f97965b77c4 (patch) | |
tree | e66c974bd216bf8f73aba33371d98ac4f497bbb2 | |
parent | e0c023d1c8a22533b6cd3a5fa4bbcd4145f635b5 (diff) |
Skip pdb corruption on Visual Studio 2015 as well
It turned out that the pdb corruption happens on Visual Studio 2015 as
well.
https://ci.appveyor.com/project/ruby/ruby/builds/32602953/job/3gj43q18wqeiy729
-rw-r--r-- | test/lib/jit_support.rb | 10 | ||||
-rw-r--r-- | test/ruby/test_jit.rb | 2 |
2 files changed, 6 insertions, 6 deletions
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 |