From 30fadde297a52b863564d6ab95ab4fd1b1b448df Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Fri, 28 Jun 2013 16:00:42 -0400 Subject: [PATCH] builder/virtualbox: Tests for the defaults [GH-44] --- builder/virtualbox/builder.go | 8 ++++---- builder/virtualbox/builder_test.go | 17 ++++++++++++++++- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/builder/virtualbox/builder.go b/builder/virtualbox/builder.go index e82af8d20..8b6fc0ab3 100644 --- a/builder/virtualbox/builder.go +++ b/builder/virtualbox/builder.go @@ -181,6 +181,10 @@ func (b *Builder) Prepare(raws ...interface{}) error { b.config.RawShutdownTimeout = "5m" } + if b.config.RawSSHWaitTimeout == "" { + b.config.RawSSHWaitTimeout = "20m" + } + b.config.ShutdownTimeout, err = time.ParseDuration(b.config.RawShutdownTimeout) if err != nil { errs = append(errs, fmt.Errorf("Failed parsing shutdown_timeout: %s", err)) @@ -194,10 +198,6 @@ func (b *Builder) Prepare(raws ...interface{}) error { errs = append(errs, errors.New("An ssh_username must be specified.")) } - if b.config.RawSSHWaitTimeout == "" { - b.config.RawSSHWaitTimeout = "20m" - } - b.config.SSHWaitTimeout, err = time.ParseDuration(b.config.RawSSHWaitTimeout) if err != nil { errs = append(errs, fmt.Errorf("Failed parsing ssh_wait_timeout: %s", err)) diff --git a/builder/virtualbox/builder_test.go b/builder/virtualbox/builder_test.go index de880beb7..f8902a44d 100644 --- a/builder/virtualbox/builder_test.go +++ b/builder/virtualbox/builder_test.go @@ -68,6 +68,10 @@ func TestBuilderPrepare_BootWait(t *testing.T) { t.Fatalf("err: %s", err) } + if b.config.RawBootWait != "10s" { + t.Fatalf("bad value: %s", b.config.RawBootWait) + } + // Test with a bad boot_wait config["boot_wait"] = "this is not good" err = b.Prepare(config) @@ -324,9 +328,20 @@ func TestBuilderPrepare_SSHWaitTimeout(t *testing.T) { var b Builder config := testConfig() + // Test a default boot_wait + delete(config, "ssh_wait_timeout") + err := b.Prepare(config) + if err != nil { + t.Fatalf("err: %s", err) + } + + if b.config.RawSSHWaitTimeout != "20m" { + t.Fatalf("bad value: %s", b.config.RawSSHWaitTimeout) + } + // Test with a bad value config["ssh_wait_timeout"] = "this is not good" - err := b.Prepare(config) + err = b.Prepare(config) if err == nil { t.Fatal("should have error") }