37 lines
950 B
Bash
37 lines
950 B
Bash
|
#! /bin/bash
|
||
|
|
||
|
set -e
|
||
|
|
||
|
# Change to itest dir
|
||
|
cd "$(dirname "$0")"
|
||
|
|
||
|
function check_results() {
|
||
|
local f=$1
|
||
|
local min=$2
|
||
|
awk "/ok/ { count=count+1 } END { print \"$f: Run count\", count; if (count < $min) { print \"Expected > $min\"; exit 1 } }" "$f"
|
||
|
}
|
||
|
|
||
|
function main() {
|
||
|
# Clear and create result files
|
||
|
echo "start" > ./start_result.txt
|
||
|
echo "start" > ./exec_result.txt
|
||
|
|
||
|
# Clean old containers
|
||
|
docker-compose down || true
|
||
|
# Start containers
|
||
|
echo "Starting containers"
|
||
|
docker-compose up -d --build
|
||
|
echo "Containers started. Sleeping for 70s to let schedules run"
|
||
|
# Schedules run on the shortest interval of a minute. This should allow time
|
||
|
# for the containers to start and execute once
|
||
|
sleep 70
|
||
|
echo "Stopping containers"
|
||
|
docker-compose stop
|
||
|
|
||
|
# Validate result shows minimum amount of executions
|
||
|
check_results ./start_result.txt 2
|
||
|
check_results ./exec_result.txt 1
|
||
|
}
|
||
|
|
||
|
main
|