aboutsummaryrefslogtreecommitdiffstats
path: root/spec/install
diff options
context:
space:
mode:
authorThe Bundler Bot <bot@bundler.io>2016-12-24 20:30:09 +0000
committerThe Bundler Bot <bot@bundler.io>2016-12-24 20:30:09 +0000
commit44dc252655d89f8ac601a4758f0571a3629bbfe0 (patch)
tree3a0d0bce05ca6ef4c87aef76535e90b7f0b8ab39 /spec/install
parent857168ed707027c8c4eb913c25425dad8a4b0e11 (diff)
parent235e5d3eca1f16886a16d06a7a26b7294e3a18e8 (diff)
downloadbundler-44dc252655d89f8ac601a4758f0571a3629bbfe0.tar.gz
Auto merge of #5023 - renuo:4854-gemnotfound-error, r=segiddins
4854 gemnotfound error Fixes broken test Wanting to help out, I was on the outlook for something easy to fix in bundler. I stumbled upon this issue #4854, which was already tackled by @b-ggs but somehow not merged yet. I went on to check whether I could do something. Here's what I've come up with: @b-ggs' PR included everything to solve the issue, but introduced the use of `Bundler.app_cache` in the resolver. This works out just fine until you run `bundle plugin install`, which does not seem to require a Gemfile. `Bundler.app_cache` however calls `root`, which then again tries to find a Gemfile. This obviously fails and raises a `GemfileNotFound` exception. The error message "Could not locate Gemfile or .bundle/ directory" starts very similar to the one expected in the failing test ("Could not find"). This however, is a completely different error. The solution is now is to rescue the GemfileNotFound error when it comes up to here. All credit for solving the issue goes to @b-ggs and his PR here: https://github.com/bundler/bundler/pull/4865
Diffstat (limited to 'spec/install')
-rw-r--r--spec/install/post_bundle_message_spec.rb17
1 files changed, 16 insertions, 1 deletions
diff --git a/spec/install/post_bundle_message_spec.rb b/spec/install/post_bundle_message_spec.rb
index 10c71f0a..7e2eacfb 100644
--- a/spec/install/post_bundle_message_spec.rb
+++ b/spec/install/post_bundle_message_spec.rb
@@ -104,7 +104,22 @@ describe "post bundle message" do
gem "rack"
gem "not-a-gem", :group => :development
G
- expect(out).to include("Could not find gem 'not-a-gem' in any of the gem sources listed in your Gemfile or available on this machine.")
+ expect(out).to include("Could not find gem 'not-a-gem' in any of the gem sources listed in your Gemfile.")
+ end
+
+ it "should report a helpful error message with reference to cache if available" do
+ install_gemfile <<-G
+ source "file://#{gem_repo1}"
+ gem "rack"
+ G
+ bundle :cache
+ expect(bundled_app("vendor/cache/rack-1.0.0.gem")).to exist
+ install_gemfile <<-G
+ source "file://#{gem_repo1}"
+ gem "rack"
+ gem "not-a-gem", :group => :development
+ G
+ expect(out).to include("Could not find gem 'not-a-gem' in any of the gem sources listed in your Gemfile or in gems cached in vendor/cache.")
end
end
end