12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- #!/bin/bash
- set -e
- DEST=$1
- 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
- # intentionally open a couple bogus file descriptors to help test that they get scrubbed in containers
- exec 41>&1 42>&2
- ( 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
- source "$(dirname "$BASH_SOURCE")/.ensure-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
|