Skip to content

Files

Latest commit

8196435 · Dec 26, 2022

History

History
This branch is 516 commits behind tektoncd/cli:main.

test

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Jul 27, 2022
Jul 1, 2022
Dec 19, 2022
Aug 22, 2022
Jun 29, 2022
Jun 29, 2022
Dec 19, 2022
Jul 27, 2022
Jun 27, 2022
Mar 18, 2020
Dec 26, 2022
Nov 7, 2022
Jun 27, 2022

Tests

To run tests:

# Unit tests
go test $(go list ./... | grep -v third_party/)
# or
make test-unit

# Integration tests (against your current kube cluster)
go test -v -count=1 -tags=e2e ./test/...

Unit tests

Unit tests live side by side with the code they are testing and can be run with:

go test $(go list ./... | grep -v third_party/)
# or
make test-unit

By default go test will not run the end to end tests, which need -tags=e2e to be enabled.

End to end tests

prerequisite

go build -o tkn github.com/tektoncd/cli/cmd/tkn
export TEST_CLIENT_BINARY=<path-to-tkn-binary-directory>/tkn ( eg: export TEST_CLIENT_BINARY=$PWD/tkn ) 

Set environment variable TEST_CLUSTERTASK_LIST_EMPTY to any value if tests are run in an environment which contains clustertasks

Running

To run end to end tests, you will need to have a running Tekton pipeline deployed on your cluster, see Install Pipeline.

End to end tests live in this directory. To run these tests, you must provide go with -tags=e2e. By default the tests run against your current kubeconfig context, but you can change that and other settings with the flags:

go test -v -count=1 -tags=e2e -timeout=20m ./test/e2e/...
go test -v -count=1 -tags=e2e -timeout=20m ./test/e2e/... --kubeconfig ~/special/kubeconfig --cluster myspecialcluster

You can also use all of flags defined in knative/pkg/test.

Flags

  • By default the e2e tests against the current cluster in ~/.kube/config using the environment specified in your environment variables.
  • Since these tests are fairly slow, running them with logging enabled is recommended (-v).
  • Using --logverbose to see the verbose log output from test as well as from k8s libraries.
  • Using -count=1 is the idiomatic way to disable test caching
  • The end to end tests take a long time to run so a value like -timeout=20m can be useful depending on what you're running

You can use test flags to control the environment your tests run against, i.e. override your environment variables:

go test -v -count=1 ./test/e2e/... --kubeconfig ~/special/kubeconfig --cluster myspecialcluster

One test case

To run one e2e test case, e.g. TestTaskRun, use the -run flag with go test

go test -v -count=1 ./test/e2e/... -run ^TestPipelinesE2E$