summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/rubygems/indexer.rb2
-rw-r--r--test/rubygems/helper.rb6
-rw-r--r--test/rubygems/test_gem_indexer.rb4
3 files changed, 12 insertions, 0 deletions
diff --git a/lib/rubygems/indexer.rb b/lib/rubygems/indexer.rb
index 6e8dade640..a5a86f4111 100644
--- a/lib/rubygems/indexer.rb
+++ b/lib/rubygems/indexer.rb
@@ -401,6 +401,8 @@ class Gem::Indexer
File.utime newest_mtime, newest_mtime, dst_name
end
+ ensure
+ FileUtils.rm_rf @directory
end
##
diff --git a/test/rubygems/helper.rb b/test/rubygems/helper.rb
index 75eed7be6b..7bd7dd0c3b 100644
--- a/test/rubygems/helper.rb
+++ b/test/rubygems/helper.rb
@@ -119,6 +119,12 @@ class Gem::TestCase < Test::Unit::TestCase
assert File.directory?(path), msg
end
+ def refute_directory_exists(path, msg = nil)
+ msg = build_message(msg, "Expected path '#{path}' not to be a directory")
+ assert_path_not_exist path
+ refute File.directory?(path), msg
+ end
+
# https://github.com/seattlerb/minitest/blob/21d9e804b63c619f602f3f4ece6c71b48974707a/lib/minitest/assertions.rb#L188
def _synchronize
yield
diff --git a/test/rubygems/test_gem_indexer.rb b/test/rubygems/test_gem_indexer.rb
index 6653f29adf..24afae5fcc 100644
--- a/test/rubygems/test_gem_indexer.rb
+++ b/test/rubygems/test_gem_indexer.rb
@@ -103,6 +103,8 @@ class TestGemIndexer < Gem::TestCase
assert_indexed @indexerdir, "latest_specs.#{@marshal_version}"
assert_indexed @indexerdir, "latest_specs.#{@marshal_version}.gz"
+
+ refute_directory_exists @indexer.directory
end
def test_generate_index_modern
@@ -342,6 +344,8 @@ class TestGemIndexer < Gem::TestCase
assert_includes pre_specs_index, @d2_1_a_tuple
refute_includes pre_specs_index, @d2_1_tuple
+
+ refute_directory_exists @indexer.directory
end
end