CleanMachineFolder won't run if the folder is < 10 characters. Small safeguard againt unwanted rm-rfs.
This commit is contained in:
parent
3c1aac7ff5
commit
7de7982214
|
@ -19,6 +19,12 @@ module Vagrant
|
||||||
|
|
||||||
def clean_machine_folder
|
def clean_machine_folder
|
||||||
folder = File.join(VirtualBox::Global.global.system_properties.default_machine_folder, "*")
|
folder = File.join(VirtualBox::Global.global.system_properties.default_machine_folder, "*")
|
||||||
|
|
||||||
|
# Small safeguard against potentially unwanted rm-rf, since the default
|
||||||
|
# machine folder will typically always be greater than 10 characters long.
|
||||||
|
# For users with it < 10, out of luck?
|
||||||
|
return if folder.length < 10
|
||||||
|
|
||||||
Dir[folder].each do |f|
|
Dir[folder].each do |f|
|
||||||
next unless File.directory?(f)
|
next unless File.directory?(f)
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,7 @@ class CleanMachineFolderVMActionTest < Test::Unit::TestCase
|
||||||
|
|
||||||
context "cleaning the folder" do
|
context "cleaning the folder" do
|
||||||
setup do
|
setup do
|
||||||
@machine_folder = "foo"
|
@machine_folder = "/foo/bar/baz"
|
||||||
@folder = File.join(@machine_folder, "*")
|
@folder = File.join(@machine_folder, "*")
|
||||||
VirtualBox::Global.global.system_properties.stubs(:default_machine_folder).returns(@machine_folder)
|
VirtualBox::Global.global.system_properties.stubs(:default_machine_folder).returns(@machine_folder)
|
||||||
File.stubs(:file?).returns(true)
|
File.stubs(:file?).returns(true)
|
||||||
|
@ -73,5 +73,10 @@ class CleanMachineFolderVMActionTest < Test::Unit::TestCase
|
||||||
|
|
||||||
@instance.clean_machine_folder
|
@instance.clean_machine_folder
|
||||||
end
|
end
|
||||||
|
|
||||||
|
should "do nothing if folder is < 10 characters" do
|
||||||
|
VirtualBox::Global.global.system_properties.stubs(:default_machine_folder).returns("foo")
|
||||||
|
Dir.expects(:[]).never
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue