shellharden/moduletests/run
2018-06-06 00:46:35 +02:00

32 lines
525 B
Bash
Executable File

#!/usr/bin/env bash
set -e
if test $# -lt 1; then
echo "Usage: $0 target/debug/shellharden test/original/*"
exit 1
fi
exe="$1"
shift
pass=()
fail=()
for i in "$@"; do
printf '\n——— \e[1m%s\e[m ———\n' "$i"
expect="$(dirname "$(dirname "$i")")/expected/$(basename "$i")"
if diff -u "$expect" <("$exe" --transform "$i" 2>&1); then
pass+=("$i")
else
fail+=("$i")
fi
done
echo
echo Passes:
printf '\t\e[32m%s\e[m\n' "${pass[@]}"
echo
echo Fails:
printf '\t\e[31m%s\e[m\n' "${fail[@]}"
exit ${#fail[@]}