mirror of
https://gitlab.com/davical-project/davical.git
synced 2026-05-31 03:34:18 +00:00
Improvements to run_regressions.sh options
* Add q to quit * Loop if an invalid command is entered, instead of continuing As part of this I converted the large if/elif/elif/.../fi to a case statement, a bit easier to read.
This commit is contained in:
parent
7a8c7b5b25
commit
45c74a628b
@ -69,53 +69,73 @@ check_result() {
|
|||||||
cat "${REGRESSION}/diffs/${TEST}"
|
cat "${REGRESSION}/diffs/${TEST}"
|
||||||
echo "======================================="
|
echo "======================================="
|
||||||
fi
|
fi
|
||||||
if [ "${ACCEPT_ALL}" = "" ] ; then
|
valid_answer=0
|
||||||
read -p "[${TEST}] Accept new result [e/s/r/v/f/m/x/y/w/N/?]? " ACCEPT
|
|
||||||
else
|
while [ $valid_answer -eq 0 ]; do
|
||||||
ACCEPT=${ACCEPT_ALL}
|
if [ "${ACCEPT_ALL}" = "" ] ; then
|
||||||
fi
|
read -p "[${TEST}] Accept new result [e/s/r/v/f/m/x/y/w/N/q/?]? " ACCEPT
|
||||||
if [ "${ACCEPT}" = "y" ] ; then
|
else
|
||||||
cp "${RESULTS}/${TEST}" "${REGRESSION}/${TEST}.result"
|
ACCEPT=${ACCEPT_ALL}
|
||||||
elif [ "${ACCEPT}" = "x" ]; then
|
fi
|
||||||
echo "./dav_test --dsn '${DSN}' ${WEBHOST} ${ALTHOST} --suite '${SUITE}' --case '${TEST}' --debug"
|
|
||||||
if [ -z "$IS_CI" ]; then exit 2; fi
|
case $ACCEPT in
|
||||||
elif [ "${ACCEPT}" = "v" ]; then
|
y)
|
||||||
echo "Showing test $REGRESSION/${TEST}.test"
|
cp "${RESULTS}/${TEST}" "${REGRESSION}/${TEST}.result"
|
||||||
cat "$REGRESSION/${TEST}.test"
|
valid_answer=1
|
||||||
return 2
|
;;
|
||||||
elif [ "${ACCEPT}" = "s" ]; then
|
x)
|
||||||
echo "Displaying side-by-side diff of ${TEST} results"
|
echo "./dav_test --dsn '${DSN}' ${WEBHOST} ${ALTHOST} --suite '${SUITE}' --case '${TEST}' --debug"
|
||||||
sdiff --text "${REGRESSION}/${TEST}.result" "${RESULTS}/${TEST}" | less -R
|
if [ -z "$IS_CI" ]; then exit 2; fi
|
||||||
return 3
|
valid_answer=1
|
||||||
elif [ "${ACCEPT}" = "w" ]; then
|
;;
|
||||||
echo "Displaying colourized diff of ${TEST} results"
|
v)
|
||||||
wdiff -n -w $'\033[30;41m' -x $'\033[0m' -y $'\033[30;42m' -z $'\033[0m' "${REGRESSION}/${TEST}.result" "${RESULTS}/${TEST}" | less -R
|
echo "Showing test $REGRESSION/${TEST}.test"
|
||||||
return 3
|
cat "$REGRESSION/${TEST}.test"
|
||||||
elif [ "${ACCEPT}" = "m" ]; then
|
return 2
|
||||||
echo "Displaying side-by-side 'meld' of ${TEST} results"
|
;;
|
||||||
$MELD "${REGRESSION}/${TEST}.result" "${RESULTS}/${TEST}"
|
s)
|
||||||
return 3
|
echo "Displaying side-by-side diff of ${TEST} results"
|
||||||
elif [ "${ACCEPT}" = "f" ]; then
|
sdiff --text "${REGRESSION}/${TEST}.result" "${RESULTS}/${TEST}" | less -R
|
||||||
echo "Showing full details of ${TEST}"
|
return 3
|
||||||
cat "${REGRESSION}/${TEST}.test"
|
;;
|
||||||
echo "Showing full result of ${TEST}"
|
w)
|
||||||
cat "${RESULTS}/${TEST}"
|
echo "Displaying colourized diff of ${TEST} results"
|
||||||
return 3
|
wdiff -n -w $'\033[30;41m' -x $'\033[0m' -y $'\033[30;42m' -z $'\033[0m' "${REGRESSION}/${TEST}.result" "${RESULTS}/${TEST}" | less -R
|
||||||
elif [ "${ACCEPT}" = "e" ]; then
|
return 3
|
||||||
echo "Editing test $REGRESSION/${TEST}.test"
|
;;
|
||||||
vi "$REGRESSION/${TEST}.test"
|
m)
|
||||||
return 3
|
echo "Displaying side-by-side 'meld' of ${TEST} results"
|
||||||
elif [ "${ACCEPT}" = "r" ]; then
|
$MELD "${REGRESSION}/${TEST}.result" "${RESULTS}/${TEST}"
|
||||||
echo "Rerunning test ${TEST}"
|
return 3
|
||||||
return 1
|
;;
|
||||||
elif [ "${ACCEPT}" = "?" ]; then
|
f)
|
||||||
cat <<EOF
|
echo "Showing full details of ${TEST}"
|
||||||
|
cat "${REGRESSION}/${TEST}.test"
|
||||||
|
echo "Showing full result of ${TEST}"
|
||||||
|
cat "${RESULTS}/${TEST}"
|
||||||
|
return 3
|
||||||
|
;;
|
||||||
|
e)
|
||||||
|
echo "Editing test $REGRESSION/${TEST}.test"
|
||||||
|
vi "$REGRESSION/${TEST}.test"
|
||||||
|
return 3
|
||||||
|
;;
|
||||||
|
r)
|
||||||
|
echo "Rerunning test ${TEST}"
|
||||||
|
return 1
|
||||||
|
;;
|
||||||
|
q)
|
||||||
|
exit
|
||||||
|
;;
|
||||||
|
'?')
|
||||||
|
cat <<EOF
|
||||||
Options:
|
Options:
|
||||||
|
|
||||||
e = edit test (vi)
|
e = edit test (vi)
|
||||||
f = show full details of test and result
|
f = show full details of test and result
|
||||||
m = side-by-side 'meld'
|
m = side-by-side 'meld'
|
||||||
N = run next test (default)
|
N = run next test (default)
|
||||||
|
q = quit
|
||||||
r = re-run test
|
r = re-run test
|
||||||
s = side-by-side diff of actual and expected result
|
s = side-by-side diff of actual and expected result
|
||||||
v = show test
|
v = show test
|
||||||
@ -124,8 +144,13 @@ Options:
|
|||||||
y = make new result the expected result
|
y = make new result the expected result
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
return 3
|
return 3
|
||||||
fi
|
;;
|
||||||
|
*)
|
||||||
|
echo "Invalid command, please try again."
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
else
|
else
|
||||||
report_test_success
|
report_test_success
|
||||||
echo "Test ${TEST} passed OK!"
|
echo "Test ${TEST} passed OK!"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user