diff options
author | Yusuke Endoh <mame@ruby-lang.org> | 2019-10-29 14:34:31 +0900 |
---|---|---|
committer | Yusuke Endoh <mame@ruby-lang.org> | 2019-10-29 14:40:26 +0900 |
commit | 7bf51ced5571d6180722f2be1b50c048a02b2e70 (patch) | |
tree | 772af756f28ecb3136ec4c7e2eb37288a0ee6ad1 | |
parent | 79a7fd91208989d180027a9fed63db76b0a08cc1 (diff) | |
download | ruby-7bf51ced5571d6180722f2be1b50c048a02b2e70.tar.gz |
test/rubygems/test_gem.rb: early failure when there is /tmp/Gemfile
Some test cases in rubygems assume that /tmp/Gemfile does not exist.
If it does, they fail with very difficult-to-understand message:
```
[ 149/2108] TestGemBundlerVersionFinder#test_bundler_version_with_bundle_update_bundler = 0.00
1) Failure:
TestGemBundlerVersionFinder#test_bundler_version_with_bundle_update_bundler [/home/mame/work/ruby/test/rubygems/test_gem_bundler_version_finder.rb:38]:
Expected Gem::Version.new("2.0.2") to be nil.
```
I spent one hour to debug this issue. To prevent the same accident,
this change makes the test suite stop when /tmp/Gemfile explicitly.
-rw-r--r-- | test/rubygems/test_gem.rb | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/test/rubygems/test_gem.rb b/test/rubygems/test_gem.rb index 110eef6c7f..23f8249e34 100644 --- a/test/rubygems/test_gem.rb +++ b/test/rubygems/test_gem.rb @@ -7,6 +7,10 @@ require 'pathname' require 'tmpdir' require 'rbconfig' +if File.exist?(File.join(Dir.tmpdir, "Gemfile")) + raise "rubygems/bundler tests do not work correctly if there is #{ File.join(Dir.tmpdir, "Gemfile") }" +end + # TODO: push this up to test_case.rb once battle tested $LOAD_PATH.map! do |path| |