summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2021-01-24 18:26:50 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2021-01-24 19:30:02 +0900
commit80bad36989bbc4ad6167fe9670327f95b78089ce (patch)
treee5bb4b609d4540248b58259ca2d9dc25ab90e9db
parent52ebaf718e6a78297ceb0dff49815eeed28eae45 (diff)
Remove temporary directory properly
For each `make check`, rubygems test makes "tmp" directory and some "gem_generate_index..." directories remain there. * Do not create a (fixed name) directory in the current working directory * Should remove its own temporary directory
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/4115
-rw-r--r--lib/rubygems/test_case.rb13
1 files changed, 3 insertions, 10 deletions
diff --git a/lib/rubygems/test_case.rb b/lib/rubygems/test_case.rb
index 83a3c446a7..2fbdd4fd88 100644
--- a/lib/rubygems/test_case.rb
+++ b/lib/rubygems/test_case.rb
@@ -301,9 +301,6 @@ class Gem::TestCase < Minitest::Test
def setup
@orig_env = ENV.to_hash
- @tmp = File.expand_path("tmp")
-
- FileUtils.mkdir_p @tmp
ENV['GEM_VENDOR'] = nil
ENV['GEMRC'] = nil
@@ -312,7 +309,6 @@ class Gem::TestCase < Minitest::Test
ENV['XDG_DATA_HOME'] = nil
ENV['SOURCE_DATE_EPOCH'] = nil
ENV['BUNDLER_VERSION'] = nil
- ENV["TMPDIR"] = @tmp
@current_dir = Dir.pwd
@fetcher = nil
@@ -323,13 +319,10 @@ class Gem::TestCase < Minitest::Test
# capture output
Gem::DefaultUserInteraction.ui = Gem::MockGemUi.new
- tmpdir = File.realpath Dir.tmpdir
+ tmpdir = File.realpath(Dir.mktmpdir("test_rubygems_"))
tmpdir.tap(&Gem::UNTAINT)
-
- @tempdir = File.join(tmpdir, "test_rubygems_#{$$}")
- @tempdir.tap(&Gem::UNTAINT)
-
- FileUtils.mkdir_p @tempdir
+ ENV["TMPDIR"] = @tmp = File.dirname(tmpdir)
+ @tempdir = tmpdir
@orig_SYSTEM_WIDE_CONFIG_FILE = Gem::ConfigFile::SYSTEM_WIDE_CONFIG_FILE
Gem::ConfigFile.send :remove_const, :SYSTEM_WIDE_CONFIG_FILE