forked from TrueCloudLab/distribution
de638db71e
Remove Makefile in favor of run.sh script or manual instructions. Update readme to reflect instructions for running integration tests. Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
50 lines
1,019 B
Bash
Executable file
50 lines
1,019 B
Bash
Executable file
#!/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
|
|
|