builder/virtualbox: Set the default boot_wait [GH-44]

This commit is contained in:
Mitchell Hashimoto 2013-06-28 15:58:32 -04:00
parent 2f84cd6ce7
commit 4abd1c22c1
2 changed files with 15 additions and 6 deletions

View File

@ -89,6 +89,10 @@ func (b *Builder) Prepare(raws ...interface{}) error {
b.config.OutputDir = "virtualbox"
}
if b.config.RawBootWait == "" {
b.config.RawBootWait = "10s"
}
if b.config.SSHHostPortMin == 0 {
b.config.SSHHostPortMin = 2222
}
@ -168,11 +172,9 @@ func (b *Builder) Prepare(raws ...interface{}) error {
errs = append(errs, errors.New("Output directory already exists. It must not exist."))
}
if b.config.RawBootWait != "" {
b.config.BootWait, err = time.ParseDuration(b.config.RawBootWait)
if err != nil {
errs = append(errs, fmt.Errorf("Failed parsing boot_wait: %s", err))
}
b.config.BootWait, err = time.ParseDuration(b.config.RawBootWait)
if err != nil {
errs = append(errs, fmt.Errorf("Failed parsing boot_wait: %s", err))
}
if b.config.RawShutdownTimeout == "" {

View File

@ -61,9 +61,16 @@ func TestBuilderPrepare_BootWait(t *testing.T) {
var b Builder
config := testConfig()
// Test a default boot_wait
delete(config, "boot_wait")
err := b.Prepare(config)
if err != nil {
t.Fatalf("err: %s", err)
}
// Test with a bad boot_wait
config["boot_wait"] = "this is not good"
err := b.Prepare(config)
err = b.Prepare(config)
if err == nil {
t.Fatal("should have error")
}