added more tests -- commits without scorsh-commands

master
KatolaZ 7 years ago
parent 33b7c33ab4
commit b0c7105a7f
  1. 4
      commits.go
  2. 60
      test/create_empty_commits.sh
  3. 13
      test/scorsh_functions
  4. 11
      test/test_spec
  5. 2
      workers.go

@ -146,7 +146,7 @@ func walkCommits(msg spoolMsg, w *worker) error {
oldrevCommit, err := repo.LookupCommit(oldRevOid)
if err != nil {
fmt.Fprintf(os.Stderr, "Commit: %s does not exist\n", oldRev)
return SCORSHerr(errNoCommit)
return fmt.Errorf("%s: %s", SCORSHerr(errNoCommit), oldRev)
}
newRevOid, _ := git.NewOid(newRev)
@ -154,7 +154,7 @@ func walkCommits(msg spoolMsg, w *worker) error {
newrevCommit, err := repo.LookupCommit(newRevOid)
if err != nil {
fmt.Fprintf(os.Stderr, "Commit: %s does not exist\n", newRev)
return SCORSHerr(errNoCommit)
return fmt.Errorf("%s: %s", SCORSHerr(errNoCommit), newRev)
}
curCommit := newrevCommit

@ -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

@ -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

@ -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 \

@ -106,7 +106,7 @@ func runWorker(w *worker) {
// process message
err := walkCommits(msg, w)
if err != nil {
log.Printf("[worker: %s] error in walk_commits: %s", err)
log.Printf("[worker: %s] error in walk_commits: %s", w.Name, err)
}
w.StatusChan <- msg
debug.log("[worker: %s] Sent message back: %s", w.Name, msg)

Loading…
Cancel
Save