builder/virtualbox: Error if output directory already exists
This commit is contained in:
parent
bd6f176bf0
commit
1400d20bb9
|
@ -164,6 +164,10 @@ func (b *Builder) Prepare(raws ...interface{}) error {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if _, err := os.Stat(b.config.OutputDir); err == nil {
|
||||||
|
errs = append(errs, errors.New("Output directory already exists. It must not exist."))
|
||||||
|
}
|
||||||
|
|
||||||
if b.config.RawBootWait != "" {
|
if b.config.RawBootWait != "" {
|
||||||
b.config.BootWait, err = time.ParseDuration(b.config.RawBootWait)
|
b.config.BootWait, err = time.ParseDuration(b.config.RawBootWait)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
@ -224,6 +224,31 @@ func TestBuilderPrepare_ISOUrl(t *testing.T) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestBuilderPrepare_OutputDir(t *testing.T) {
|
||||||
|
var b Builder
|
||||||
|
config := testConfig()
|
||||||
|
|
||||||
|
// Test with existing dir
|
||||||
|
dir, err := ioutil.TempDir("", "packer")
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("err: %s", err)
|
||||||
|
}
|
||||||
|
defer os.RemoveAll(dir)
|
||||||
|
|
||||||
|
config["output_directory"] = dir
|
||||||
|
err = b.Prepare(config)
|
||||||
|
if err == nil {
|
||||||
|
t.Fatal("should have error")
|
||||||
|
}
|
||||||
|
|
||||||
|
// Test with a good one
|
||||||
|
config["output_directory"] = "i-hope-i-dont-exist"
|
||||||
|
err = b.Prepare(config)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("should not have error: %s", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func TestBuilderPrepare_ShutdownTimeout(t *testing.T) {
|
func TestBuilderPrepare_ShutdownTimeout(t *testing.T) {
|
||||||
var b Builder
|
var b Builder
|
||||||
config := testConfig()
|
config := testConfig()
|
||||||
|
|
Loading…
Reference in New Issue