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

Skip pdb corruption on Visual Studio 2015 as well

It turned out that the pdb corruption happens on Visual Studio 2015 as
well.
32602953/job/3gj43q18wqeiy729
This commit is contained in:
Takashi Kokubun 2020-05-03 00:41:27 -07:00
parent e0c023d1c8
commit a218cbdf31
No known key found for this signature in database
GPG key ID: 6FFC433B12EE23DD
2 changed files with 6 additions and 6 deletions

View file

@ -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)

View file

@ -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