diff --git a/Makefile b/Makefile index d16327fb5..56b1bce02 100644 --- a/Makefile +++ b/Makefile @@ -3,4 +3,7 @@ all: go get -d go build -a -o bin/packer -.PHONY: all +test: + go test ./... + +.PHONY: all test diff --git a/packer/environment_test.go b/packer/environment_test.go new file mode 100644 index 000000000..345d69bda --- /dev/null +++ b/packer/environment_test.go @@ -0,0 +1,3 @@ +package packer + + diff --git a/packer/ui_test.go b/packer/ui_test.go new file mode 100644 index 000000000..57fa4492a --- /dev/null +++ b/packer/ui_test.go @@ -0,0 +1,29 @@ +package packer + +import ( + "bytes" + "testing" + "cgl.tideland.biz/asserts" +) + +// Our test Ui that just writes to bytes.Buffers. +var bufferUi = &ReaderWriterUi{ new(bytes.Buffer), new(bytes.Buffer) } + +func TestReaderWriterUi_Say(t *testing.T) { + assert := asserts.NewTestingAsserts(t, true) + + bufferUi.Say("foo") + assert.Equal(readWriter(bufferUi), "foo", "basic output") + + bufferUi.Say("%d", 5) + assert.Equal(readWriter(bufferUi), "5", "formatting") +} + +// This reads the output from the bytes.Buffer in our test object +// and then resets the buffer. +func readWriter(ui *ReaderWriterUi) (result string) { + buffer := ui.Writer.(*bytes.Buffer) + result = buffer.String() + buffer.Reset() + return +}