aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorTakashi Kokubun <takashikkbn@gmail.com>2022-08-27 12:05:41 -0700
committerTakashi Kokubun <takashikkbn@gmail.com>2022-08-27 12:05:45 -0700
commit95d2d7920c97d0502ebed4ba439177325ad05e57 (patch)
tree348ad840802ed32bd847c5afd498e03b2e73b6f0 /test
parent458d49a04ab7ce8a61be11fbaf341ee252b8253a (diff)
downloadruby-95d2d7920c97d0502ebed4ba439177325ad05e57.tar.gz
Try to prevent the failure of FileUtils.rm_rf
Diffstat (limited to 'test')
-rw-r--r--test/rubygems/helper.rb12
1 files changed, 7 insertions, 5 deletions
diff --git a/test/rubygems/helper.rb b/test/rubygems/helper.rb
index 23ea69ae0b..4e92ae827e 100644
--- a/test/rubygems/helper.rb
+++ b/test/rubygems/helper.rb
@@ -465,11 +465,13 @@ class Gem::TestCase < Test::Unit::TestCase
Dir.chdir @current_dir
- # FileUtils.rm_rf randomly fails on ci.rvm.jp trunk-mjit
- if ENV['RUBY_DEBUG']&.include?('ci')
- system('rm', '-rf', @tempdir)
- else
- FileUtils.rm_rf @tempdir
+ # Prevent a race condition on removing TMPDIR being written by MJIT
+ if defined?(RubyVM::MJIT.enabled?) && RubyVM::MJIT.enabled?
+ RubyVM::MJIT.pause
+ end
+ FileUtils.rm_rf @tempdir
+ if defined?(RubyVM::MJIT.enabled?) && RubyVM::MJIT.enabled?
+ RubyVM::MJIT.resume
end
ENV.replace(@orig_env)