#!/usr/bin/env bash # # ADD a new test skeleton to test dir, but does not activate test # #### $$VERSION$$ v1.2-0-gc50499c # 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 character 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" <