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
36 lines
883 B
Bash
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
|
|
)
|