#!/usr/bin/env bash # Run the integration tests with multiple versions of the Docker engine set -e set -x source helpers.bash if [ `uname` = "Linux" ]; then tmpdir_template="$TMPDIR/docker-versions.XXXXX" else # /tmp isn't available for mounting in boot2docker tmpdir_template="`pwd`/../../../docker-versions.XXXXX" fi tmpdir=`mktemp -d "$tmpdir_template"` trap "rm -rf $tmpdir" EXIT if [ "$1" == "-d" ]; then start_daemon fi # Released versions versions="1.6.1 1.7.1 1.8.3 1.9.1" for v in $versions; do echo "Extracting Docker $v from dind image" binpath="$tmpdir/docker-$v/docker" ID=$(docker create dockerswarm/dind:$v) docker cp "$ID:/usr/local/bin/docker" "$tmpdir/docker-$v" echo "Running tests with Docker $v" DOCKER_BINARY="$binpath" DOCKER_VOLUME="$DOCKER_VOLUME" DOCKER_GRAPHDRIVER="$DOCKER_GRAPHDRIVER" ./run.sh # Cleanup. docker rm -f "$ID" done # Latest experimental version echo "Extracting Docker master from dind image" binpath="$tmpdir/docker-master/docker" docker pull dockerswarm/dind-master ID=$(docker create dockerswarm/dind-master) docker cp "$ID:/usr/local/bin/docker" "$tmpdir/docker-master" echo "Running tests with Docker master" DOCKER_BINARY="$binpath" DOCKER_VOLUME="$DOCKER_VOLUME" ./run.sh # Cleanup. docker rm -f "$ID"