mirror of
https://github.com/vagrant-libvirt/vagrant-libvirt.git
synced 2025-02-25 18:55:27 -06:00
Vagrant up expects machine data_dir to exist afterwards (#1298)
Ensure the machine data_dir is recreated after removal because vagrant up expects the directory to exist even if there has been an exception and the machine has been deleted subsequently.
This commit is contained in:
@@ -9,12 +9,18 @@ describe VagrantPlugins::ProviderLibvirt::Action::CleanMachineFolder do
|
||||
include_context 'unit'
|
||||
|
||||
describe '#call' do
|
||||
before do
|
||||
FileUtils.touch(File.join(machine.data_dir, "box.meta"))
|
||||
end
|
||||
|
||||
context 'with default options' do
|
||||
it 'should verbosely remove the folder' do
|
||||
expect(ui).to receive(:info).with('Deleting the machine folder')
|
||||
expect(FileUtils).to receive(:rm_rf).with(machine.data_dir, {:secure => true})
|
||||
|
||||
expect(subject.call(env)).to be_nil
|
||||
|
||||
expect(File.exists?(machine.data_dir)).to eq(true)
|
||||
expect(Dir.entries(machine.data_dir)).to match_array([".", ".."])
|
||||
end
|
||||
end
|
||||
|
||||
@@ -22,15 +28,17 @@ describe VagrantPlugins::ProviderLibvirt::Action::CleanMachineFolder do
|
||||
before do
|
||||
Dir.mktmpdir do |d|
|
||||
# returns a temporary directory that has been already deleted when running
|
||||
expect(machine).to receive(:data_dir).and_return(d.to_s).exactly(2).times
|
||||
expect(machine).to receive(:data_dir).and_return(d.to_s).exactly(3).times
|
||||
end
|
||||
end
|
||||
|
||||
it 'should remove the folder' do
|
||||
expect(ui).to receive(:info).with('Deleting the machine folder')
|
||||
expect(FileUtils).to receive(:rm_rf).with(machine.data_dir, {:secure => true})
|
||||
|
||||
expect(subject.call(env)).to be_nil
|
||||
|
||||
expect(File.exists?(machine.data_dir)).to eq(true)
|
||||
expect(Dir.entries(machine.data_dir)).to match_array([".", ".."])
|
||||
end
|
||||
end
|
||||
|
||||
@@ -39,9 +47,11 @@ describe VagrantPlugins::ProviderLibvirt::Action::CleanMachineFolder do
|
||||
|
||||
it 'should quietly remove the folder' do
|
||||
expect(ui).to_not receive(:info).with('Deleting the machine folder')
|
||||
expect(FileUtils).to receive(:rm_rf).with(machine.data_dir, {:secure => true})
|
||||
|
||||
expect(subject.call(env)).to be_nil
|
||||
|
||||
expect(File.exists?(machine.data_dir)).to eq(true)
|
||||
expect(Dir.entries(machine.data_dir)).to match_array([".", ".."])
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user