diff options
| author | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2024-02-21 02:32:24 +0900 |
|---|---|---|
| committer | git <svn-admin@ruby-lang.org> | 2024-02-21 08:14:34 +0000 |
| commit | 6ecb14df2cda223e2280891150b3f41c1eb2edf0 (patch) | |
| tree | fdc5dfd3160cbd10d3998b5b49a250bcc2da7ec6 | |
| parent | 1fa4d15ca732f64616161739a50f57c287e17402 (diff) | |
[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
| -rw-r--r-- | test/rubygems/helper.rb | 8 |
1 files changed, 7 insertions, 1 deletions
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 |
