Box existence error checking is now in proper 'require_box'
This commit is contained in:
parent
49c98ad8af
commit
6fd10504e0
|
@ -60,18 +60,9 @@ module Vagrant
|
||||||
end
|
end
|
||||||
|
|
||||||
def load_box!
|
def load_box!
|
||||||
if Vagrant.config.vm.box
|
@@box = Box.find(Vagrant.config.vm.box) if Vagrant.config.vm.box
|
||||||
@@box = Box.find(Vagrant.config.vm.box)
|
|
||||||
|
|
||||||
if !@@box
|
|
||||||
error_and_exit(<<-msg)
|
|
||||||
Specified box `#{Vagrant.config.vm.box}` does not exist!
|
|
||||||
|
|
||||||
The box must be added through the `vagrant box add` command. Please view
|
|
||||||
the documentation associated with the command for more information.
|
|
||||||
msg
|
|
||||||
end
|
|
||||||
|
|
||||||
|
if @@box
|
||||||
logger.info("Reloading configuration to account for loaded box...")
|
logger.info("Reloading configuration to account for loaded box...")
|
||||||
load_config!
|
load_config!
|
||||||
end
|
end
|
||||||
|
@ -114,11 +105,20 @@ msg
|
||||||
|
|
||||||
def require_box
|
def require_box
|
||||||
if !box
|
if !box
|
||||||
|
if !Vagrant.config.vm.box
|
||||||
error_and_exit(<<-msg)
|
error_and_exit(<<-msg)
|
||||||
No base box was specified! A base box is required as a staring point
|
No base box was specified! A base box is required as a staring point
|
||||||
for every vagrant virtual machine. Please specify one in your Vagrantfile
|
for every vagrant virtual machine. Please specify one in your Vagrantfile
|
||||||
using `config.vm.box`
|
using `config.vm.box`
|
||||||
msg
|
msg
|
||||||
|
else
|
||||||
|
error_and_exit(<<-msg)
|
||||||
|
Specified box `#{Vagrant.config.vm.box}` does not exist!
|
||||||
|
|
||||||
|
The box must be added through the `vagrant box add` command. Please view
|
||||||
|
the documentation associated with the command for more information.
|
||||||
|
msg
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -249,18 +249,32 @@ class EnvTest < Test::Unit::TestCase
|
||||||
Vagrant::Box.expects(:find).returns(@box)
|
Vagrant::Box.expects(:find).returns(@box)
|
||||||
Vagrant::Env.load_box!
|
Vagrant::Env.load_box!
|
||||||
end
|
end
|
||||||
|
|
||||||
should "error and exit if a box is specified but doesn't exist" do
|
|
||||||
Vagrant::Box.expects(:find).returns(nil)
|
|
||||||
Vagrant::Env.expects(:error_and_exit).once
|
|
||||||
Vagrant::Env.load_box!
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
context "requiring boxes" do
|
context "requiring boxes" do
|
||||||
should "error and exit if no box is found" do
|
should "error and exit if no box is found" do
|
||||||
|
mock_config do |config|
|
||||||
|
config.vm.box = nil
|
||||||
|
end
|
||||||
|
|
||||||
Vagrant::Env.expects(:box).returns(nil)
|
Vagrant::Env.expects(:box).returns(nil)
|
||||||
Vagrant::Env.expects(:error_and_exit).once
|
Vagrant::Env.expects(:error_and_exit).once.with() do |msg|
|
||||||
|
assert msg =~ /no base box was specified/i
|
||||||
|
true
|
||||||
|
end
|
||||||
|
Vagrant::Env.require_box
|
||||||
|
end
|
||||||
|
|
||||||
|
should "error and exit if box is specified but doesn't exist" do
|
||||||
|
mock_config do |config|
|
||||||
|
config.vm.box = "foo"
|
||||||
|
end
|
||||||
|
|
||||||
|
Vagrant::Env.expects(:box).returns(nil)
|
||||||
|
Vagrant::Env.expects(:error_and_exit).once.with() do |msg|
|
||||||
|
assert msg =~ /does not exist/i
|
||||||
|
true
|
||||||
|
end
|
||||||
Vagrant::Env.require_box
|
Vagrant::Env.require_box
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue