diff options
Diffstat (limited to 'test')
-rwxr-xr-x | test/create_empty_commits.sh | 60 | ||||
-rw-r--r-- | test/scorsh_functions | 13 | ||||
-rw-r--r-- | test/test_spec | 11 |
3 files changed, 78 insertions, 6 deletions
diff --git a/test/create_empty_commits.sh b/test/create_empty_commits.sh new file mode 100755 index 0000000..6f6a7f8 --- /dev/null +++ b/test/create_empty_commits.sh @@ -0,0 +1,60 @@ +#!/bin/sh + +. ./scorsh_functions + +LINE_FILE=.line_file +cd ${SCORSH_APP} +LAST_LINE=$(wc -l scorsh.log | cut -d " " -f 1) +echo ${LAST_LINE} > ${LINE_FILE} +cd - > /dev/null + +### create an empty git commit without a scorsh-command the first +### commit will be ignored by scorsh for the moment, due to an error +### on the 0000...0000 oid +cd ${LOCAL_REPO} +git commit --allow-empty -m "this is an empty commit" +check "[ $? -eq 0 ]" $0 "create_first_commit" + +LAST_LINE=$(cat ${SCORSH_APP}/${LINE_FILE}) +git push + +cd - > /dev/null + +cd ${SCORSH_APP} +ret=$(tail -n +${LAST_LINE} scorsh.log | grep -c "Invalid commit ID") +sleep 1 +LAST_LINE=$(wc -l scorsh.log | cut -d " " -f 1) +echo ${LAST_LINE} > ${LINE_FILE} +cd - > /dev/null + +check "[ \"$ret\" = \"2\" ] " $0 "check_first_commit" + +### create two more commits without scorsh-commands +cd ${LOCAL_REPO} +git commit --allow-empty -m "second commit" +check "[ $? -eq 0 ]" $0 "create_second_commit" +git commit --allow-empty -m "third commit" +check "[ $? -eq 0 ]" $0 "create_third_commit" + +LAST_LINE=$(cat ${SCORSH_APP}/${LINE_FILE}) +commits=$(git log | grep "^commit " | cut -d " " -f 2 | head -2) +message_id=$(git push | grep "remote: id:" | cut -d " " -f 3) +cd - > /dev/null + +cd ${SCORSH_APP} +sleep 1 +for c in ${commits}; do + ret=$(tail -n +${LAST_LINE} scorsh.log | grep -c "error parsing commit ${c}: no SCORSH message found") + check "[ \"$ret\" = \"2\" ]" $0 "process_empty_commit" +done + +LAST_LINE=$(wc -l scorsh.log | cut -d " " -f 1) +echo ${LAST_LINE} > ${LINE_FILE} +cd - > /dev/null + + +##check_fatal "[ 1 -eq 0 ]" $0 "abort_on_purpose" + +rm ${LINE_FILE} + +return_results diff --git a/test/scorsh_functions b/test/scorsh_functions index 7f4fb1b..e007f82 100644 --- a/test/scorsh_functions +++ b/test/scorsh_functions @@ -13,6 +13,17 @@ failed(){ } ## func +fatal(){ + + TEST_NAME="$1" + TEST_SECTION="$2" + + echo "[\033[7;31mFATAL\033[0m] -- ${TEST_NAME}:${TEST_SECTION} " + FAILED_TESTS=$((${FAILED_TESTS} + 1)) +} + + +## func passed(){ TEST_NAME="$1" @@ -52,7 +63,7 @@ check_fatal(){ if $(echo ${EXPR}) ; then passed ${TEST_NAME} ${TEST_SECTION} else - failed ${TEST_NAME} ${TEST_SECTION} + fatal ${TEST_NAME} ${TEST_SECTION} echo "Fatal test failed -- Aborting" exit 1 fi diff --git a/test/test_spec b/test/test_spec index f085e9f..840fd44 100644 --- a/test/test_spec +++ b/test/test_spec @@ -20,11 +20,12 @@ LOCAL_REPO=$(realpath "./testbed_repo") TESTS="\ -./create_testbed.sh \ -./configure_app.sh \ -./start_scorsh.sh \ -./stop_scorsh.sh \ -./destroy_testbed.sh \ +./create_testbed.sh \ +./configure_app.sh \ +./start_scorsh.sh \ +./create_empty_commits.sh \ +./stop_scorsh.sh \ +./destroy_testbed.sh \ " ##./destroy_testbed.sh \ |