mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
[rubygems/rubygems] Print error messages just once in verbose mode
When running a command with the `--verbose` flag that ends up raising a `BundlerError`, Bundler will unnecessarily print the error twice. This commit fixes the issue by removing the duplicate logging. https://github.com/rubygems/rubygems/commit/689004a164
This commit is contained in:
parent
8c6c3e30f3
commit
f9f85a513b
3 changed files with 35 additions and 13 deletions
|
@ -29,8 +29,11 @@ module Bundler
|
||||||
Bundler.ui.error error.message
|
Bundler.ui.error error.message
|
||||||
Bundler.ui.trace error.orig_exception
|
Bundler.ui.trace error.orig_exception
|
||||||
when BundlerError
|
when BundlerError
|
||||||
Bundler.ui.error error.message, :wrap => true
|
if Bundler.ui.debug?
|
||||||
Bundler.ui.trace error
|
Bundler.ui.trace error
|
||||||
|
else
|
||||||
|
Bundler.ui.error error.message, :wrap => true
|
||||||
|
end
|
||||||
when Thor::Error
|
when Thor::Error
|
||||||
Bundler.ui.error error.message
|
Bundler.ui.error error.message
|
||||||
when LoadError
|
when LoadError
|
||||||
|
|
|
@ -104,7 +104,6 @@ RSpec.describe Bundler, "friendly errors" do
|
||||||
expect(Bundler.ui).to receive(:error).with(error.message, :wrap => true)
|
expect(Bundler.ui).to receive(:error).with(error.message, :wrap => true)
|
||||||
Bundler::FriendlyErrors.log_error(error)
|
Bundler::FriendlyErrors.log_error(error)
|
||||||
end
|
end
|
||||||
it_behaves_like "Bundler.ui receive trace", Bundler::BundlerError.new
|
|
||||||
end
|
end
|
||||||
|
|
||||||
context "Thor::Error" do
|
context "Thor::Error" do
|
||||||
|
|
|
@ -294,17 +294,27 @@ RSpec.describe "bundle install with specific platforms" do
|
||||||
gem "sorbet-static", "0.5.6433"
|
gem "sorbet-static", "0.5.6433"
|
||||||
G
|
G
|
||||||
|
|
||||||
simulate_platform "arm64-darwin-21" do
|
error_message = <<~ERROR.strip
|
||||||
bundle "install", :raise_on_error => false
|
|
||||||
end
|
|
||||||
|
|
||||||
expect(err).to include <<~ERROR.rstrip
|
|
||||||
Could not find gem 'sorbet-static (= 0.5.6433) arm64-darwin-21' in rubygems repository #{file_uri_for(gem_repo2)}/ or installed locally.
|
Could not find gem 'sorbet-static (= 0.5.6433) arm64-darwin-21' in rubygems repository #{file_uri_for(gem_repo2)}/ or installed locally.
|
||||||
|
|
||||||
The source contains the following gems matching 'sorbet-static (= 0.5.6433)':
|
The source contains the following gems matching 'sorbet-static (= 0.5.6433)':
|
||||||
* sorbet-static-0.5.6433-universal-darwin-20
|
* sorbet-static-0.5.6433-universal-darwin-20
|
||||||
* sorbet-static-0.5.6433-x86_64-linux
|
* sorbet-static-0.5.6433-x86_64-linux
|
||||||
ERROR
|
ERROR
|
||||||
|
|
||||||
|
simulate_platform "arm64-darwin-21" do
|
||||||
|
bundle "install", :raise_on_error => false
|
||||||
|
end
|
||||||
|
|
||||||
|
expect(err).to include(error_message).once
|
||||||
|
|
||||||
|
# Make sure it doesn't print error twice in verbose mode
|
||||||
|
|
||||||
|
simulate_platform "arm64-darwin-21" do
|
||||||
|
bundle "install --verbose", :raise_on_error => false
|
||||||
|
end
|
||||||
|
|
||||||
|
expect(err).to include(error_message).once
|
||||||
end
|
end
|
||||||
|
|
||||||
it "does not resolve if the current platform does not match any of available platform specific variants for a transitive dependency" do
|
it "does not resolve if the current platform does not match any of available platform specific variants for a transitive dependency" do
|
||||||
|
@ -320,17 +330,27 @@ RSpec.describe "bundle install with specific platforms" do
|
||||||
gem "sorbet", "0.5.6433"
|
gem "sorbet", "0.5.6433"
|
||||||
G
|
G
|
||||||
|
|
||||||
simulate_platform "arm64-darwin-21" do
|
error_message = <<~ERROR.strip
|
||||||
bundle "install", :raise_on_error => false
|
|
||||||
end
|
|
||||||
|
|
||||||
expect(err).to include <<~ERROR.rstrip
|
|
||||||
Could not find gem 'sorbet-static (= 0.5.6433) arm64-darwin-21', which is required by gem 'sorbet (= 0.5.6433)', in rubygems repository #{file_uri_for(gem_repo2)}/ or installed locally.
|
Could not find gem 'sorbet-static (= 0.5.6433) arm64-darwin-21', which is required by gem 'sorbet (= 0.5.6433)', in rubygems repository #{file_uri_for(gem_repo2)}/ or installed locally.
|
||||||
|
|
||||||
The source contains the following gems matching 'sorbet-static (= 0.5.6433)':
|
The source contains the following gems matching 'sorbet-static (= 0.5.6433)':
|
||||||
* sorbet-static-0.5.6433-universal-darwin-20
|
* sorbet-static-0.5.6433-universal-darwin-20
|
||||||
* sorbet-static-0.5.6433-x86_64-linux
|
* sorbet-static-0.5.6433-x86_64-linux
|
||||||
ERROR
|
ERROR
|
||||||
|
|
||||||
|
simulate_platform "arm64-darwin-21" do
|
||||||
|
bundle "install", :raise_on_error => false
|
||||||
|
end
|
||||||
|
|
||||||
|
expect(err).to include(error_message).once
|
||||||
|
|
||||||
|
# Make sure it doesn't print error twice in verbose mode
|
||||||
|
|
||||||
|
simulate_platform "arm64-darwin-21" do
|
||||||
|
bundle "install --verbose", :raise_on_error => false
|
||||||
|
end
|
||||||
|
|
||||||
|
expect(err).to include(error_message).once
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
Loading…
Reference in a new issue