diff --git a/test/ADD-test-new.sh b/test/ADD-test-new.sh new file mode 100755 index 0000000..5fb72d8 --- /dev/null +++ b/test/ADD-test-new.sh @@ -0,0 +1,73 @@ +#!/usr/bin/env bash +# +# ADD a new test skeleton to test dir, but does not activate test +# +#### $$VERSION$$ v0.70-dev2-9-g63ef678 + +# 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" +read -r REALLY + +[ "${REALLY}" != "y" ] && echo "Aborting ..." && 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" +read -r NAME + +if [ "${NAME}" = "" ] || [ "${NAME}" = "" ]; then echo "Aborting ..."; exit 1; fi + +# enter pass a-z +echo -ne "\\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 charater from a to z, aborting ..." && exit 1 + +TEST="${PASS}-${NAME}-test" + +echo -e " OK! You entered name \"${NAME}\" and pass \"${PASS}\".\\n" + +# check if already exist +if [ -f "test/${TEST}.sh" ] || [ -d "test/${TEST}" ]; then + echo "TEST EXIST ALREADY! Aborting ..." + 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" + +echo -ne "\\nCreate the new test for bashbot test suite? (y/N) N\\b" +read -r REALLY + +[ "${REALLY}" != "y" ] && echo "Aborting ..." && exit 1 + +echo -e " OK!\\n" + +# create files +cat >"test/${TEST}.sh" <