k3s/test/cmd
Kubernetes Prow Robot a04017a468
Merge pull request #78530 from liggitt/deflake-core-integration
Wait for pods to be garbage collected in integration test
2019-06-04 05:03:08 -07:00
..
BUILD
OWNERS
README.md
apply.sh Fix wrong pipe in grep -q 2019-04-26 14:23:53 +08:00
apps.sh Merge pull request #77423 from apelisse/rollout-restart-other-workloads 2019-05-16 16:27:06 -07:00
authorization.sh
batch.sh
certificate.sh
core.sh Wait for pods to be garbage collected 2019-05-30 11:46:09 -04:00
crd.sh
create.sh
delete.sh
diff.sh
discovery.sh Graduate storageVersionHash field in the discovery doc to beta 2019-05-29 17:38:28 -07:00
exec.sh
generic-resources.sh Wait for integration precondition 2019-05-14 14:11:35 -04:00
get.sh Fix unstructured list interface compatibility, fix kubectl paging 2019-05-08 02:00:18 -04:00
kubeadm.sh
kubeconfig.sh
legacy-script.sh
node-management.sh
old-print.sh
plugins.sh
proxy.sh
rbac.sh
request-timeout.sh
run.sh
save-config.sh
storage.sh
template-output.sh
version.sh
wait.sh

README.md

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 resouces 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.