kubernetes/test/cmd
2026-01-30 09:23:14 +03: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 Clean up service account print and describe 2025-08-05 17:51:10 -04: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 fix kubectl exec command in cmd test 2025-09-02 20:04:46 +08: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 Promote kubectl kuberc commands to beta 2026-01-30 09:23:14 +03:00
legacy-script.sh make general profile default 2025-12-24 15:35:31 +00: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 Promote KUBECTL_COMMAND_HEADERS to stable 2025-10-28 18:17:32 +01:00
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
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: fix wait --for=create to work correctly with label selectors (#128662) 2024-12-12 02:57:28 +00:00

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.