For 1.23, we removed the kubectl `--dry-run` empty default value (`--dry-run`) and boolean values (`--dry-run=true` and `--dry-run=false`). This change required requiring users to specify `--dry-run=client` or `--dry-run=server` due to a deprecation. This change was made in #105327. After reconsideration, this change is not worth the churn for users. It's likely that many users rely on these values for automated and manual use cases. This change reverts #105327 and re-introduces the values `--dry-run`, `--dry-run=true`, and `--dry-run=false`.
Kubernetes Command-Line Integration Test Suite
This document describes how you can use the Kubernetes command-line integration test-suite.
Running Tests
All Tests
To run this entire suite, execute make test-cmd from the top level. This will import each file containing tests functions
Specific Tests
To run a subset of tests (e.g. run_deployment_test and run_impersonation_test), execute make test-cmd WHAT="deployment impersonation". Running specific
tests will not try and validate any required resources are available on the server.
Adding Tests
Test functions need to have the format run_*_test so they can executed individually. Once a test has been added, insert a section in legacy-script.sh like
######################
# Replica Sets #
######################
if kube::test::if_supports_resource "${replicasets}" ; then
record_command run_rs_tests
fi
Be sure to validate any supported resources required for the test by using the kube::test::if_supports_resource function.
New File
If the test resides in a new file, source the file in the top of the legacy-script.sh file by adding a new line in
source "${KUBE_ROOT}/test/cmd/apply.sh"
source "${KUBE_ROOT}/test/cmd/apps.sh"
source "${KUBE_ROOT}/test/cmd/authorization.sh"
source "${KUBE_ROOT}/test/cmd/batch.sh"
...
Please keep the order of the source list alphabetical.