#!/bin/bash set -e DEST=$1 DOCKER_GRAPHDRIVER=${DOCKER_GRAPHDRIVER:-vfs} DOCKER_EXECDRIVER=${DOCKER_EXECDRIVER:-native} # subshell so that we can export PATH without breaking other things exec > >(tee -a $DEST/test.log) 2>&1 ( 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-docker-py' 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" ) & mkdir -p /tmp/dockerpy-tests && cd /tmp/dockerpy-tests git clone https://github.com/docker/docker-py.git cd docker-py git checkout 0.6.0-integration python setup.py install python tests/integration_test.py for pid in $(find "$DEST" -name docker.pid); do DOCKER_PID=$(set -x; cat "$pid") ( set -x; kill $DOCKER_PID ) wait $DOCKERD_PID || true done )