diff options
author | The Bundler Bot <bot@bundler.io> | 2016-12-24 20:30:09 +0000 |
---|---|---|
committer | The Bundler Bot <bot@bundler.io> | 2016-12-24 20:30:09 +0000 |
commit | 44dc252655d89f8ac601a4758f0571a3629bbfe0 (patch) | |
tree | 3a0d0bce05ca6ef4c87aef76535e90b7f0b8ab39 /spec/commands | |
parent | 857168ed707027c8c4eb913c25425dad8a4b0e11 (diff) | |
parent | 235e5d3eca1f16886a16d06a7a26b7294e3a18e8 (diff) | |
download | bundler-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/commands')
-rw-r--r-- | spec/commands/exec_spec.rb | 2 | ||||
-rw-r--r-- | spec/commands/lock_spec.rb | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/spec/commands/exec_spec.rb b/spec/commands/exec_spec.rb index 5d1a63e6..cb4daa46 100644 --- a/spec/commands/exec_spec.rb +++ b/spec/commands/exec_spec.rb @@ -555,7 +555,7 @@ describe "bundle exec" do let(:exit_code) { Bundler::GemNotFound.new.status_code } let(:expected) { <<-EOS.strip } -\e[31mCould not find gem 'rack (= 2)' in any of the gem sources listed in your Gemfile or available on this machine.\e[0m +\e[31mCould not find gem 'rack (= 2)' in any of the gem sources listed in your Gemfile.\e[0m \e[33mRun `bundle install` to install missing gems.\e[0m EOS diff --git a/spec/commands/lock_spec.rb b/spec/commands/lock_spec.rb index b51003f2..52dfa23b 100644 --- a/spec/commands/lock_spec.rb +++ b/spec/commands/lock_spec.rb @@ -87,7 +87,7 @@ describe "bundle lock" do it "does not fetch remote specs when using the --local option" do bundle "lock --update --local" - expect(out).to include("available on this machine.") + expect(out).to include("sources listed in your Gemfile") end it "writes to a custom location using --lockfile" do |