mirror of
https://github.com/tests-always-included/mo.git
synced 2024-12-18 16:27:52 +00:00
40 lines
765 B
Bash
Executable File
40 lines
765 B
Bash
Executable File
#!/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 -wU5 - "${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
|