site/content/en/docs/contrib/testing.en.md
libvirt-dev, since unit tests need kvm2 driver:# For Debian based
sudo apt-get install libvirt-dev
# For Centos
yum install libvirt-devel
# For Fedora
dnf install libvirt-devel
Unit tests are run on Travis before code is merged. To run as part of a development cycle:
make test
From the minikube root directory, build the binary and run the tests:
make integration
You may find it useful to set various options to test only a particular test against a non-default driver. For instance:
make integration TEST_ARGS="-minikube-start-args='--driver=vfkit --network=vmnet-shared' -test.run TestStartStop"
IMPORTANT:
-minikube-start-args you must quote the valueRun a single test on an active cluster:
make integration TEST_ARGS="-test.run TestFunctional/parallel/MountCmd --profile=minikube --cleanup=false"
WARNING: For this to work repeatedly, the test must be written so that it cleans up after itself.
The --cleanup=false test arg ensures that the cluster will not be deleted after the test is run.
See main_test.go for details.
make integration TEST_ARGS="-test.parallel=1"
Tests are typically read with a great air of skepticism, because chances are they are being read only when things are broken.
These are Kubernetes tests that run against an arbitrary cluster and exercise a wide range of Kubernetes features. You can run these against minikube by following these steps:
Install docker Install kubectl Clone the minikube repo
% cd <minikube dir>
% make
% cd <minikube dir>
./hack/conformance_tests.sh out/minikube --driver=docker --container-runtime=docker --kubernetes-version=stable
This script will run the latest sonobuoy against a minikube cluster with two nodes and the provided parameters.