2014-04-06 13:21:22 -04:00
|
|
|
package common
|
|
|
|
|
|
|
|
import (
|
|
|
|
"io/ioutil"
|
|
|
|
"os"
|
|
|
|
"testing"
|
2016-12-11 14:13:37 -05:00
|
|
|
|
2017-04-04 16:39:01 -04:00
|
|
|
"github.com/hashicorp/packer/common"
|
2014-04-06 13:21:22 -04:00
|
|
|
)
|
|
|
|
|
|
|
|
func TestOutputConfigPrepare(t *testing.T) {
|
|
|
|
c := new(OutputConfig)
|
|
|
|
if c.OutputDir != "" {
|
|
|
|
t.Fatalf("what: %s", c.OutputDir)
|
|
|
|
}
|
|
|
|
|
|
|
|
pc := &common.PackerConfig{PackerBuildName: "foo"}
|
|
|
|
errs := c.Prepare(testConfigTemplate(t), pc)
|
|
|
|
if len(errs) > 0 {
|
|
|
|
t.Fatalf("err: %#v", errs)
|
|
|
|
}
|
|
|
|
|
|
|
|
if c.OutputDir == "" {
|
|
|
|
t.Fatal("should have output dir")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func TestOutputConfigPrepare_exists(t *testing.T) {
|
|
|
|
td, err := ioutil.TempDir("", "packer")
|
|
|
|
if err != nil {
|
|
|
|
t.Fatalf("err: %s", err)
|
|
|
|
}
|
|
|
|
defer os.RemoveAll(td)
|
|
|
|
|
|
|
|
c := new(OutputConfig)
|
|
|
|
c.OutputDir = td
|
|
|
|
|
|
|
|
pc := &common.PackerConfig{
|
|
|
|
PackerBuildName: "foo",
|
|
|
|
PackerForce: false,
|
|
|
|
}
|
|
|
|
errs := c.Prepare(testConfigTemplate(t), pc)
|
|
|
|
if len(errs) == 0 {
|
|
|
|
t.Fatal("should have errors")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func TestOutputConfigPrepare_forceExists(t *testing.T) {
|
|
|
|
td, err := ioutil.TempDir("", "packer")
|
|
|
|
if err != nil {
|
|
|
|
t.Fatalf("err: %s", err)
|
|
|
|
}
|
|
|
|
defer os.RemoveAll(td)
|
|
|
|
|
|
|
|
c := new(OutputConfig)
|
|
|
|
c.OutputDir = td
|
|
|
|
|
|
|
|
pc := &common.PackerConfig{
|
|
|
|
PackerBuildName: "foo",
|
|
|
|
PackerForce: true,
|
|
|
|
}
|
|
|
|
errs := c.Prepare(testConfigTemplate(t), pc)
|
|
|
|
if len(errs) > 0 {
|
|
|
|
t.Fatal("should not have errors")
|
|
|
|
}
|
|
|
|
}
|