#!/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