diff --git a/builder/vmware/common/step_prepare_tools.go b/builder/vmware/common/step_prepare_tools.go index 070220a5c..f0566d91e 100644 --- a/builder/vmware/common/step_prepare_tools.go +++ b/builder/vmware/common/step_prepare_tools.go @@ -2,14 +2,14 @@ package common import ( "fmt" - "github.com/mitchellh/multistep" "os" + + "github.com/mitchellh/multistep" ) type StepPrepareTools struct { - RemoteType string `mapstructure:"remote_type"` - ToolsUploadFlavor string `mapstructure:"tools_upload_flavor"` - ToolsUploadPath string `mapstructure:"tools_upload_path"` + RemoteType string + ToolsUploadFlavor string } func (c *StepPrepareTools) Run(state multistep.StateBag) multistep.StepAction { diff --git a/builder/vmware/common/step_prepare_tools_test.go b/builder/vmware/common/step_prepare_tools_test.go new file mode 100644 index 000000000..0181ea79d --- /dev/null +++ b/builder/vmware/common/step_prepare_tools_test.go @@ -0,0 +1,58 @@ +package common + +import ( + "io/ioutil" + "os" + "testing" + + "github.com/mitchellh/multistep" +) + +func TestStepPrepareTools_impl(t *testing.T) { + var _ multistep.Step = new(StepPrepareTools) +} + +func TestStepPrepareTools(t *testing.T) { + tf, err := ioutil.TempFile("", "packer") + if err != nil { + t.Fatalf("err: %s", err) + } + tf.Close() + defer os.Remove(tf.Name()) + + state := testState(t) + step := &StepPrepareTools{ + RemoteType: "", + ToolsUploadFlavor: "foo", + } + + driver := state.Get("driver").(*DriverMock) + + // Mock results + driver.ToolsIsoPathResult = tf.Name() + + // Test the run + if action := step.Run(state); action != multistep.ActionContinue { + t.Fatalf("bad action: %#v", action) + } + if _, ok := state.GetOk("error"); ok { + t.Fatal("should NOT have error") + } + + // Test the driver + if !driver.ToolsIsoPathCalled { + t.Fatal("tools iso path should be called") + } + if driver.ToolsIsoPathFlavor != "foo" { + t.Fatalf("bad: %#v", driver.ToolsIsoPathFlavor) + } + + // Test the resulting state + path, ok := state.GetOk("tools_upload_source") + if !ok { + t.Fatal("should have tools_upload_source") + } + if path != tf.Name() { + t.Fatalf("bad: %#v", path) + } +} diff --git a/builder/vmware/iso/builder.go b/builder/vmware/iso/builder.go index ae8a7dba3..d1f24fa64 100644 --- a/builder/vmware/iso/builder.go +++ b/builder/vmware/iso/builder.go @@ -312,7 +312,6 @@ func (b *Builder) Run(ui packer.Ui, hook packer.Hook, cache packer.Cache) (packe &vmwcommon.StepPrepareTools{ RemoteType: b.config.RemoteType, ToolsUploadFlavor: b.config.ToolsUploadFlavor, - ToolsUploadPath: b.config.ToolsUploadPath, }, &common.StepDownload{ Checksum: b.config.ISOChecksum, diff --git a/builder/vmware/vmx/builder.go b/builder/vmware/vmx/builder.go index 0497c215f..e75f62b57 100644 --- a/builder/vmware/vmx/builder.go +++ b/builder/vmware/vmx/builder.go @@ -55,7 +55,6 @@ func (b *Builder) Run(ui packer.Ui, hook packer.Hook, cache packer.Cache) (packe &vmwcommon.StepPrepareTools{ RemoteType: b.config.RemoteType, ToolsUploadFlavor: b.config.ToolsUploadFlavor, - ToolsUploadPath: b.config.ToolsUploadPath, }, &vmwcommon.StepOutputDir{ Force: b.config.PackerForce,