From 1ac11dcf8423575f4e5f5f758b8989cf3fcc389b Mon Sep 17 00:00:00 2001 From: baude Date: Sat, 3 Feb 2018 08:54:44 -0600 Subject: Integration testing readme Wrote a small primer to setup for integration testing. Signed-off-by: baude Closes: #288 Approved by: rhatdan --- README.ginkgo.md | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 README.ginkgo.md diff --git a/README.ginkgo.md b/README.ginkgo.md new file mode 100644 index 000000000..78fb52cab --- /dev/null +++ b/README.ginkgo.md @@ -0,0 +1,59 @@ +# Integration testing + +Our primary means of performing integration testing for libpod is with the +[Ginkgo](https://github.com/onsi/ginkgo) BDD testing framework. This allows +us to use native Golang to perform our tests and there is a strong affiliation +between Ginkgo and the Go test framework. + +## Installing dependencies +The dependencies for integration really consists of three things: +* ginkgo binary +* ginkgo sources +* gomega sources + +The following instructions assume your GOPATH is ~/go. Adjust as needed for your +environment. + +### Installing ginko +Fetch and build ginkgo with the following command: +``` +GOPATH=~/go go get -u github.com/onsi/ginkgo/ginkgo +``` +Now install the ginkgo binary into your path: +``` +install -D -m 755 "$GOPATH"/bin/ginkgo /usr/bin/ +``` +You now have a ginkgo binary and its sources in your GOPATH. + +### Install gomega sources +The gomega sources can be simply installed with the command: +``` +GOPATH=~/go go get github.com/onsi/gomega/... +``` + +### Running the integration tests + +You can run the entire suite of integration tests with the following command: + +``` +GOPATH=~/go ginkgo -v tests/e2e/. +``` + +Note the trailing period on the command above. Also, **-v** invokes verbose mode. That +switch is optional. + +You can run a single file of integration tests using the go test command: + +``` +GOPATH=~/go go test -v tests/e2e/libpod_suite_test.go tests/e2e/your_test.go +``` + +#### Run all tests like PAPR +You can closely emulate the PAPR run for Fedora with the following command: + +``` +make integration.fedora +``` + +This will run lint, git-validation, and gofmt tests and then execute unit and integration +tests as well. -- cgit v1.2.3-54-g00ecf