diff options
author | Takashi Kokubun <takashikkbn@gmail.com> | 2022-08-27 12:05:41 -0700 |
---|---|---|
committer | Takashi Kokubun <takashikkbn@gmail.com> | 2022-08-27 12:05:45 -0700 |
commit | 95d2d7920c97d0502ebed4ba439177325ad05e57 (patch) | |
tree | 348ad840802ed32bd847c5afd498e03b2e73b6f0 /test | |
parent | 458d49a04ab7ce8a61be11fbaf341ee252b8253a (diff) | |
download | ruby-95d2d7920c97d0502ebed4ba439177325ad05e57.tar.gz |
Try to prevent the failure of FileUtils.rm_rf
Diffstat (limited to 'test')
-rw-r--r-- | test/rubygems/helper.rb | 12 |
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) |