| // Copyright IBM Corp. 2014, 2026 | |
| // SPDX-License-Identifier: BUSL-1.1 | |
| // Package e2etest contains a set of tests that run against a real Terraform | |
| // binary, compiled on the fly at the start of the test run. | |
| // | |
| // These tests help ensure that key end-to-end Terraform use-cases are working | |
| // for a real binary, whereas other tests always have at least _some_ amount | |
| // of test stubbing. | |
| // | |
| // The goal of this package is not to duplicate the functional testing done | |
| // in other packages but rather to fully exercise a few important workflows | |
| // in a realistic way. | |
| // | |
| // These tests can be used in two ways. The simplest way is to just run them | |
| // with "go test" as normal: | |
| // | |
| // go test -v github.com/hashicorp/terraform/internal/command/e2etest | |
| // | |
| // This will compile on the fly a Terraform binary and run the tests against | |
| // it. | |
| // | |
| // Alternatively, the make-archive.sh script can be used to produce a | |
| // self-contained zip file that can be shipped to another machine to run | |
| // the tests there without needing a locally-installed Go compiler. This | |
| // is primarily useful for testing cross-compiled builds during our release | |
| // process. For more information, see the commentary in make-archive.sh. | |
| // | |
| // The TF_ACC environment variable must be set for the tests to reach out | |
| // to external network services. Since these are end-to-end tests, only a | |
| // few very basic tests can execute without this environment variable set. | |
| package e2etest |