Fixes #10463: Display version update on stderr instead of stdout

This commit updates the behavior of printing the checkpoint version
check for Vagrant. To allow users to filter out the message, it updates
the version check to go to stderr. It updates the UI class for printing
the version check to be a "basic" class, so that the message continues
to be the same color instead of a red error message.
This commit is contained in:
Brian Cain 2018-12-04 15:40:28 -08:00
parent b781331e88
commit 4a7bff3325
No known key found for this signature in database
GPG Key ID: 9FC4639B2E4510A0
2 changed files with 4 additions and 4 deletions

View File

@ -159,11 +159,11 @@ module Vagrant
def version_check
latest_version = Gem::Version.new(result["current_version"])
installed_version = Gem::Version.new(VERSION)
ui = Vagrant::UI::Prefixed.new(env.ui, "vagrant")
ui = Vagrant::UI::Prefixed.new(Vagrant::UI::Basic.new, "vagrant")
if latest_version > installed_version
@logger.info("new version of Vagrant available - #{latest_version}")
ui.info(I18n.t("vagrant.version_upgrade_available", latest_version: latest_version, installed_version: installed_version))
env.ui.info("")
ui.error(I18n.t("vagrant.version_upgrade_available", latest_version: latest_version, installed_version: installed_version))
env.ui.error("")
else
@logger.debug("vagrant is currently up to date")
end

View File

@ -175,7 +175,7 @@ describe Vagrant::Util::CheckpointClient do
let(:result) { {"current_version" => new_version} }
it "should not display upgrade information" do
expect(prefixed_ui).not_to receive(:info).at_least(:once)
expect(prefixed_ui).not_to receive(:error).at_least(:once)
subject.version_check
end
end