From 6ecb14df2cda223e2280891150b3f41c1eb2edf0 Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Wed, 21 Feb 2024 02:32:24 +0900 Subject: [PATCH] [rubygems/rubygems] Reset `Gem.state_file` along with `Gem.state_home` As `Gem.state_file` is placed under `Gem.state_home` directory, when the latter is reset, also the former should be reset. If left unreset, the file for a previously run test will be re-created and will not be deleted. https://github.com/rubygems/rubygems/commit/1378d07afd --- test/rubygems/helper.rb | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/test/rubygems/helper.rb b/test/rubygems/helper.rb index f830523586..c33d1bba21 100644 --- a/test/rubygems/helper.rb +++ b/test/rubygems/helper.rb @@ -76,6 +76,8 @@ class Gem::TestCase < Test::Unit::TestCase attr_accessor :uri # :nodoc: + @@tempdirs = [] + def assert_activate(expected, *specs) specs.each do |spec| case spec @@ -287,7 +289,8 @@ class Gem::TestCase < Test::Unit::TestCase FileUtils.mkdir_p @tmp - @tempdir = Dir.mktmpdir("test_rubygems_", @tmp) + @tempdir = Dir.mktmpdir(method_name.to_s, @tmp) + @@tempdirs << @tempdir ENV["GEM_VENDOR"] = nil ENV["GEMRC"] = nil @@ -354,6 +357,7 @@ class Gem::TestCase < Test::Unit::TestCase Gem.instance_variable_set :@config_home, nil Gem.instance_variable_set :@data_home, nil Gem.instance_variable_set :@state_home, @statehome + Gem.instance_variable_set :@state_file, nil Gem.instance_variable_set :@gemdeps, nil Gem.instance_variable_set :@env_requirements_by_name, nil Gem.send :remove_instance_variable, :@ruby_version if @@ -470,6 +474,8 @@ class Gem::TestCase < Test::Unit::TestCase end @back_ui.close + + assert_empty @@tempdirs.select {|tempdir| File.exist?(tempdir) } end def credential_setup