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"