summaryrefslogtreecommitdiff
path: root/hack/make/test-integration-cli
diff options
context:
space:
mode:
Diffstat (limited to 'hack/make/test-integration-cli')
-rw-r--r--hack/make/test-integration-cli40
1 files changed, 40 insertions, 0 deletions
diff --git a/hack/make/test-integration-cli b/hack/make/test-integration-cli
new file mode 100644
index 0000000000..b0506d261a
--- /dev/null
+++ b/hack/make/test-integration-cli
@@ -0,0 +1,40 @@
+#!/bin/bash
+
+DEST=$1
+
+set -e
+
+DOCKER_GRAPHDRIVER=${DOCKER_GRAPHDRIVER:-vfs}
+DOCKER_EXECDRIVER=${DOCKER_EXECDRIVER:-native}
+
+bundle_test_integration_cli() {
+ go_test_dir ./integration-cli
+}
+
+# subshell so that we can export PATH without breaking other things
+(
+ export PATH="$DEST/../binary:$DEST/../dynbinary:$PATH"
+
+ if ! command -v docker &> /dev/null; then
+ echo >&2 'error: binary or dynbinary must be run before test-integration-cli'
+ false
+ fi
+
+ ( set -x; exec \
+ docker --daemon --debug \
+ --storage-driver "$DOCKER_GRAPHDRIVER" \
+ --exec-driver "$DOCKER_EXECDRIVER" \
+ --pidfile "$DEST/docker.pid" \
+ &> "$DEST/docker.log"
+ ) &
+
+ # pull the busybox image before running the tests
+ sleep 2
+ ( set -x; docker pull busybox )
+
+ bundle_test_integration_cli
+
+ DOCKERD_PID=$(set -x; cat $DEST/docker.pid)
+ ( set -x; kill $DOCKERD_PID )
+ wait $DOCKERD_PID || true
+) 2>&1 | tee $DEST/test.log