Provisioners now properly share folders again

This commit is contained in:
Mitchell Hashimoto 2011-07-07 10:37:58 -07:00
parent 19eaddcd3a
commit 5ae483ef85
2 changed files with 13 additions and 3 deletions

View File

@ -9,11 +9,16 @@ module Vagrant
end
def call(env)
# Instantiate and prepare the provisioners. Preparation must happen here
# so that shared folders and such can properly take effect.
provisioners = enabled_provisioners
provisioners.map { |p| p.prepare }
@app.call(env)
enabled_provisioners.each do |instance|
# Take prepared provisioners and run the provisioning
provisioners.each do |instance|
@env.ui.info I18n.t("vagrant.actions.vm.provision.beginning", :provisioner => instance.class)
instance.prepare
instance.provision!
end
end

View File

@ -46,10 +46,15 @@ class ProvisionVMActionTest < Test::Unit::TestCase
should "provision and continue chain" do
provisioners = [mock("one"), mock("two")]
seq = sequence("seq")
@app.expects(:call).with(@env).in_sequence(seq)
@instance.stubs(:enabled_provisioners).returns(provisioners)
provisioners.each do |prov|
prov.expects(:prepare).in_sequence(seq)
end
@app.expects(:call).with(@env).in_sequence(seq)
provisioners.each do |prov|
prov.expects(:provision!).in_sequence(seq)
end