diff options
Diffstat (limited to 'tests/run.sh')
| -rwxr-xr-x | tests/run.sh | 38 |
1 files changed, 26 insertions, 12 deletions
diff --git a/tests/run.sh b/tests/run.sh index 3691700..8c2828e 100755 --- a/tests/run.sh +++ b/tests/run.sh @@ -1,11 +1,13 @@ #!/bin/bash -[ $# -ne 1 ] && { echo "Usage: $0 <run | break>"; exit 1; } +[ $# -ne 1 ] && { echo "Usage: $0 <run | break | verbose | reset>"; exit 1; } ##### Arguments ##### wai=$(dirname $(readlink -f $0)) out=$(mktemp) [ "$1" == "break" ] && int=1 || int=0 +[ "$1" == "verbose" ] && verbose=1 || verbose=0 +[ "$1" == "reset" ] && reset=1 || reset=0 ##################### ##### Utils Functions ##### @@ -27,7 +29,14 @@ for test in $(find ${wai} -type f -name "test-*.sh") do test_name=$(basename $test) expectations="${wai}/${test_name%.*}.out" - bash ${test} > "${out}" 2>&1 # Run Test + if [ $reset -eq 1 ] + then + bash ${test} > "${out}" 2>&1 # Run Test + cat "${out}" > "${expectations}" + continue + else + bash ${test} > "${out}" 2>&1 # Run Test + fi diff_out=$(diff "${out}" "${expectations}") if [ ! -z "${diff_out}" ] @@ -35,16 +44,15 @@ do fail "${test_name}" nb_fail=$(( nb_fail + 1 )) - if [ $int -eq 1 ] + if [ $int -eq 1 ] || [ $verbose -eq 1 ] then echo "========== Diff ==========" echo -e "${diff_out}" - echo "========== Original ==========" - cat "${expectations}" - echo "========== Test Output ==========" - cat "${out}" - clean - exit 1 + if [ $verbose -eq 0 ] + then + clean + exit 1 + fi fi else nb_pass=$(( nb_pass + 1 )) @@ -55,7 +63,13 @@ clean ################################# -echo -e "\n===== STATS =====" -echo "${nb_pass} pass" -echo "${nb_fail} fails" +if [ $reset -eq 0 ] +then + echo -e "\n===== STATS =====" + echo "${nb_pass} pass" + echo "${nb_fail} fails" + [ ${nb_fail} -gt 0 ] && exit 1 +else + echo "Reset done." +fi |
