diff --git a/bundler/lib/bundler/cli/cache.rb b/bundler/lib/bundler/cli/cache.rb index 9cd6133879ac..c8698ed7e38e 100644 --- a/bundler/lib/bundler/cli/cache.rb +++ b/bundler/lib/bundler/cli/cache.rb @@ -9,7 +9,7 @@ def initialize(options) end def run - Bundler.ui.level = "error" if options[:quiet] + Bundler.ui.level = "warn" if options[:quiet] Bundler.settings.set_command_option_if_given :path, options[:path] Bundler.settings.set_command_option_if_given :cache_path, options["cache-path"] diff --git a/bundler/lib/bundler/cli/doctor.rb b/bundler/lib/bundler/cli/doctor.rb index 959b1b5e049f..c28997bc7ddb 100644 --- a/bundler/lib/bundler/cli/doctor.rb +++ b/bundler/lib/bundler/cli/doctor.rb @@ -61,7 +61,7 @@ def check! end def run - Bundler.ui.level = "error" if options[:quiet] + Bundler.ui.level = "warn" if options[:quiet] Bundler.settings.validate! check! diff --git a/bundler/lib/bundler/cli/install.rb b/bundler/lib/bundler/cli/install.rb index 5e39e2a36d6d..c86d8d31e3fa 100644 --- a/bundler/lib/bundler/cli/install.rb +++ b/bundler/lib/bundler/cli/install.rb @@ -8,7 +8,7 @@ def initialize(options) end def run - Bundler.ui.level = "error" if options[:quiet] + Bundler.ui.level = "warn" if options[:quiet] warn_if_root diff --git a/bundler/lib/bundler/cli/update.rb b/bundler/lib/bundler/cli/update.rb index cf6a5b26d3e2..1adcaef67cfb 100644 --- a/bundler/lib/bundler/cli/update.rb +++ b/bundler/lib/bundler/cli/update.rb @@ -9,7 +9,7 @@ def initialize(options, gems) end def run - Bundler.ui.level = "error" if options[:quiet] + Bundler.ui.level = "warn" if options[:quiet] Plugin.gemfile_install(Bundler.default_gemfile) if Bundler.feature_flag.plugins? diff --git a/bundler/spec/commands/install_spec.rb b/bundler/spec/commands/install_spec.rb index 478ee9c38a37..789fd9b5c0c0 100644 --- a/bundler/spec/commands/install_spec.rb +++ b/bundler/spec/commands/install_spec.rb @@ -585,7 +585,20 @@ end describe "when requesting a quiet install via --quiet" do - it "should be quiet" do + it "should be quiet if there are no warnings" do + bundle "config set force_ruby_platform true" + + gemfile <<-G + source "#{file_uri_for(gem_repo1)}" + gem 'rack' + G + + bundle :install, :quiet => true + expect(out).to be_empty + expect(err).to be_empty + end + + it "should still display warnings and errors" do bundle "config set force_ruby_platform true" create_file("install_with_warning.rb", <<~RUBY) @@ -611,8 +624,9 @@ def run G bundle :install, :quiet => true, :raise_on_error => false, :env => { "RUBYOPT" => "-r#{bundled_app("install_with_warning.rb")}" } + expect(out).to be_empty expect(err).to include("Could not find gem 'non-existing-gem'") - expect(err).not_to include("BOOOOO") + expect(err).to include("BOOOOO") end end