Files
weave/test/600_proxy_docker_py.sh
T
Bryan Boreham fdbffce93a Use modified docker-py to mask change in Docker error message
Before this change, when using Docker 17.06 we get:
tests/integration/container_test.py:121: in test_create_with_restart_policy
    'You cannot remove a running container', err
    E   AssertionError: 'You cannot remove a running container' not found in u'You cannot remove a restarting container

The modified image simply checks for "You cannot remove a".
2017-07-13 14:00:23 +00:00

49 lines
1.2 KiB
Bash
Executable File

#! /bin/bash
# Explicitly not called _test.sh - this isn't run, but imported by other tests.
. "$(dirname "$0")/config.sh"
IMAGE="weaveworks/docker-py:1.9.0-prime"
docker_py_test() {
SHARD=$1
TOTAL_SHARDS=$2
start_suite "Run docker-py test suite against the proxy"
# Work round https://github.com/docker/docker-py/issues/852
docker_on $HOST1 pull busybox:buildroot-2014.02 >/dev/null
# Get a list of the tests for use to shard
docker_on $HOST1 pull $IMAGE >/dev/null
CANDIDATES=$(docker_on $HOST1 run \
$IMAGE \
py.test --collect-only tests/integration/ \
| sed -En "s/\s*<Module '([[:print:]]+)'>/\1/p")
i=0
TESTS=
for test in $CANDIDATES; do
if [ $(($i % $TOTAL_SHARDS)) -eq $SHARD ]; then
TESTS="$TESTS $test"
fi
i=$(($i + 1))
done
weave_on $HOST1 launch --no-default-ipalloc
DOCKER_BRIDGE_IP=$(weave_on $HOST1 docker-bridge-ip)
if docker_on $HOST1 run \
-e NOT_ON_HOST=true \
-e DOCKER_HOST=tcp://$DOCKER_BRIDGE_IP:12375 \
-v /tmp:/tmp \
-v /var/run/docker.sock:/var/run/docker.sock \
$IMAGE py.test $TESTS ; then
assert_raises "true"
else
assert_raises "false"
fi
end_suite
}