9d8eccec8e
The TEST_FILTER variable allows running a single integration or integration-cli
test. However, it failed to work properly for integration-cli tests.
Before:
-----------
# Filtering "integration" tests works:
make TEST_FILTER=TestInspectCpusetInConfigPre120 test-integration
...
DONE 1 tests in 18.331s
# But running a single test in "integration-cli" did not:
make TEST_FILTER=TestSwarmNetworkCreateIssue27866 test-integration
...
DONE 0 tests in 17.314s
Trying to manually add the `/` prefix, didn't work either, because that made the
"grep" fail to find which test-suites to run/skip:
make TEST_FILTER=/TestSwarmNetworkCreateIssue27866 test-integration
---> Making bundle: test-integration (in bundles/test-integration)
make: *** [test-integration] Error 1
After:
-----------
make TEST_FILTER=TestInspectCpusetInConfigPre120 test-integration
...
DONE 1 tests in 18.331s
make TEST_FILTER=TestSwarmNetworkCreateIssue27866 test-integration
...
DONE 12 tests in 26.527s
Note that the `12` tests is still a bit misleading, because every _suite_ is
started (which is counted as a test), but no tests are run. This is still
something that could be improved on.
This patch also makes a small modification to the code that's setting
`integration_api_dirs`, and no longer runs `go list` if not needed.
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit
|
||
---|---|---|
.. | ||
.resources-windows | ||
.binary | ||
.binary-setup | ||
.detect-daemon-osarch | ||
.ensure-emptyfs | ||
.go-autogen | ||
.go-autogen.ps1 | ||
.integration-daemon-setup | ||
.integration-daemon-start | ||
.integration-daemon-stop | ||
.integration-test-helpers | ||
binary | ||
binary-daemon | ||
build-integration-test-binary | ||
containerutility | ||
cross | ||
cross-platform-dependent | ||
dynbinary | ||
dynbinary-daemon | ||
install-binary | ||
README.md | ||
run | ||
test-docker-py | ||
test-integration | ||
test-integration-cli | ||
test-integration-flaky | ||
test-integration-shell |
This directory holds scripts called by make.sh
in the parent directory.
Each script is named after the bundle it creates. They should not be called directly - instead, pass it as argument to make.sh, for example:
./hack/make.sh binary ubuntu
# Or to run all default bundles:
./hack/make.sh
To add a bundle:
- Create a shell-compatible file here
- Add it to $DEFAULT_BUNDLES in make.sh