66 lines
1.9 KiB
Bash
Executable file
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
|