diff --git a/test/Cycle_unison/Sh/search_config.sh b/test/Cycle_unison/Sh/search_config.sh old mode 100755 new mode 100644 index 6f28973f0941ec08c43d0c9fdf24efedf56542dd..037b8be14c4b2f1334c8359245c766d334b1dcc6 --- a/test/Cycle_unison/Sh/search_config.sh +++ b/test/Cycle_unison/Sh/search_config.sh @@ -1,29 +1,69 @@ #!/bin/bash # Prends en argument k n topologie # Exemple : ./search_config.sh 3 7 ring + + +set -x if [ $# -ne 3 ] -then echo "Not enought arguments" - exit 1 + then echo "3 arguments are expected" + echo "$0 <k> <n> <topology filename without extension" + echo "Exemple : ./search_config.sh 3 7 ring" + exit 1 fi +k=$1 +n=$2 +topology=$3 +log=Log/$topology${k}_$n.log + clean(){ rm -f *.cmxs *.cmx *.cmi *.o - rm -f $1.ml + rm -f $k.ml rm -f *.rif *.seed - rm -f $1.lus - rm -f *_verify.lv4 + rm -f $k.lus + rm -f *_check_cycles.lv4 rm -f *.c *.h *_const.lus *.cmt *.exec *.sh rdbg-session* *.log *.pdf - rm -f $1* + rm -f $k* rm k.lus } -cd .. -clean $3$2 -echo "const k = $1 ;" > k.lus -make $3$2.dot -salut $3$2.dot -lv6 -eei $3$2.lus verify.lus $3$2_const.lus -n verify -rnc --lustre-v4 -o $3$2_verify.noexpand.lv4 -cat $3$2_verify.noexpand.lv4 | tr '\n' '@' |sed "s/tel@/tel/g" | sed "s/@/\\n/g" | sed "s/tel-- end of node verify/--%MAIN ;\n--%PROPERTY ok;\ntel\n/" > $3$2_verify.noexpand.lv4.tmp -mv $3$2_verify.noexpand.lv4.tmp $3$2_verify.noexpand.lv4 -time kind2 --color false --modular true --compositional true $3$2_verify.noexpand.lv4 > Log/$3$1_$2.log -clean $3$2 + +if [ -z ${TIMEOUT} ]; then TIMEOUT=194400.; fi # n: 194400s = 54 hours + +clean $3$n +echo "const k = $k ;" > k.lus +make $topology$n.dot +salut $topology$n.dot +lv6 -eei ${topology}$n.lus check_cycles.lus $topology${n}_const.lus -n check_cycles -rnc --lustre-v4 -o $topology${n}_check_cycles.noexpand.lv4 +cat $topology${n}_check_cycles.noexpand.lv4 | tr '\n' '@' |sed "s/tel@/tel/g" | sed "s/@/\\n/g" | sed "s/tel-- end of node check_cycles/--%MAIN ;\n--%PROPERTY ok;\ntel\n/" > $topology${n}_check_cycles.noexpand.lv4.tmp +mv $topology${n}_check_cycles.noexpand.lv4.tmp $topology${n}_check_cycles.noexpand.lv4 +[ -d Log ] || mkdir Log +time kind2 --timeout ${TIMEOUT} --color false --modular true --compositional true $topology${n}_check_cycles.noexpand.lv4 > $log + +d=$(expr $n / 2 \* 2 - 1) + + + +grep "ok: valid" $log && valid="true" +grep "ok: invalid" $log && invalid="true" + +time=`grep "total runtime" $log | cut -d ' ' -f5` + +if [ $valid = "true" ] + then resultat="legitimate" + step=`grep "ok: " $log | cut -d ' ' -f4 | tr -d ')'` + +else if [ $invalid = "true" ] + then resultat="cycle found" + step=`grep "ok: " $log | cut -d ' ' -f4` +else + resultat="Timeout (${TIMEOUT})" + step=`grep "ok: " $log | cut -d ' ' -f5` + time="-" +fi +fi + + +echo "| $topology | $n | $k | $d | $step | $resultat | $time |" > $log.org + +clean $topology$n