This PR moves fission CLI as closer as possible to kubectl command behaviour. We have improved namespace handling behaviour across CLI. * add namespace param for fn and env * use common fn for ns check * update validation * default namespace for httpTrigger, env and package, config and triggers * use default ns * add namespace filter to spec * add forceNamespace flag * set current namespace * add default namespace in config * add namespace specific destroy * add all namespace in the list of resources * add namespace as global tag * use %s instead of %v * add test cases for namespace * use ns in get all functions
Test Framework
Prerequisite tools
- GNU parallel >= 20161222
If you want to run test on Mac, you also need to install GNU tools for command compatibility. With Homebrew, you can get them by:
brew install coreutils findutils gnu-sed
Run a single test
cd $REPO/test
# run 'tests/test_node_hello_http.sh'
./tests/test_node_hello_http.sh
# if you want to preserve the resources that created by test for debug
export TEST_NOCLEANUP=yes
./tests/test_node_hello_http.sh
# run 'tests/test_environments/test_go_env.sh' with custom images
export GO_RUNTIME_IMAGE=my.docker.repo/go-env:test
./tests/test_environments/test_go_env.sh
Run tests in parallel
NOTE: Some tests will consume lots of resources and cause the test fail.
Example: Run tests with 4 concurrent jobs.
cd $REPO/test
export JOBS=4
./run_test.sh \
tests/test_backend_poolmgr.sh \
tests/test_node_hello_http.sh \
tests/test_pass.sh \
tests/test_specs/test_spec.sh
# The test output will be available in logs/
cat logs/test_backend_poolmgr.sh.log
# The summary report will be saved to logs/_recap
cat logs/_recap