mirror of https://github.com/knative/func.git
69 lines
1.8 KiB
Markdown
69 lines
1.8 KiB
Markdown
# Functions E2E Test
|
|
|
|
## Lifecycle tests
|
|
|
|
Lifecycle tests exercises the most important phases of a function lifecycle starting from
|
|
creation, going thru to build, deployment, execution and then deletion (CRUD operations).
|
|
It runs func commands such as `create`, `deploy`, `list` and `delete` for a language
|
|
runtime using both default `http` and `cloudevents` templates.
|
|
|
|
## Extended tests
|
|
|
|
Extended tests performs additional tests on `func` such as templates, config envs, volumes, labels and
|
|
other scenarios.
|
|
|
|
## On Cluster Builds tests
|
|
|
|
On cluster builds e2e tests exercises functions built directly on cluster.
|
|
The tests are organized per scenarios under `./oncluster` folder.
|
|
|
|
### Pre-requisites
|
|
|
|
Prior to run On Cluster builds e2e tests ensure you are connected to
|
|
a Kubernetes Cluster with the following deployed:
|
|
|
|
- Knative Serving
|
|
- Tekton
|
|
- Tekton Tasks listed [here](../docs/reference/on_cluster_build.md)
|
|
- Embedded Git Server (`func-git`) used by tests
|
|
|
|
For your convenience you can run the following script to setup Tekton and required Tasks:
|
|
```
|
|
$ ./hack/install-tekton.sh
|
|
```
|
|
|
|
To install the Git Server required by tests, run:
|
|
```
|
|
$ ./hack/install-git-server.sh
|
|
```
|
|
|
|
#### Running all the Tests on KinD
|
|
|
|
The below instructions will run all the tests on KinD using an **ephemeral** container registry.
|
|
```
|
|
# Pre-Reqs
|
|
./hack/allocate.sh
|
|
./hack/install-tekton.sh
|
|
./hack/install-git-server.sh
|
|
make build
|
|
|
|
# Run tests
|
|
./test/e2e_oncluster_tests.sh
|
|
```
|
|
|
|
#### Running "runtime" only scenario
|
|
|
|
You can run only e2e tests to exercise a given language/runtime, for example *python*
|
|
|
|
```
|
|
env E2E_RUNTIMES=python TEST_TAGS=runtime ./test/e2e_oncluster_tests.sh
|
|
```
|
|
|
|
#### Running tests except "runtime" ones
|
|
|
|
You can run most of on cluster builds e2e scenarios, except the language/runtime specific
|
|
ones, by running:
|
|
```
|
|
env E2E_RUNTIMES="" ./test/e2e_oncluster_tests.sh
|
|
```
|