forked from TrueCloudLab/distribution
51 lines
1,019 B
Bash
51 lines
1,019 B
Bash
|
#!/usr/bin/env bash
|
||
|
set -e
|
||
|
|
||
|
cd "$(dirname "$(readlink -f "$BASH_SOURCE")")"
|
||
|
|
||
|
# Load the helpers.
|
||
|
#. helpers.bash
|
||
|
|
||
|
TESTS=${@:-.}
|
||
|
|
||
|
# Drivers to use for Docker engines the tests are going to create.
|
||
|
STORAGE_DRIVER=${STORAGE_DRIVER:-overlay}
|
||
|
EXEC_DRIVER=${EXEC_DRIVER:-native}
|
||
|
|
||
|
|
||
|
function execute() {
|
||
|
>&2 echo "++ $@"
|
||
|
eval "$@"
|
||
|
}
|
||
|
|
||
|
# Set IP address in /etc/hosts for localregistry
|
||
|
IP=$(ifconfig eth0|grep "inet addr:"| cut -d: -f2 | awk '{ print $1}')
|
||
|
execute echo "$IP localregistry" >> /etc/hosts
|
||
|
|
||
|
# Setup certificates
|
||
|
execute sh install_certs.sh localregistry
|
||
|
|
||
|
# Start the docker engine.
|
||
|
execute docker --daemon --log-level=panic \
|
||
|
--storage-driver="$STORAGE_DRIVER" --exec-driver="$EXEC_DRIVER" &
|
||
|
DOCKER_PID=$!
|
||
|
|
||
|
# Wait for it to become reachable.
|
||
|
tries=10
|
||
|
until docker version &> /dev/null; do
|
||
|
(( tries-- ))
|
||
|
if [ $tries -le 0 ]; then
|
||
|
echo >&2 "error: daemon failed to start"
|
||
|
exit 1
|
||
|
fi
|
||
|
sleep 1
|
||
|
done
|
||
|
|
||
|
execute time docker-compose build
|
||
|
|
||
|
execute docker-compose up -d
|
||
|
|
||
|
# Run the tests.
|
||
|
execute time bats -p $TESTS
|
||
|
|