#!/usr/bin/env bash cd "${0%/*}" . ./mo PASS=0 FAIL=0 for TEST in tests/*.expected; do export BASE="${TEST%.expected}" export MO_FALSE_IS_EMPTY= echo -n "$BASE ... " ( if [[ -f "${BASE}.sh" ]]; then # Run a shell script if one exists "${BASE}.sh" else # Fall back to using .env and .template . "${BASE}.env" echo "Do not read this input" | mo "${BASE}.template" fi ) | diff -U5 - "${TEST}" > "${BASE}.diff" if [[ $? -ne 0 ]]; then echo "FAIL" FAIL=$(( FAIL + 1 )) else echo "ok" PASS=$(( PASS + 1 )) rm "${BASE}.diff" fi done echo "" echo "Pass: $PASS" echo "Fail: $FAIL" [[ $FAIL -gt 0 ]] && exit 1