Documentation ¶
Index ¶
Constants ¶
const TestEnvVar = "PACKER_ACC"
TestEnvVar must be set to a non-empty value for acceptance tests to run.
Variables ¶
This section is empty.
Functions ¶
func Test ¶
Test performs an acceptance test on a backend with the given test case.
Tests are not run unless an environmental variable "PACKER_ACC" is set to some non-empty value. This is to avoid test cases surprising a user by creating real resources.
Tests will fail unless the verbose flag (`go test -v`, or explicitly the "-test.v" flag) is set. Because some acceptance tests take quite long, we require the verbose flag so users are able to see progress output.
Types ¶
type TestCase ¶
type TestCase struct { // Precheck, if non-nil, will be called once before the test case // runs at all. This can be used for some validation prior to the // test running. PreCheck func() // Builder is the Builder that will be tested. It will be available // as the "test" builder in the template. Builder packer.Builder // Template is the template contents to use. Template string // Check is called after this step is executed in order to test that // the step executed successfully. If this is not set, then the next // step will be called Check TestCheckFunc // Teardown will be called before the test case is over regardless // of if the test succeeded or failed. This should return an error // in the case that the test can't guarantee all resources were // properly cleaned up. Teardown TestTeardownFunc // If SkipArtifactTeardown is true, we will not attempt to destroy the // artifact created in this test run. SkipArtifactTeardown bool }
TestCase is a single set of tests to run for a backend. A TestCase should generally map 1:1 to each test method for your acceptance tests.
type TestCheckFunc ¶
TestCheckFunc is the callback used for Check in TestStep.
type TestT ¶
type TestT interface { Error(args ...interface{}) Fatal(args ...interface{}) Skip(args ...interface{}) }
TestT is the interface used to handle the test lifecycle of a test.
Users should just use a *testing.T object, which implements this.
type TestTeardownFunc ¶
type TestTeardownFunc func() error
TestTeardownFunc is the callback used for Teardown in TestCase.