summaryrefslogtreecommitdiff
path: root/test/ruby/test_jit.rb
diff options
context:
space:
mode:
authorTakashi Kokubun <takashikkbn@gmail.com>2020-05-03 00:33:56 -0700
committerTakashi Kokubun <takashikkbn@gmail.com>2020-05-03 00:34:03 -0700
commite0c023d1c8a22533b6cd3a5fa4bbcd4145f635b5 (patch)
tree14517fabf097b67e9dd2aa019e4a183f84e20143 /test/ruby/test_jit.rb
parente49ecaed57181c10bf01e1f84b9eead65a759386 (diff)
Skip only .dSYM cleanup on macOS
Fix https://github.com/ruby/ruby/runs/636020145 without skipping too many tests. It seems that .c -> .o with debug flags and .o -> .so without debug flags did not generate .dSYM but now .c -> .so with debug flags seems to generate a .dSYM directory. As --jit-debug should not be used by normal users, let me skip implementing the removal for now.
Diffstat (limited to 'test/ruby/test_jit.rb')
-rw-r--r--test/ruby/test_jit.rb14
1 files changed, 10 insertions, 4 deletions
diff --git a/test/ruby/test_jit.rb b/test/ruby/test_jit.rb
index a5d5fb45a9..af96a7831e 100644
--- a/test/ruby/test_jit.rb
+++ b/test/ruby/test_jit.rb
@@ -720,7 +720,7 @@ class TestJIT < Test::Unit::TestCase
skip 'Removing so file is randomly failing on AppVeyor/RubyCI mswin due to Permission Denied.'
else
# verify .c files are deleted on unload_units
- assert_send([Dir, :empty?, dir], debug_info)
+ assert_send([Dir, :empty?, dir], debug_info) unless leave_dsym?
end
end
end
@@ -939,7 +939,7 @@ class TestJIT < Test::Unit::TestCase
Dir.mktmpdir("jit_test_clean_so_") do |dir|
code = "x = 0; 10.times {|i|x+=i}"
eval_with_jit({"TMPDIR"=>dir}, code)
- assert_send([Dir, :empty?, dir])
+ assert_send([Dir, :empty?, dir]) unless leave_dsym?
eval_with_jit({"TMPDIR"=>dir}, code, save_temps: true)
assert_not_send([Dir, :empty?, dir])
end
@@ -957,7 +957,7 @@ class TestJIT < Test::Unit::TestCase
exec "true"
end;
error_message = "Undeleted files:\n #{Dir.glob("#{dir}/*").join("\n ")}\n"
- assert_send([Dir, :empty?, dir], error_message)
+ assert_send([Dir, :empty?, dir], error_message) unless leave_dsym?
end
end
@@ -1083,7 +1083,7 @@ class TestJIT < Test::Unit::TestCase
assert_equal("Successful MJIT finish\n" * 2, err.gsub(/^#{JIT_SUCCESS_PREFIX}:[^\n]+\n/, ''), debug_info)
# ensure objects are deleted
- assert_send([Dir, :empty?, dir], debug_info)
+ assert_send([Dir, :empty?, dir], debug_info) unless leave_dsym?
end
end if defined?(fork)
@@ -1178,4 +1178,10 @@ class TestJIT < Test::Unit::TestCase
end
insns
end
+
+ # `clang -g` on macOS creates a .dSYM file. Because 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
+ end
end