summaryrefslogtreecommitdiff
path: root/README.ginkgo.md
diff options
context:
space:
mode:
authorbaude <bbaude@redhat.com>2018-02-03 08:54:44 -0600
committerAtomic Bot <atomic-devel@projectatomic.io>2018-02-05 16:03:35 +0000
commit1ac11dcf8423575f4e5f5f758b8989cf3fcc389b (patch)
treea3160506d1792914dcdfec19e1a3b83b6504fc91 /README.ginkgo.md
parent910baf433fdbc6ad6d85cfeacb5ccc59b37aa634 (diff)
downloadpodman-1ac11dcf8423575f4e5f5f758b8989cf3fcc389b.tar.gz
podman-1ac11dcf8423575f4e5f5f758b8989cf3fcc389b.tar.bz2
podman-1ac11dcf8423575f4e5f5f758b8989cf3fcc389b.zip
Integration testing readme
Wrote a small primer to setup for integration testing. Signed-off-by: baude <bbaude@redhat.com> Closes: #288 Approved by: rhatdan
Diffstat (limited to 'README.ginkgo.md')
-rw-r--r--README.ginkgo.md59
1 files changed, 59 insertions, 0 deletions
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.