diff --git a/test/ADD-test-new.sh b/test/ADD-test-new.sh index 9e6e107..163366b 100755 --- a/test/ADD-test-new.sh +++ b/test/ADD-test-new.sh @@ -1,58 +1,79 @@ #!/usr/bin/env bash +#=============================================================================== # -# ADD a new test skeleton to test dir, but does not activate test +# FILE: ADD-test-new.sh +# +# USAGE: ADD-test-new.sh # -#### $$VERSION$$ v1.20-0-g2ab00a2 +# DESCRIPTION: creates interactive a new test skeleton, but does not activate test +# +# LICENSE: WTFPLv2 http://www.wtfpl.net/txt/copying/ +# AUTHOR: KayM (gnadelwartz), kay@rrr.de +# +#### $$VERSION$$ v1.21-pre-38-gf7b5c19 +#=============================================================================== # magic to ensure that we're always inside the root of our application, # no matter from which directory we'll run script GIT_DIR=$(git rev-parse --git-dir) cd "${GIT_DIR}/.." || exit 1 -echo -ne "\\nDo your really want to create an new test for bashbot test suite? (y/N) N\\b" +printf "\nDo your really want to create an new test for bashbot test suite? (y/N) N\b" read -r REALLY -[ "${REALLY}" != "y" ] && echo "Aborting ..." && exit 1 +[ "${REALLY}" != "y" ] && printf "Stop ...\n\n" && exit 1 # enter name -echo -ne "\\nEnter Name for the the new test, 6+ chars, no :space: (empty to abort) abort\\b\\b\\b\\b\\b" +printf "\nEnter Name for the the new test, 6+ chars, no :space: (empty to stop) stop\b\b\b\b" read -r NAME -if [ "${NAME}" = "" ] || [ "${NAME}" = "" ]; then echo "Aborting ..."; exit 1; fi +if [ "${NAME}" = "" ] || [ "${NAME}" = "" ]; then printf "Stop ...\n\n"; exit 1; fi # enter pass a-z -echo -ne "\\nEnter PASS \"a\" to \"z\" to execute the new test, d\\b" +printf "\nEnter PASS \"a\" to \"z\" to execute the new test, d\b" read -r PASS # pass to lower, default pass d PASS="${PASS,,}" [ "${PASS}" = "" ] && PASS="d" -[ "${#PASS}" != '1' ] && echo "Sorry, PASS must exactly one character from a to z, aborting ..." && exit 1 +[ "${#PASS}" != '1' ] && printf "SORRY: PASS must exactly one character from a to z! Stop ...\n\n" && exit 1 TEST="${PASS}-${NAME}-test" -echo -e " OK! You entered name \"${NAME}\" and pass \"${PASS}\".\\n" +printf "%s\n\n" " OK! Let's create test name \"${NAME}\" for pass \"${PASS}\"." # check if already exist if [ -f "test/${TEST}.sh" ] || [ -d "test/${TEST}" ]; then - echo "TEST EXIST ALREADY! Aborting ..." + printf "%s\n\n" "SORRY: Test test/${TEST}.sh already exists! Stop ..." exit 1 fi -echo "The following files will be created for test \"${TEST}.sh\":" -echo -e " test/${TEST}.sh\\n test/${TEST}/${TEST}.input\\n test/${TEST}/${TEST}.result" +printf "The following files will be created:\n" +printf "%s\n%s\n%s\n" " test/${TEST}.sh" " test/${TEST}/${TEST}.input" " test/${TEST}/${TEST}.result" -echo -ne "\\nCreate the new test for bashbot test suite? (y/N) N\\b" +printf "\nCreate the new test for bashbot test suite? (y/N) N\b" read -r REALLY -[ "${REALLY}" != "y" ] && echo "Aborting ..." && exit 1 +[ "${REALLY}" != "y" ] && printf "Stop ...\n\n" && exit 1 -echo -e " OK!\\n" +printf " OK!\n\n" # create files cat >"test/${TEST}.sh" <>"${LOGFILE}" - if ! diff -q "${BASHBOT_ETC}/${file}" "${REFDIR}/${file}" >>"${LOGFILE}"; then echo "${NOSUCCESS} Fail diff ${file}!"; FAIL="1"; fi + if ! diff -q "${BASHBOT_ETC}/${file}" "${REFDIR}/${file}" >>"${LOGFILE}"; then printf "%s\n" "${NOSUCCESS} Fail diff ${file}!"; FAIL="1"; fi done -echo " ... BASHBOT_ETC seems to work!" -echo "${SUCCESS}" +printf " ... BASHBOT_ETC seems to work!\n" +printf "%s\n" "${SUCCESS}"