summaryrefslogtreecommitdiff
path: root/test/create_empty_commits.sh
diff options
context:
space:
mode:
authorKatolaZ <katolaz@freaknet.org>2017-08-10 01:06:56 +0100
committerKatolaZ <katolaz@freaknet.org>2017-08-10 01:06:56 +0100
commitb0c7105a7f08389e012ce4882b38030df54cf474 (patch)
tree820c751e886efd7b4843643c391f4fed1a0b46b3 /test/create_empty_commits.sh
parent33b7c33ab447a0463e414c6cf8f9a2cd2d047a20 (diff)
added more tests -- commits without scorsh-commands
Diffstat (limited to 'test/create_empty_commits.sh')
-rwxr-xr-xtest/create_empty_commits.sh60
1 files changed, 60 insertions, 0 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