packer-cn/command/command_test.go

58 lines
1.2 KiB
Go
Raw Normal View History

2014-10-28 18:09:22 -04:00
package command
import (
"bytes"
2020-10-02 04:49:21 -04:00
"io/ioutil"
"path/filepath"
2014-10-28 18:09:22 -04:00
"testing"
2017-04-04 16:39:01 -04:00
"github.com/hashicorp/packer/packer"
packersdk "github.com/hashicorp/packer/packer-plugin-sdk/packer"
2014-10-28 18:09:22 -04:00
)
const fixturesDir = "./test-fixtures"
func fatalCommand(t *testing.T, m Meta) {
ui := m.Ui.(*packersdk.BasicUi)
out := ui.Writer.(*bytes.Buffer)
err := ui.ErrorWriter.(*bytes.Buffer)
t.Fatalf(
"Bad exit code.\n\nStdout:\n\n%s\n\nStderr:\n\n%s",
out.String(),
err.String())
}
func outputCommand(t *testing.T, m Meta) (string, string) {
ui := m.Ui.(*packersdk.BasicUi)
out := ui.Writer.(*bytes.Buffer)
err := ui.ErrorWriter.(*bytes.Buffer)
return out.String(), err.String()
}
2020-10-02 04:49:21 -04:00
func testFixtureContent(n ...string) string {
path := filepath.Join(append([]string{fixturesDir}, n...)...)
b, err := ioutil.ReadFile(path)
if err != nil {
panic(err)
}
return string(b)
}
func testFixture(n ...string) string {
paths := []string{fixturesDir}
paths = append(paths, n...)
return filepath.Join(paths...)
}
2014-10-28 18:09:22 -04:00
func testMeta(t *testing.T) Meta {
var out, err bytes.Buffer
2014-10-28 18:09:22 -04:00
return Meta{
2015-05-29 18:35:55 -04:00
CoreConfig: packer.TestCoreConfig(t),
Ui: &packersdk.BasicUi{
Writer: &out,
ErrorWriter: &err,
},
2014-10-28 18:09:22 -04:00
}
}