Files
docker-cli/components/engine/hack/make/test-integration-cli
unclejack 010f288951 cli integration: fix wait race
The wait at the end of cli integration script could end up failing if
the process had already exited. This was making it look like the tests
have failed.

This change fixes the problem.

Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
Upstream-commit: 22152ccc47e641050da85b80cebf2912b42fd122
Component: engine
2014-04-04 19:06:55 +03:00

36 lines
883 B
Bash

#!/bin/bash
DEST=$1
set -e
# subshell so that we can export PATH without breaking other things
(
export PATH="$DEST/../binary:$DEST/../dynbinary:$PATH"
DOCKER_GRAPHDRIVER=${DOCKER_GRAPHDRIVER:-vfs}
DOCKER_EXECDRIVER=${DOCKER_EXECDRIVER:-native}
bundle_test_integration_cli() {
go_test_dir ./integration-cli
}
if ! command -v docker &> /dev/null; then
echo >&2 'error: binary or dynbinary must be run before test-integration-cli'
false
fi
echo "running cli integration tests using graphdriver: '$DOCKER_GRAPHDRIVER' and execdriver: '$DOCKER_EXECDRIVER'"
docker -d -D -s $DOCKER_GRAPHDRIVER -e $DOCKER_EXECDRIVER -p $DEST/docker.pid &> $DEST/docker.log &
# pull the busybox image before running the tests
sleep 2
docker pull busybox
bundle_test_integration_cli 2>&1 \
| tee $DEST/test.log
DOCKERD_PID=$(cat $DEST/docker.pid)
kill $DOCKERD_PID
wait $DOCKERD_PID || true
)