Files
cameradar/test/test.sh
T
2018-03-12 14:58:29 +01:00

73 lines
1.6 KiB
Bash
Executable File

#!/bin/bash
# check if a debug package exist in the current folder
if ! ls ./cameradar_*_Debug_Linux.tar.gz 1> /dev/null 2>&1; then
(echo "no debug package in the current folder"; exit 137)
exit 137
fi
cams_name_pattern="fake_camera_"
cmd=""
function make_docker_command {
cmd="docker run --rm"
# start cameras
for (( i=1; i<=$1; i++ )); do
name="$cams_name_pattern$i"
cmd="$cmd --link=\"$name\""
done
# add mysql link
cmd="$cmd --link=\"cameradar-database\""
# add cameradar sources
cmd="$cmd -v \"$(pwd)/src:/go/src/cameradartest\""
# add cameradar testing volume
cmd="$cmd -v \"$(pwd)/:/tmp/tests\""
# add cameradar shared volume
cmd="$cmd -v \"$(pwd)/:/tmp/shared\""
# add container name
cmd="$cmd cameradartest"
}
function start_test {
# Generate all cameras
./docker/gen_cameras.sh start $1 ./docker/cameratest.conf.tmpl.json
# Prepare docker command
make_docker_command $1
# Launch docker command
eval $cmd
# Get its return
ret=$?
# Stop all camera containers
./docker/gen_cameras.sh stop
return $ret
}
echo "building docker images"
# building fake-camera container
docker build --no-cache -f Dockerfile-camera -t fake-camera .
# building cameradartest image
docker build --no-cache -t cameradartest .
# getting mysql
echo "starting mysql"
docker pull mysql:5.7
docker run --name cameradar-database -e MYSQL_DATABASE=cmrdr -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
start_test 5
ret=$?
echo "Tests returned ${ret}"
# stop mysql
echo "stopping mysql"
docker rm -f cameradar-database
exit $ret