github.com/mika/distribution@v2.2.2-0.20160108133430-a75790e3d8e0+incompatible/contrib/docker-integration/run_multiversion.sh (about) 1 #!/usr/bin/env bash 2 3 # Run the integration tests with multiple versions of the Docker engine 4 5 set -e 6 set -x 7 8 source helpers.bash 9 10 if [ `uname` = "Linux" ]; then 11 tmpdir_template="$TMPDIR/docker-versions.XXXXX" 12 else 13 # /tmp isn't available for mounting in boot2docker 14 tmpdir_template="`pwd`/../../../docker-versions.XXXXX" 15 fi 16 17 tmpdir=`mktemp -d "$tmpdir_template"` 18 trap "rm -rf $tmpdir" EXIT 19 20 if [ "$1" == "-d" ]; then 21 start_daemon 22 fi 23 24 # Released versions 25 26 versions="1.6.1 1.7.1 1.8.3 1.9.1" 27 28 for v in $versions; do 29 echo "Extracting Docker $v from dind image" 30 binpath="$tmpdir/docker-$v/docker" 31 ID=$(docker create dockerswarm/dind:$v) 32 docker cp "$ID:/usr/local/bin/docker" "$tmpdir/docker-$v" 33 34 echo "Running tests with Docker $v" 35 DOCKER_BINARY="$binpath" DOCKER_VOLUME="$DOCKER_VOLUME" DOCKER_GRAPHDRIVER="$DOCKER_GRAPHDRIVER" ./run.sh 36 37 # Cleanup. 38 docker rm -f "$ID" 39 done 40 41 # Latest experimental version 42 43 echo "Extracting Docker master from dind image" 44 binpath="$tmpdir/docker-master/docker" 45 docker pull dockerswarm/dind-master 46 ID=$(docker create dockerswarm/dind-master) 47 docker cp "$ID:/usr/local/bin/docker" "$tmpdir/docker-master" 48 49 echo "Running tests with Docker master" 50 DOCKER_BINARY="$binpath" DOCKER_VOLUME="$DOCKER_VOLUME" ./run.sh 51 52 # Cleanup. 53 docker rm -f "$ID"