51 lines
		
	
	
		
			1019 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
			
		
		
	
	
			51 lines
		
	
	
		
			1019 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
 | 
						|
 |