2015-05-28 07:36:24 +02:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
set -e
|
|
|
|
|
|
|
|
cd "$(dirname "$(readlink -f "$BASH_SOURCE")")"
|
|
|
|
|
|
|
|
# Root directory of Distribution
|
|
|
|
DISTRIBUTION_ROOT=$(cd ../..; pwd -P)
|
|
|
|
|
2015-05-29 00:28:50 +02:00
|
|
|
volumeMount=""
|
|
|
|
if [ "$DOCKER_VOLUME" != "" ]; then
|
|
|
|
volumeMount="-v ${DOCKER_VOLUME}:/var/lib/docker"
|
|
|
|
fi
|
|
|
|
|
2015-06-03 19:18:02 +02:00
|
|
|
dockerMount=""
|
|
|
|
if [ "$DOCKER_BINARY" != "" ]; then
|
|
|
|
dockerMount="-v ${DOCKER_BINARY}:/usr/local/bin/docker"
|
|
|
|
fi
|
|
|
|
|
2015-05-28 07:36:24 +02:00
|
|
|
# Image containing the integration tests environment.
|
|
|
|
INTEGRATION_IMAGE=${INTEGRATION_IMAGE:-distribution/docker-integration}
|
|
|
|
|
|
|
|
# Make sure we upgrade the integration environment.
|
2015-05-29 00:55:04 +02:00
|
|
|
docker pull $INTEGRATION_IMAGE
|
2015-05-28 07:36:24 +02:00
|
|
|
|
|
|
|
# Start the integration tests in a Docker container.
|
2015-06-03 19:18:02 +02:00
|
|
|
ID=$(docker run -d -t --privileged $volumeMount $dockerMount \
|
2015-05-28 07:36:24 +02:00
|
|
|
-v ${DISTRIBUTION_ROOT}:/go/src/github.com/docker/distribution \
|
2015-06-03 19:18:02 +02:00
|
|
|
-e "STORAGE_DRIVER=$DOCKER_GRAPHDRIVER" \
|
2015-05-28 07:36:24 +02:00
|
|
|
-e "EXEC_DRIVER=$EXEC_DRIVER" \
|
|
|
|
${INTEGRATION_IMAGE} \
|
|
|
|
./test_runner.sh "$@")
|
|
|
|
|
|
|
|
# Clean it up when we exit.
|
|
|
|
trap "docker rm -f -v $ID > /dev/null" EXIT
|
|
|
|
|
|
|
|
docker logs -f $ID
|