From 45c74a628b35da35087ddd68c788c35283d2fbcf Mon Sep 17 00:00:00 2001 From: Andrew Ruthven Date: Sat, 17 Dec 2022 14:54:48 +1300 Subject: [PATCH] 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. --- testing/run_regressions.sh | 111 +++++++++++++++++++++++-------------- 1 file changed, 68 insertions(+), 43 deletions(-) diff --git a/testing/run_regressions.sh b/testing/run_regressions.sh index d6facccd..715e9242 100755 --- a/testing/run_regressions.sh +++ b/testing/run_regressions.sh @@ -69,53 +69,73 @@ check_result() { cat "${REGRESSION}/diffs/${TEST}" echo "=======================================" fi - if [ "${ACCEPT_ALL}" = "" ] ; then - read -p "[${TEST}] Accept new result [e/s/r/v/f/m/x/y/w/N/?]? " ACCEPT - else - ACCEPT=${ACCEPT_ALL} - fi - if [ "${ACCEPT}" = "y" ] ; then - cp "${RESULTS}/${TEST}" "${REGRESSION}/${TEST}.result" - elif [ "${ACCEPT}" = "x" ]; then - echo "./dav_test --dsn '${DSN}' ${WEBHOST} ${ALTHOST} --suite '${SUITE}' --case '${TEST}' --debug" - if [ -z "$IS_CI" ]; then exit 2; fi - elif [ "${ACCEPT}" = "v" ]; then - echo "Showing test $REGRESSION/${TEST}.test" - cat "$REGRESSION/${TEST}.test" - return 2 - elif [ "${ACCEPT}" = "s" ]; then - echo "Displaying side-by-side diff of ${TEST} results" - sdiff --text "${REGRESSION}/${TEST}.result" "${RESULTS}/${TEST}" | less -R - return 3 - elif [ "${ACCEPT}" = "w" ]; then - echo "Displaying colourized diff of ${TEST} results" - wdiff -n -w $'\033[30;41m' -x $'\033[0m' -y $'\033[30;42m' -z $'\033[0m' "${REGRESSION}/${TEST}.result" "${RESULTS}/${TEST}" | less -R - return 3 - elif [ "${ACCEPT}" = "m" ]; then - echo "Displaying side-by-side 'meld' of ${TEST} results" - $MELD "${REGRESSION}/${TEST}.result" "${RESULTS}/${TEST}" - return 3 - elif [ "${ACCEPT}" = "f" ]; then - echo "Showing full details of ${TEST}" - cat "${REGRESSION}/${TEST}.test" - echo "Showing full result of ${TEST}" - cat "${RESULTS}/${TEST}" - return 3 - elif [ "${ACCEPT}" = "e" ]; then - echo "Editing test $REGRESSION/${TEST}.test" - vi "$REGRESSION/${TEST}.test" - return 3 - elif [ "${ACCEPT}" = "r" ]; then - echo "Rerunning test ${TEST}" - return 1 - elif [ "${ACCEPT}" = "?" ]; then - cat <