Show helpful error if importing VM fails
This commit is contained in:
parent
47d46d4b12
commit
1bf70fd4c4
|
@ -8,6 +8,7 @@ module Vagrant
|
|||
logger.info "Importing base VM (#{Vagrant::Env.box.ovf_file})..."
|
||||
# Use the first argument passed to the action
|
||||
@runner.vm = VirtualBox::VM.import(Vagrant::Env.box.ovf_file)
|
||||
raise ActionException.new("The VM import failed! Try running `VBoxManage import` on the box file manually for more verbose error output.") unless @runner.vm
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -23,14 +23,21 @@ class ImportActionTest < Test::Unit::TestCase
|
|||
end
|
||||
|
||||
should "call import on VirtualBox::VM with the proper base" do
|
||||
VirtualBox::VM.expects(:import).once.with(@ovf_file)
|
||||
@import.execute!
|
||||
VirtualBox::VM.expects(:import).once.with(@ovf_file).returns("foo")
|
||||
assert_nothing_raised { @import.execute! }
|
||||
end
|
||||
|
||||
should "raise an exception if import is nil" do
|
||||
@mock_vm.expects(:vm).returns(nil)
|
||||
assert_raises(Vagrant::Actions::ActionException) {
|
||||
@import.execute!
|
||||
}
|
||||
end
|
||||
|
||||
should "set the resulting VM as the VM of the Vagrant VM object" do
|
||||
new_vm = mock("new_vm")
|
||||
@mock_vm.expects(:vm=).with(new_vm).once
|
||||
VirtualBox::VM.expects(:import).returns(new_vm)
|
||||
VirtualBox::VM.expects(:import).returns(new_vm).returns("foo")
|
||||
@import.execute!
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue