Skip to content
Snippets Groups Projects
Commit d6d85578 authored by Jan Trávníček's avatar Jan Trávníček
Browse files

test matching pattern aut. on prefRank notation

parent 388b1bb5
No related branches found
No related tags found
No related merge requests found
...@@ -21,6 +21,7 @@ RES_FAIL=0 ...@@ -21,6 +21,7 @@ RES_FAIL=0
RES_TIME=0 RES_TIME=0
RES_SEGV=0 RES_SEGV=0
RES_UNKN=0 RES_UNKN=0
MATCHES=0
   
   
# ---------------------------- # ----------------------------
...@@ -62,7 +63,7 @@ function generateSubtree { ...@@ -62,7 +63,7 @@ function generateSubtree {
} }
   
function generateSubject { function generateSubject {
./arand2 -t RT --nodes $RAND_SIZE_SUBJECT --terminals $(( $RANDOM % $RAND_ALPHABET + 1 )) --height $RAND_HEIGHT_SUBJECT 2>/dev/null ./arand2 -t RT --nodes $RAND_SIZE_SUBJECT --terminals $(( $RANDOM % $RAND_ALPHABET + 1 )) --height $RAND_HEIGHT_SUBJECT --rank 2 2>/dev/null
} }
   
# $1 = Occs number of occurrences expected # $1 = Occs number of occurrences expected
...@@ -70,10 +71,10 @@ function generateSubject { ...@@ -70,10 +71,10 @@ function generateSubject {
# $3 = subject # $3 = subject
# $4 = pattern # $4 = pattern
function runTest2 { function runTest2 {
OUT=`timeout $TESTCASE_TIMEOUT bash -c "SUBJECT_FILE=\"$3\"; PATTERN_FILE=\"$4\"; $2"` OUT2=`timeout $TESTCASE_TIMEOUT bash -c "SUBJECT_FILE=\"$3\"; PATTERN_FILE=\"$4\"; $2"`
RET=$? RET=$?
if [ $RET == 0 ]; then # ok if [ $RET == 0 ]; then # ok
OUT=`test $1 -eq $OUT` OUT=`test $1 -eq $OUT2`
fi fi
RET2=$? RET2=$?
   
...@@ -90,6 +91,7 @@ function runTest2 { ...@@ -90,6 +91,7 @@ function runTest2 {
if [ $RET != 0 ]; then # fail if [ $RET != 0 ]; then # fail
return 1 return 1
else else
MATCHES=$(($MATCHES + $OUT2))
return 0 return 0
fi fi
} }
...@@ -125,12 +127,13 @@ function clearResults { ...@@ -125,12 +127,13 @@ function clearResults {
RES_TIME=0 RES_TIME=0
RES_SEGV=0 RES_SEGV=0
RES_UNKN=0 RES_UNKN=0
MATCHES=0
} }
   
function outputResults { function outputResults {
# summary # summary
echo -ne "\n\t" echo -ne "\n\t"
echo "RES: GOOD:" $RES_GOOD ", FAIL:" $RES_FAIL ", TIME:" $RES_TIME ", SEGV:" $RES_SEGV, "UNKN:" $RES_UNKN echo "RES: GOOD:" $RES_GOOD ", FAIL:" $RES_FAIL ", TIME:" $RES_TIME ", SEGV:" $RES_SEGV, "UNKN:" $RES_UNKN, "MATCHES:" $MATCHES
echo "" echo ""
} }
   
...@@ -254,6 +257,8 @@ function runTestPatternEnds { ...@@ -254,6 +257,8 @@ function runTestPatternEnds {
outputResults outputResults
} }
   
runTestPattern "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"
RAND_SIZE_SUBJECT=100 RAND_SIZE_SUBJECT=100
runTestPatternEnds "Exact Tree Pattern Automaton (PrefixRanked)" "./aarbology2 -a exactTreePatternAutomaton -s <( ./acast2 -t PrefixRankedTree -i \"\$SUBJECT_FILE\" ) | ./adeterminize2 | ./arun2 -t result -i <(./acast2 -t PrefixRankedPattern -i \"\$PATTERN_FILE\" | ./acast2 -t LinearString ) | ./astat2 -p size --set" runTestPatternEnds "Exact Tree Pattern Automaton (PrefixRanked)" "./aarbology2 -a exactTreePatternAutomaton -s <( ./acast2 -t PrefixRankedTree -i \"\$SUBJECT_FILE\" ) | ./adeterminize2 | ./arun2 -t result -i <(./acast2 -t PrefixRankedPattern -i \"\$PATTERN_FILE\" | ./acast2 -t LinearString ) | ./astat2 -p size --set"
   
......
...@@ -19,6 +19,7 @@ RES_FAIL=0 ...@@ -19,6 +19,7 @@ RES_FAIL=0
RES_TIME=0 RES_TIME=0
RES_SEGV=0 RES_SEGV=0
RES_UNKN=0 RES_UNKN=0
MATCHES=0
   
   
# ---------------------------- # ----------------------------
...@@ -64,10 +65,10 @@ function generateSubject { ...@@ -64,10 +65,10 @@ function generateSubject {
# $3 = subject # $3 = subject
# $4 = pattern # $4 = pattern
function runTest2 { function runTest2 {
OUT=`timeout $TESTCASE_TIMEOUT bash -c "SUBJECT_FILE=\"$3\"; PATTERN_FILE=\"$4\"; $2"` OUT2=`timeout $TESTCASE_TIMEOUT bash -c "SUBJECT_FILE=\"$3\"; PATTERN_FILE=\"$4\"; $2"`
RET=$? RET=$?
if [ $RET == 0 ]; then # ok if [ $RET == 0 ]; then # ok
OUT=`test $1 -eq $OUT` OUT=`test $1 -eq $OUT2`
fi fi
RET2=$? RET2=$?
   
...@@ -84,6 +85,7 @@ function runTest2 { ...@@ -84,6 +85,7 @@ function runTest2 {
if [ $RET != 0 ]; then # fail if [ $RET != 0 ]; then # fail
return 1 return 1
else else
MATCHES=$(($MATCHES + $OUT2))
return 0 return 0
fi fi
} }
...@@ -119,12 +121,13 @@ function clearResults { ...@@ -119,12 +121,13 @@ function clearResults {
RES_TIME=0 RES_TIME=0
RES_SEGV=0 RES_SEGV=0
RES_UNKN=0 RES_UNKN=0
MATCHES=0
} }
   
function outputResults { function outputResults {
# summary # summary
echo -ne "\n\t" echo -ne "\n\t"
echo "RES: GOOD:" $RES_GOOD ", FAIL:" $RES_FAIL ", TIME:" $RES_TIME ", SEGV:" $RES_SEGV, "UNKN:" $RES_UNKN echo "RES: GOOD:" $RES_GOOD ", FAIL:" $RES_FAIL ", TIME:" $RES_TIME ", SEGV:" $RES_SEGV, "UNKN:" $RES_UNKN, "MATCHES:" $MATCHES
echo "" echo ""
} }
   
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment