kubernetes/test/cmd
Kubernetes Prow Robot fdb2d54475
Merge pull request #108210 from jlsong01/update_kubectl_warning
coordinate the kubectl warning style
2022-05-23 15:57:09 -07:00
..
apply.sh Re-introduce removed kubectl --dry-run values. 2021-12-13 15:04:49 -05:00
apps.sh test/cmd: kubectl and exec plugins don't fight for stdin 2021-06-15 09:01:18 -04:00
authentication.sh Check whether static cert is already configured in UpdateTransportConfig 2022-03-07 13:54:32 -08:00
authorization.sh --as-uid flag in kubectl and kubeconfigs. 2021-11-05 13:23:49 -07:00
batch.sh Re-introduce removed kubectl --dry-run values. 2021-12-13 15:04:49 -05: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 add a warning printer in cli-runtime to coordinate warning style 2022-05-23 19:10:15 +08:00
crd.sh Expand cmd tests of modifying schema-declaring custom resources 2022-04-04 13:51:15 -04:00
create.sh Adjust validation checks to pass for both client-side and server-side validation 2022-03-26 03:45:13 +00:00
debug.sh Remove alpha from kubectl debug 2020-11-04 17:45:28 +01:00
delete.sh separate RootCAConfigMap from BoundServiceAccountTokenVolume 2020-11-04 17:10:39 -08:00
diff.sh Add prune test into test/cmd/diff.sh 2021-11-08 19:53:47 +03:00
discovery.sh Fix discovery cache TTL to 6 hours 2022-05-09 13:47:52 +09:00
exec.sh Wire --filename flag to exec 2020-03-03 12:16:52 +01:00
generic-resources.sh tests: adding integration test for rollout status 2022-04-21 11:21:13 -04:00
get.sh Change test/cmd to test deprecations using a CRD 2022-05-04 16:00:57 -04:00
kubeconfig.sh --as-uid flag in kubectl and kubeconfigs. 2021-11-05 13:23:49 -07:00
legacy-script.sh Change test/cmd to test deprecations using a CRD 2022-05-04 16:00:57 -04:00
node-management.sh Add --chunk-size flag to kubectl drain 2021-04-12 08:10:52 -07:00
OWNERS Update sig-cli OWNERS 2022-02-14 10:55:35 -07:00
plugins.sh Isolate kubectl test-cmd plugin tests 2019-12-19 01:35:36 -05: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 go1.14: fix test/cmd timeout message check 2020-06-23 19:04:43 -04:00
results.sh kubectl: add integration test for result reporting 2022-01-11 09:04:56 +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 Update cronjob integration test to batch/v1 2021-06-04 21:04:21 +08:00
version.sh kubectl version should include bundled kustomize version 2022-03-24 13:31:57 -04:00
wait.sh Add support for waiting by label selector or on all resources 2019-02-02 16:26:00 +01: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.