summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTakashi Kokubun <takashikkbn@gmail.com>2020-05-03 00:41:27 -0700
committerTakashi Kokubun <takashikkbn@gmail.com>2020-05-03 00:41:28 -0700
commita218cbdf31c30835f5785cdaf3af3f97965b77c4 (patch)
treee66c974bd216bf8f73aba33371d98ac4f497bbb2
parente0c023d1c8a22533b6cd3a5fa4bbcd4145f635b5 (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.rb10
-rw-r--r--test/ruby/test_jit.rb2
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