mapnik/test/run
2016-06-23 09:46:45 +01:00

66 lines
1.9 KiB
Bash
Executable file

#!/usr/bin/env bash
set -o pipefail
set -eu
failures=0
cd "$( dirname "${BASH_SOURCE[0]}" )"
cd ../
source ./localize.sh
function run_step { >&2 echo -e "\033[1m\033[34m* $1\033[0m"; }
function run_substep { >&2 echo -e "\033[1m\033[36m* $1\033[0m"; }
function run_success { >&2 echo -e "\033[1m\033[32m* $1\033[0m"; }
function run_warn { >&2 echo -e "\033[1m\033[31m* $1\033[0m"; }
run_step "Starting Mapnik tests"
ran_a_test=false
if [ -d "test/data" ]; then
run_substep "Running C++ Unit tests..."
if [[ -f ./test/unit/run ]]; then
ran_a_test=true
./test/unit/run || failures=$((failures+$?))
else
run_warn "Skipping unit tests since they were not built"
fi
run_substep "Running standalone C++ tests..."
found_test=false
if [ -n "$(find test/standalone/ -maxdepth 1 -name '*-bin' -print -quit)" ]; then
for FILE in test/standalone/*-bin; do
found_test=true
ran_a_test=true
${FILE} || failures=$((failures+$?))
done
fi
if [[ $found_test == false ]]; then
run_warn "Skipping standalone tests since they were not built"
fi
if [ -d "test/data-visual/styles" ]; then
run_substep "Running visual tests..."
if [ -z "${JOBS:-}" ]; then
JOBS=1
fi
if [[ -f ./test/visual/run ]]; then
ran_a_test=true
./test/visual/run -j $JOBS || failures=$((failures+$?))
else
run_warn "Skipping visual tests since they were not built"
fi
else
echo "Notice: Skipping visual tests, the visual tests data are not present under the standard directory \"test/data-visual\"."
fi
else
echo "Notice: Skipping all tests, the test data are not present under the standard directory \"test/data\"."
fi
if [[ $ran_a_test == false ]]; then
run_warn "**** WARNING: no tests were run ****"
fi
exit $failures