Disable Vagrantfile validation completely on load. see coming commits...
This commit is contained in:
parent
ed5df8d90d
commit
6337cefb8b
|
@ -68,13 +68,9 @@ module Vagrant
|
||||||
# and returns the final configured object. This also validates the
|
# and returns the final configured object. This also validates the
|
||||||
# configuration by calling {Top#validate!} on every configuration
|
# configuration by calling {Top#validate!} on every configuration
|
||||||
# class.
|
# class.
|
||||||
def execute!(validate=true)
|
def execute!
|
||||||
config_object ||= config
|
config_object ||= config
|
||||||
run_procs!(config_object)
|
run_procs!(config_object)
|
||||||
|
|
||||||
# Validate if we're looking at a config object which represents a
|
|
||||||
# real VM.
|
|
||||||
config_object.validate! if validate && config_object.env.vm
|
|
||||||
config_object
|
config_object
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -90,7 +86,7 @@ module Vagrant
|
||||||
|
|
||||||
# Loads the queue of files/procs, executes them in the proper
|
# Loads the queue of files/procs, executes them in the proper
|
||||||
# sequence, and returns the resulting configuration object.
|
# sequence, and returns the resulting configuration object.
|
||||||
def load!(validate=true)
|
def load!
|
||||||
self.class.reset!(@env)
|
self.class.reset!(@env)
|
||||||
|
|
||||||
queue.flatten.each do |item|
|
queue.flatten.each do |item|
|
||||||
|
@ -106,7 +102,7 @@ module Vagrant
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
return self.class.execute!(validate)
|
return self.class.execute!
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -313,7 +313,7 @@ module Vagrant
|
||||||
|
|
||||||
# Execute the configuration stack and store the result as the final
|
# Execute the configuration stack and store the result as the final
|
||||||
# value in the config ivar.
|
# value in the config ivar.
|
||||||
@config = loader.load!(!first_run)
|
@config = loader.load!
|
||||||
|
|
||||||
# (re)load the logger
|
# (re)load the logger
|
||||||
@logger = nil
|
@logger = nil
|
||||||
|
|
|
@ -9,8 +9,6 @@ class ConfigTest < Test::Unit::TestCase
|
||||||
setup do
|
setup do
|
||||||
@env = vagrant_env
|
@env = vagrant_env
|
||||||
@instance = @klass.new(@env)
|
@instance = @klass.new(@env)
|
||||||
|
|
||||||
@klass::Top.any_instance.stubs(:validate!)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
should "initially have an empty queue" do
|
should "initially have an empty queue" do
|
||||||
|
@ -20,17 +18,10 @@ class ConfigTest < Test::Unit::TestCase
|
||||||
should "reset the config class on load, then execute" do
|
should "reset the config class on load, then execute" do
|
||||||
seq = sequence("sequence")
|
seq = sequence("sequence")
|
||||||
@klass.expects(:reset!).with(@env).in_sequence(seq)
|
@klass.expects(:reset!).with(@env).in_sequence(seq)
|
||||||
@klass.expects(:execute!).with(true).in_sequence(seq)
|
@klass.expects(:execute!).in_sequence(seq)
|
||||||
@instance.load!
|
@instance.load!
|
||||||
end
|
end
|
||||||
|
|
||||||
should "not validate if told not to" do
|
|
||||||
seq = sequence("sequence")
|
|
||||||
@klass.expects(:reset!).with(@env).in_sequence(seq)
|
|
||||||
@klass.expects(:execute!).with(false).in_sequence(seq)
|
|
||||||
@instance.load!(false)
|
|
||||||
end
|
|
||||||
|
|
||||||
should "run the queue in the order given" do
|
should "run the queue in the order given" do
|
||||||
@instance.queue << Proc.new { |config| config.vm.box = "foo" }
|
@instance.queue << Proc.new { |config| config.vm.box = "foo" }
|
||||||
@instance.queue << Proc.new { |config| config.vm.box = "bar" }
|
@instance.queue << Proc.new { |config| config.vm.box = "bar" }
|
||||||
|
@ -113,7 +104,6 @@ class ConfigTest < Test::Unit::TestCase
|
||||||
context "initializing" do
|
context "initializing" do
|
||||||
setup do
|
setup do
|
||||||
@klass.reset!(vagrant_env)
|
@klass.reset!(vagrant_env)
|
||||||
@klass::Top.any_instance.stubs(:validate!)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
should "add the given block to the proc stack" do
|
should "add the given block to the proc stack" do
|
||||||
|
@ -122,29 +112,6 @@ class ConfigTest < Test::Unit::TestCase
|
||||||
assert_equal [proc], @klass.proc_stack
|
assert_equal [proc], @klass.proc_stack
|
||||||
end
|
end
|
||||||
|
|
||||||
should "run the validation on an environment which represents a VM" do
|
|
||||||
@klass.reset!(vagrant_env.vms[:default].env)
|
|
||||||
seq = sequence('seq')
|
|
||||||
@klass.expects(:run_procs!).with(@klass.config).once.in_sequence(seq)
|
|
||||||
@klass.config.expects(:validate!).once.in_sequence(seq)
|
|
||||||
@klass.execute!
|
|
||||||
end
|
|
||||||
|
|
||||||
should "not run the validation on an environment that doesn't directly represent a VM" do
|
|
||||||
seq = sequence('seq')
|
|
||||||
@klass.expects(:run_procs!).with(@klass.config).once.in_sequence(seq)
|
|
||||||
@klass.expects(:validate!).never
|
|
||||||
@klass.execute!
|
|
||||||
end
|
|
||||||
|
|
||||||
should "not run the validation if explicitly told not to" do
|
|
||||||
@klass.reset!(vagrant_env.vms[:default].env)
|
|
||||||
seq = sequence('seq')
|
|
||||||
@klass.expects(:run_procs!).with(@klass.config).once.in_sequence(seq)
|
|
||||||
@klass.config.expects(:validate!).never
|
|
||||||
@klass.execute!(false)
|
|
||||||
end
|
|
||||||
|
|
||||||
should "return the configuration on execute!" do
|
should "return the configuration on execute!" do
|
||||||
@klass.run {}
|
@klass.run {}
|
||||||
result = @klass.execute!
|
result = @klass.execute!
|
||||||
|
|
Loading…
Reference in New Issue