diff --git a/plugins/providers/virtualbox/provider.rb b/plugins/providers/virtualbox/provider.rb index e8e4d8e8f..f7a86c920 100644 --- a/plugins/providers/virtualbox/provider.rb +++ b/plugins/providers/virtualbox/provider.rb @@ -23,7 +23,8 @@ module VagrantPlugins rescue Vagrant::Errors::VirtualBoxInvalidVersion, Vagrant::Errors::VirtualBoxNotDetected, Vagrant::Errors::VirtualBoxKernelModuleNotLoaded, - Vagrant::Errors::VirtualBoxInstallIncomplete + Vagrant::Errors::VirtualBoxInstallIncomplete, + Vagrant::Errors::VBoxManageNotFoundError raise if raise_error return false end diff --git a/test/unit/plugins/providers/virtualbox/provider_test.rb b/test/unit/plugins/providers/virtualbox/provider_test.rb index 5e3dedda2..dabe45369 100644 --- a/test/unit/plugins/providers/virtualbox/provider_test.rb +++ b/test/unit/plugins/providers/virtualbox/provider_test.rb @@ -63,6 +63,14 @@ describe VagrantPlugins::ProviderVirtualBox::Provider do expect { subject.usable?(true) }. to raise_error(Vagrant::Errors::VirtualBoxInstallIncomplete) end + + it "raises an exception if VBoxManage is not found" do + allow(VagrantPlugins::ProviderVirtualBox::Driver::Meta).to receive(:new). + and_raise(Vagrant::Errors::VBoxManageNotFoundError) + + expect { subject.usable?(true) }. + to raise_error(Vagrant::Errors::VBoxManageNotFoundError) + end end describe "#driver" do