kubernetes/test/cmd
Lubomir I. Ivanov bc2179d882 pause: fix version drift in various files
The latest pause version is 3.10.2 but due to the introduction
of the PATCH level version to the pause image (previously was
only MAJOR.MINOR), various files have remained on an older
version. Either 3.10 or 3.10.1. Our validation with
build/dependencies.yaml ./hack/verify-external-dependencies.sh
did not account for that.
2026-04-03 16:11:09 +02:00
..
apply.sh add --subresource to kubectl apply 2024-10-02 13:28:29 -04:00
apps.sh Add given namespace in dryrun=client output of HPA 2025-11-03 18:35:45 +03:00
auth_whoami.sh Fix cmd, integration, and conformance tests 2023-05-03 01:29:37 +02:00
authentication.sh Add client-go credential plugin to kuberc 2025-11-09 14:24:53 -05:00
authorization.sh Introduce --as-user-extra persistent flag in kubectl (#134378) 2025-11-04 07:14:09 -08:00
batch.sh Update shellcheck version (0.7.2 -> 0.8.0) and fix findings 2022-11-08 11:53:57 +01:00
certificate.sh Add --chunk-size support to kubectl describe 2021-04-21 11:44:15 -07:00
convert.sh Add kubectl-convert tests 2021-02-22 17:01:34 +01:00
core.sh pause: fix version drift in various files 2026-04-03 16:11:09 +02:00
crd.sh remove PruneWhitelist, use prune-allowlist instead 2023-12-15 11:51:14 +08:00
create.sh Merge pull request #109850 from ardaguclu/validate-nooptdefval 2022-06-13 08:04:11 -07:00
debug.sh make general profile default 2025-12-24 15:35:31 +00:00
delete.sh kubectl config set-context: Add -n flag 2025-10-06 11:31:26 +02:00
diff.sh update pause version to 3.10.1 2025-07-09 16:38:14 +05:30
discovery.sh Fix kubectl explain bug when additionalProperties in schema defines as boolean. (#124506) 2024-05-21 04:40:32 -07:00
events.sh Improve cmd tests for kubectl events 2025-10-24 16:37:03 +02:00
exec.sh List containers when given container is not found 2026-02-12 09:47:30 +03:00
generic-resources.sh tests: adding integration test for rollout status 2022-04-21 11:21:13 -04:00
get.sh client-go/transport: structured, contextual logging 2025-01-27 09:45:04 +01:00
help.sh Optimize usage message of commands which have subcommands. 2023-05-26 10:07:43 +08:00
kubeconfig.sh Clarify, document KUBE_OUTPUT_* variables 2024-02-29 22:05:42 -08:00
kuberc.sh Add credential pluginkubectl kuberc set options (#137300) 2026-03-12 22:49:41 +05:30
legacy-script.sh Reflect expected replica count to the output of kubectl scale 2026-02-11 17:44:36 +03:00
node-management.sh client-go/transport: structured, contextual logging 2025-01-27 09:45:04 +01:00
OWNERS Update sig-cli OWNERS 2022-02-14 10:55:35 -07:00
plugins.sh KEP-3638: Promote plugin resolution to beta (#120663) 2023-10-23 13:41:38 +02:00
proxy.sh use a non-deprecated API to check kube-proxy 2021-03-25 12:41:50 -04:00
rbac.sh add a warning printer in cli-runtime to coordinate warning style 2022-05-23 19:10:15 +08:00
README.md Change legacy-script.sh to produce junit output in location set by the 2022-02-02 21:51:15 -05:00
request-timeout.sh flake(kubectl): fix run_kubectl_request_timeout_tests in integration test 2024-10-16 20:44:25 +08:00
results.sh cleanup: remove suggestfor from wait command (#137266) 2026-03-04 20:08:27 +05:30
run.sh Use --dry-run=client,server in kubectl. 2020-02-12 20:46:54 -05:00
save-config.sh rename v2beta2 to v2 2021-11-09 10:34:54 +08:00
scale.sh Reflect expected replica count to the output of kubectl scale 2026-02-11 17:44:36 +03:00
storage.sh add a warning printer in cli-runtime to coordinate warning style 2022-05-23 19:10:15 +08:00
template-output.sh fix typos in pkg/validation and test/cmd 2022-09-20 19:12:17 +05:30
version.sh Update version.sh 2023-11-04 17:22:30 +08:00
wait.sh kubectl wait: Support multiple conditions (#136855) 2026-03-04 23:30:27 +05:30

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_tests and run_impersonation_tests), 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_*_tests so they can be 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.