From 29b505d2d2420fb53d2387bc6bc23041a5956653 Mon Sep 17 00:00:00 2001 From: Jan Travnicek <Jan.Travnicek@fit.cvut.cz> Date: Sun, 6 Mar 2016 21:22:08 +0100 Subject: [PATCH] output results in parallel runs --- tests.aarbology.sh | 69 +++++++++++++++++++++++++++++-------------- tests.aconversion.sh | 54 ++++++++++++++++++++++----------- tests.adeterminize.sh | 54 ++++++++++++++++++++++----------- tests.anormalize.sh | 54 ++++++++++++++++++++++----------- tests.astringology.sh | 63 ++++++++++++++++++++++++++------------- tests.examples.sh | 54 ++++++++++++++++++++++----------- 6 files changed, 238 insertions(+), 110 deletions(-) diff --git a/tests.aarbology.sh b/tests.aarbology.sh index 73c22ee1fc..7da6a29fb3 100755 --- a/tests.aarbology.sh +++ b/tests.aarbology.sh @@ -16,12 +16,12 @@ RAND_ALPHABET=2 EXECUTABLES="arand2 atrim2 adeterminize2 anormalize2 " TESTS_DIR="`pwd`/examples2/tree" -RES_GOOD=0 -RES_FAIL=0 -RES_TIME=0 -RES_SEGV=0 -RES_UNKN=0 -MATCHES=0 +RES_GOOD= +RES_FAIL= +RES_TIME= +RES_SEGV= +RES_UNKN= +MATCHES= # ---------------------------- @@ -97,7 +97,7 @@ function runTest2 { registerResult 1 return 1 else - MATCHES=$(($MATCHES + $OUT2)) + echo -n "+$OUT2" >> $MATCHES registerResult 0 return 0 fi @@ -107,40 +107,62 @@ function registerResult { case $1 in 0) echo -n "." - ((RES_GOOD++)) + echo -n "+1" >> $RES_GOOD ;; 1) echo -n "x" - ((RES_FAIL++)) + echo -n "+1" >> $RES_FAIL ;; 2) echo -n "T" - ((RES_TIME++)) + echo -n "+1" >> $RES_TIME ;; 3) echo -n "E" - ((RES_SEGV++)) + echo -n "+1" >> $RES_SEGV ;; *) echo -n "?" - ((RES_UNKN++)) + echo -n "+1" >> $RES_UNKN ;; esac } +function initResults { + RES_GOOD=$(mktemp) + echo -n "0" > $RES_GOOD + RES_FAIL=$(mktemp) + echo -n "0" > $RES_FAIL + RES_TIME=$(mktemp) + echo -n "0" > $RES_TIME + RES_SEGV=$(mktemp) + echo -n "0" > $RES_SEGV + RES_UNKN=$(mktemp) + echo -n "0" > $RES_UNKN + MATCHES=$(mktemp) + echo -n "0" > $MATCHES +} + function clearResults { - RES_GOOD=0 - RES_FAIL=0 - RES_TIME=0 - RES_SEGV=0 - RES_UNKN=0 - MATCHES=0 + rm $RES_GOOD + rm $RES_FAIL + rm $RES_TIME + rm $RES_SEGV + rm $RES_UNKN + rm $MATCHES } function outputResults { + echo "" >> $RES_GOOD + echo "" >> $RES_FAIL + echo "" >> $RES_TIME + echo "" >> $RES_SEGV + echo "" >> $RES_UNKN + echo "" >> $MATCHES + # summary echo -ne "\n\t" - echo "RES: GOOD:" $RES_GOOD ", FAIL:" $RES_FAIL ", TIME:" $RES_TIME ", SEGV:" $RES_SEGV, "UNKN:" $RES_UNKN, "MATCHES:" $MATCHES + echo "RES: GOOD:" $(bc < $RES_GOOD) ", FAIL:" $(bc < $RES_FAIL) ", TIME:" $(bc < $RES_TIME) ", SEGV:" $(bc < $RES_SEGV), "UNKN:" $(bc < $RES_UNKN), "MATCHES:" $(bc < $MATCHES) echo "" } @@ -149,7 +171,7 @@ function runTestSubtree { echo $1 echo -ne "\t" - clearResults + initResults # predefined tests first for SUBJECT_FILE in `ls $TESTS_DIR/aarbology.test*.subject.xml`; do @@ -186,6 +208,7 @@ function runTestSubtree { wait outputResults + clearResults } # $1 - aconversions2 sequence @@ -193,7 +216,7 @@ function runTestPattern { echo $1 echo -ne "\t" - clearResults + initResults # predefined tests first for SUBJECT_FILE in `ls $TESTS_DIR/aarbology.test*.subject.xml`; do @@ -230,6 +253,7 @@ function runTestPattern { wait outputResults + clearResults } # $1 - aconversions2 sequence @@ -237,7 +261,7 @@ function runTestPatternEnds { echo $1 echo -ne "\t" - clearResults + initResults # predefined tests first for SUBJECT_FILE in `ls $TESTS_DIR/aarbology.test*.subject.xml`; do @@ -274,6 +298,7 @@ function runTestPatternEnds { wait outputResults + clearResults } runTestPatternEnds "Exact Pattern Matching Automaton (PrefixRanked)" "./aarbology2 -a exactPatternMatchingAutomaton -p <(./acast2 -t PrefixRankedPattern -i <(./alphabetManip2 -o add -i \"\$PATTERN_FILE\" -a <( ./alphabetManip2 -o get -i \"\$SUBJECT_FILE\" ) ) ) | ./adeterminize2 | ./arun2 -t occurrences -a - -i <( ./acast2 -t PrefixRankedTree -i \"\$SUBJECT_FILE\" | ./acast2 -t LinearString ) | ./astat2 -p size --set" diff --git a/tests.aconversion.sh b/tests.aconversion.sh index 49409017fd..a659559317 100755 --- a/tests.aconversion.sh +++ b/tests.aconversion.sh @@ -14,11 +14,11 @@ RAND_ALPHABET=4 EXECUTABLES="arand2 aepsilon2 atrim2 adeterminize2 aminimize2 anormalize2 acompare2 aconversions2" TESTS_DIR="`pwd`/examples2/automaton" -RES_GOOD=0 -RES_FAIL=0 -RES_TIME=0 -RES_SEGV=0 -RES_UNKN=0 +RES_GOOD= +RES_FAIL= +RES_TIME= +RES_SEGV= +RES_UNKN= # ---------------------------- @@ -88,39 +88,58 @@ function registerResult { case $1 in 0) echo -n "." - ((RES_GOOD++)) + echo -n "+1" >> $RES_GOOD ;; 1) echo -n "x" - ((RES_FAIL++)) + echo -n "+1" >> $RES_FAIL ;; 2) echo -n "T" - ((RES_TIME++)) + echo -n "+1" >> $RES_TIME ;; 3) echo -n "E" - ((RES_SEGV++)) + echo -n "+1" >> $RES_SEGV ;; *) echo -n "?" - ((RES_UNKN++)) + echo -n "+1" >> $RES_UNKN ;; esac } +function initResults { + RES_GOOD=$(mktemp) + echo -n "0" > $RES_GOOD + RES_FAIL=$(mktemp) + echo -n "0" > $RES_FAIL + RES_TIME=$(mktemp) + echo -n "0" > $RES_TIME + RES_SEGV=$(mktemp) + echo -n "0" > $RES_SEGV + RES_UNKN=$(mktemp) + echo -n "0" > $RES_UNKN +} + function clearResults { - RES_GOOD=0 - RES_FAIL=0 - RES_TIME=0 - RES_SEGV=0 - RES_UNKN=0 + rm $RES_GOOD + rm $RES_FAIL + rm $RES_TIME + rm $RES_SEGV + rm $RES_UNKN } function outputResults { + echo "" >> $RES_GOOD + echo "" >> $RES_FAIL + echo "" >> $RES_TIME + echo "" >> $RES_SEGV + echo "" >> $RES_UNKN + # summary echo -ne "\n\t" - echo "RES: GOOD:" $RES_GOOD ", FAIL:" $RES_FAIL ", TIME:" $RES_TIME ", SEGV:" $RES_SEGV, "UNKN:" $RES_UNKN + echo "RES: GOOD:" $(bc < $RES_GOOD) ", FAIL:" $(bc < $RES_FAIL) ", TIME:" $(bc < $RES_TIME) ", SEGV:" $(bc < $RES_SEGV), "UNKN:" $(bc < $RES_UNKN) echo "" } @@ -129,7 +148,7 @@ function runTest { echo $1 echo -ne "\t" - clearResults + initResults # predefined tests first for FILE in `ls $TESTS_DIR/aconversion.test*`; do @@ -155,6 +174,7 @@ function runTest { wait outputResults + clearResults } # FA -> RG -> FA diff --git a/tests.adeterminize.sh b/tests.adeterminize.sh index 6fe0e0e05c..99e448f6aa 100755 --- a/tests.adeterminize.sh +++ b/tests.adeterminize.sh @@ -9,11 +9,11 @@ LOGFILE="log_tests.txt" EXECUTABLES="aepsilon2 atrim2 adeterminize2 aminimize2 anormalize2 acompare2" TESTS_DIR="`pwd`/examples2/automaton" -RES_GOOD=0 -RES_FAIL=0 -RES_TIME=0 -RES_SEGV=0 -RES_UNKN=0 +RES_GOOD= +RES_FAIL= +RES_TIME= +RES_SEGV= +RES_UNKN= # ---------------------------- @@ -71,39 +71,58 @@ function registerResult { case $1 in 0) echo -n "." - ((RES_GOOD++)) + echo -n "+1" >> $RES_GOOD ;; 1) echo -n "x" - ((RES_FAIL++)) + echo -n "+1" >> $RES_FAIL ;; 2) echo -n "T" - ((RES_TIME++)) + echo -n "+1" >> $RES_TIME ;; 3) echo -n "E" - ((RES_SEGV++)) + echo -n "+1" >> $RES_SEGV ;; *) echo -n "?" - ((RES_UNKN++)) + echo -n "+1" >> $RES_UNKN ;; esac } +function initResults { + RES_GOOD=$(mktemp) + echo -n "0" > $RES_GOOD + RES_FAIL=$(mktemp) + echo -n "0" > $RES_FAIL + RES_TIME=$(mktemp) + echo -n "0" > $RES_TIME + RES_SEGV=$(mktemp) + echo -n "0" > $RES_SEGV + RES_UNKN=$(mktemp) + echo -n "0" > $RES_UNKN +} + function clearResults { - RES_GOOD=0 - RES_FAIL=0 - RES_TIME=0 - RES_SEGV=0 - RES_UNKN=0 + rm $RES_GOOD + rm $RES_FAIL + rm $RES_TIME + rm $RES_SEGV + rm $RES_UNKN } function outputResults { + echo "" >> $RES_GOOD + echo "" >> $RES_FAIL + echo "" >> $RES_TIME + echo "" >> $RES_SEGV + echo "" >> $RES_UNKN + # summary echo -ne "\n\t" - echo "RES: GOOD:" $RES_GOOD ", FAIL:" $RES_FAIL ", TIME:" $RES_TIME ", SEGV:" $RES_SEGV, "UNKN:" $RES_UNKN + echo "RES: GOOD:" $(bc < $RES_GOOD) ", FAIL:" $(bc < $RES_FAIL) ", TIME:" $(bc < $RES_TIME) ", SEGV:" $(bc < $RES_SEGV), "UNKN:" $(bc < $RES_UNKN) echo "" } @@ -112,7 +131,7 @@ function runTest { echo $1 \($2\) echo -ne "\t" - clearResults + initResults # predefined tests first for FILE in `ls $TESTS_DIR/$1*.xml | grep -v DET`; do @@ -124,6 +143,7 @@ function runTest { done outputResults + clearResults } runTest "NFSM" "./adeterminize2 | ./atrim2" diff --git a/tests.anormalize.sh b/tests.anormalize.sh index d4b50a1778..4c4fda0e8d 100755 --- a/tests.anormalize.sh +++ b/tests.anormalize.sh @@ -15,11 +15,11 @@ STRING_LENGHTS=6 EXECUTABLES="arand2 atrim2 anormalize2 agenerate2 aepsilon2" TESTS_DIR="`pwd`/examples2/grammar" -RES_GOOD=0 -RES_FAIL=0 -RES_TIME=0 -RES_SEGV=0 -RES_UNKN=0 +RES_GOOD= +RES_FAIL= +RES_TIME= +RES_SEGV= +RES_UNKN= # ---------------------------- @@ -89,39 +89,58 @@ function registerResult { case $1 in 0) echo -n "." - ((RES_GOOD++)) + echo -n "+1" >> $RES_GOOD ;; 1) echo -n "x" - ((RES_FAIL++)) + echo -n "+1" >> $RES_FAIL ;; 2) echo -n "T" - ((RES_TIME++)) + echo -n "+1" >> $RES_TIME ;; 3) echo -n "E" - ((RES_SEGV++)) + echo -n "+1" >> $RES_SEGV ;; *) echo -n "?" - ((RES_UNKN++)) + echo -n "+1" >> $RES_UNKN ;; esac } +function initResults { + RES_GOOD=$(mktemp) + echo -n "0" > $RES_GOOD + RES_FAIL=$(mktemp) + echo -n "0" > $RES_FAIL + RES_TIME=$(mktemp) + echo -n "0" > $RES_TIME + RES_SEGV=$(mktemp) + echo -n "0" > $RES_SEGV + RES_UNKN=$(mktemp) + echo -n "0" > $RES_UNKN +} + function clearResults { - RES_GOOD=0 - RES_FAIL=0 - RES_TIME=0 - RES_SEGV=0 - RES_UNKN=0 + rm $RES_GOOD + rm $RES_FAIL + rm $RES_TIME + rm $RES_SEGV + rm $RES_UNKN } function outputResults { + echo "" >> $RES_GOOD + echo "" >> $RES_FAIL + echo "" >> $RES_TIME + echo "" >> $RES_SEGV + echo "" >> $RES_UNKN + # summary echo -ne "\n\t" - echo "RES: GOOD:" $RES_GOOD ", FAIL:" $RES_FAIL ", TIME:" $RES_TIME ", SEGV:" $RES_SEGV, "UNKN:" $RES_UNKN + echo "RES: GOOD:" $(bc < $RES_GOOD) ", FAIL:" $(bc < $RES_FAIL) ", TIME:" $(bc < $RES_TIME) ", SEGV:" $(bc < $RES_SEGV), "UNKN:" $(bc < $RES_UNKN) echo "" } @@ -130,7 +149,7 @@ function runTest { echo $1 echo -ne "\t" - clearResults + initResults # predefined tests first for FILE in `ls $TESTS_DIR/anormalization.test*`; do @@ -156,6 +175,7 @@ function runTest { wait outputResults + clearResults } # Chomsky normal form and Greibach normal form diff --git a/tests.astringology.sh b/tests.astringology.sh index 4b9749bfce..59d496745b 100755 --- a/tests.astringology.sh +++ b/tests.astringology.sh @@ -14,12 +14,12 @@ RAND_ALPHABET=4 EXECUTABLES="arand2 atrim2 adeterminize2 anormalize2 " TESTS_DIR="`pwd`/examples2/string" -RES_GOOD=0 -RES_FAIL=0 -RES_TIME=0 -RES_SEGV=0 -RES_UNKN=0 -MATCHES=0 +RES_GOOD= +RES_FAIL= +RES_TIME= +RES_SEGV= +RES_UNKN= +MATCHES= # ---------------------------- @@ -91,7 +91,7 @@ function runTest2 { registerResult 1 return 1 else - MATCHES=$(($MATCHES + $OUT2)) + echo -n "+$OUT2" >> $MATCHES registerResult 0 return 0 fi @@ -101,40 +101,62 @@ function registerResult { case $1 in 0) echo -n "." - ((RES_GOOD++)) + echo -n "+1" >> $RES_GOOD ;; 1) echo -n "x" - ((RES_FAIL++)) + echo -n "+1" >> $RES_FAIL ;; 2) echo -n "T" - ((RES_TIME++)) + echo -n "+1" >> $RES_TIME ;; 3) echo -n "E" - ((RES_SEGV++)) + echo -n "+1" >> $RES_SEGV ;; *) echo -n "?" - ((RES_UNKN++)) + echo -n "+1" >> $RES_UNKN ;; esac } +function initResults { + RES_GOOD=$(mktemp) + echo -n "0" > $RES_GOOD + RES_FAIL=$(mktemp) + echo -n "0" > $RES_FAIL + RES_TIME=$(mktemp) + echo -n "0" > $RES_TIME + RES_SEGV=$(mktemp) + echo -n "0" > $RES_SEGV + RES_UNKN=$(mktemp) + echo -n "0" > $RES_UNKN + MATCHES=$(mktemp) + echo -n "0" > $MATCHES +} + function clearResults { - RES_GOOD=0 - RES_FAIL=0 - RES_TIME=0 - RES_SEGV=0 - RES_UNKN=0 - MATCHES=0 + rm $RES_GOOD + rm $RES_FAIL + rm $RES_TIME + rm $RES_SEGV + rm $RES_UNKN + rm $MATCHES } function outputResults { + echo "" >> $RES_GOOD + echo "" >> $RES_FAIL + echo "" >> $RES_TIME + echo "" >> $RES_SEGV + echo "" >> $RES_UNKN + echo "" >> $MATCHES + # summary echo -ne "\n\t" - echo "RES: GOOD:" $RES_GOOD ", FAIL:" $RES_FAIL ", TIME:" $RES_TIME ", SEGV:" $RES_SEGV, "UNKN:" $RES_UNKN, "MATCHES:" $MATCHES + echo "RES: GOOD:" $(bc < $RES_GOOD) ", FAIL:" $(bc < $RES_FAIL) ", TIME:" $(bc < $RES_TIME) ", SEGV:" $(bc < $RES_SEGV), "UNKN:" $(bc < $RES_UNKN), "MATCHES:" $(bc < $MATCHES) echo "" } @@ -143,7 +165,7 @@ function runTest { echo $1 echo -ne "\t" - clearResults + initResults # predefined tests first for SUBJECT_FILE in `ls $TESTS_DIR/astringology.test*.subject.xml`; do @@ -180,6 +202,7 @@ function runTest { wait outputResults + clearResults } runTest "Exact Boyer Moore Horspool" "./astringology2 -a boyerMooreHorspool -s \"\$SUBJECT_FILE\" -p <(./alphabetManip2 -o add -i \"\$PATTERN_FILE\" -a <(./alphabetManip2 -o get -i \"\$SUBJECT_FILE\")) | ./astat2 -p size --set" diff --git a/tests.examples.sh b/tests.examples.sh index 4f6dc10747..d41ee32cd3 100755 --- a/tests.examples.sh +++ b/tests.examples.sh @@ -9,11 +9,11 @@ LOGFILE="log_tests.txt" EXECUTABLES="aecho2" TESTS_DIR="`pwd`/examples2" -RES_GOOD=0 -RES_FAIL=0 -RES_TIME=0 -RES_SEGV=0 -RES_UNKN=0 +RES_GOOD= +RES_FAIL= +RES_TIME= +RES_SEGV= +RES_UNKN= # ---------------------------- @@ -69,39 +69,58 @@ function registerResult { case $1 in 0) echo -n "." - ((RES_GOOD++)) + echo -n "+1" >> $RES_GOOD ;; 1) echo -n "x" - ((RES_FAIL++)) + echo -n "+1" >> $RES_FAIL ;; 2) echo -n "T" - ((RES_TIME++)) + echo -n "+1" >> $RES_TIME ;; 3) echo -n "E" - ((RES_SEGV++)) + echo -n "+1" >> $RES_SEGV ;; *) echo -n "?" - ((RES_UNKN++)) + echo -n "+1" >> $RES_UNKN ;; esac } +function initResults { + RES_GOOD=$(mktemp) + echo -n "0" > $RES_GOOD + RES_FAIL=$(mktemp) + echo -n "0" > $RES_FAIL + RES_TIME=$(mktemp) + echo -n "0" > $RES_TIME + RES_SEGV=$(mktemp) + echo -n "0" > $RES_SEGV + RES_UNKN=$(mktemp) + echo -n "0" > $RES_UNKN +} + function clearResults { - RES_GOOD=0 - RES_FAIL=0 - RES_TIME=0 - RES_SEGV=0 - RES_UNKN=0 + rm $RES_GOOD + rm $RES_FAIL + rm $RES_TIME + rm $RES_SEGV + rm $RES_UNKN } function outputResults { + echo "" >> $RES_GOOD + echo "" >> $RES_FAIL + echo "" >> $RES_TIME + echo "" >> $RES_SEGV + echo "" >> $RES_UNKN + # summary echo -ne "\n\t" - echo "RES: GOOD:" $RES_GOOD ", FAIL:" $RES_FAIL ", TIME:" $RES_TIME ", SEGV:" $RES_SEGV, "UNKN:" $RES_UNKN + echo "RES: GOOD:" $(bc < $RES_GOOD) ", FAIL:" $(bc < $RES_FAIL) ", TIME:" $(bc < $RES_TIME) ", SEGV:" $(bc < $RES_SEGV), "UNKN:" $(bc < $RES_UNKN) echo "" } @@ -110,7 +129,7 @@ function runTest { echo $1 \(./aecho2\) echo -ne "\t" - clearResults + initResults # predefined tests first for FILE in `ls $TESTS_DIR/$1/*.xml`; do @@ -119,6 +138,7 @@ function runTest { done outputResults + clearResults } runTest "automaton" -- GitLab