docs/test/integration/run.sh

33 lines
1.0 KiB
Bash
Executable File

#!/usr/bin/env bash
set -e
# try to use gnu version of readlink on non-gnu systems (e.g. bsd, osx)
# on osx, install with 'brew install coreutils'
READLINK_LOCATION=$(which greadlink readlink | head -n 1)
THIS_SCRIPT=$(${READLINK_LOCATION} -f "$BASH_SOURCE")
cd "$(dirname "${THIS_SCRIPT}")"
# Root directory of Swarm.
SWARM_ROOT=$(cd ../..; pwd -P)
# Image containing the integration tests environment.
INTEGRATION_IMAGE=${INTEGRATION_IMAGE:-dockerswarm/swarm-test-env}
# Make sure we upgrade the integration environment.
docker pull $INTEGRATION_IMAGE
# Start the integration tests in a Docker container.
ID=$(docker run -d -t --privileged \
-v /sys/fs/cgroup:/sys/fs/cgroup:ro `# this is specific to mesos` \
-v ${SWARM_ROOT}:/go/src/github.com/docker/swarm \
-e "DOCKER_IMAGE=$DOCKER_IMAGE" \
-e "DOCKER_VERSION=$DOCKER_VERSION" \
-e "STORAGE_DRIVER=$STORAGE_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