[前][次][番号順一覧][スレッド一覧]

ruby-changes:60991

From: Takashi <ko1@a...>
Date: Sun, 3 May 2020 16:42:22 +0900 (JST)
Subject: [ruby-changes:60991] a218cbdf31 (master): Skip pdb corruption on Visual Studio 2015 as well

https://git.ruby-lang.org/ruby.git/commit/?id=a218cbdf31

From a218cbdf31c30835f5785cdaf3af3f97965b77c4 Mon Sep 17 00:00:00 2001
From: Takashi Kokubun <takashikkbn@g...>
Date: Sun, 3 May 2020 00:41:27 -0700
Subject: 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

diff --git a/test/lib/jit_support.rb b/test/lib/jit_support.rb
index b443a6f..26d3d97 100644
--- a/test/lib/jit_support.rb
+++ b/test/lib/jit_support.rb
@@ -54,21 +54,21 @@ module JITSupport https://github.com/ruby/ruby/blob/trunk/test/lib/jit_support.rb#L54
 
   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 af96a78..63579f2 100644
--- a/test/ruby/test_jit.rb
+++ b/test/ruby/test_jit.rb
@@ -1179,7 +1179,7 @@ class TestJIT < Test::Unit::TestCase https://github.com/ruby/ruby/blob/trunk/test/ruby/test_jit.rb#L1179
     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
-- 
cgit v0.10.2


--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]