From b0c7105a7f08389e012ce4882b38030df54cf474 Mon Sep 17 00:00:00 2001
From: KatolaZ <katolaz@freaknet.org>
Date: Thu, 10 Aug 2017 01:06:56 +0100
Subject: added more tests -- commits without scorsh-commands

---
 test/create_empty_commits.sh | 60 ++++++++++++++++++++++++++++++++++++++++++++
 test/scorsh_functions        | 13 +++++++++-
 test/test_spec               | 11 ++++----
 3 files changed, 78 insertions(+), 6 deletions(-)
 create mode 100755 test/create_empty_commits.sh

(limited to 'test')

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
@@ -12,6 +12,17 @@ failed(){
     FAILED_TESTS=$((${FAILED_TESTS} + 1))
 }
 
+## 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(){
 
@@ -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 \
-- 
cgit v1.2.3