diff --git a/tests.aarbology.sh b/tests.aarbology.sh index 73c22ee1fc1ca179fe0b9570add67d159f277605..7da6a29fb3b5b99cd26c50e4604d8f90a78eea9e 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 49409017fd2dc08b90f73a103cedad7b7fc6a6ad..a65955931745d2328d06fa7063c15055322c3157 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 6fe0e0e05ca2d6b3283a0ee7bf2a0b55fa4091c7..99e448f6aa70da3394f89f205b5975d9c0bb37ca 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 d4b50a17785dc16075cf1f01e0a76b20eb433653..4c4fda0e8d2a56364fac9466c2bf242253092761 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 4b9749bfce2b914ae4e6e26f14d8032dd9fa7392..59d496745b94e4d22db1d52f1f3bbd492251eec9 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 4f6dc10747fdfa2ba20f3e7055e365ee9bfce4a3..d41ee32cd30b9fb495d97fd1a72e5500fbf38b4c 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"