#!/bin/sh # compares with lurette the results of: # lus2lic -2cmc # lus2lic -exec lustre_file=$1 OPT=$3 PORT=$2 node=`basename $lustre_file .lus` _oracle=_"$node"_oracle.lus oracle="$node"_oracle lv4="$node"_lv4.lus ec="$node".ec lv4_node="$node__$node" env=_"$node"_env.lut env_node="$node"_env . $HOME/.opam/opam-init/variables.sh set -x verbose #echo on if [ -f $env_node ]; then echo "$env_node generated" else if ./lus2lic $OPT $lustre_file -n $node --gen-autotest -np; cat $lustre_file >> $_oracle; then echo "./lus2lic $OPT $lustre_file -n $node --gen-autotest -np: ok" else echo "Error" exit 2 fi fi if ./lus2lic -dir /tmp/lustre-test-$lustre_file-$node $OPT $_oracle -n $oracle -2c -cc -o $node-oracle.exec; then echo "lus2lic -2c done" else echo "Error" exit 2 fi # generated the -2cmc version in $node.exec if ./lus2lic -dir /tmp/lustre-test-$lustre_file-$node $OPT $lustre_file -n $node -2cmt && $HOME/.opam/4.14.2/bin/lustre-mt /tmp/lustre-test-$lustre_file-$node/${node}_${node}.yml && mv para.* /tmp/lustre-test-$lustre_file-$node && mv *env* /tmp/lustre-test-$lustre_file-$node && mv *oracle* /tmp/lustre-test-$lustre_file-$node && export C_LIBS="-lpthread -lm " && export MAIN_FILE="${node}_${node}.c" && cd /tmp/lustre-test-$lustre_file-$node/ gcc -o $node.exec ${node}_${node}*.c lustre* para.* $C_LIBS then echo "lus2lic -2cmt done" else echo "Error" exit 2 fi # call-via-socket -server -addr 127.0.0.1 -port $PORT ./$node.exec & export PATH=/usr/local/tools/lustre/v4/bin/:$PATH PRECISION=4 if lurette -l 10 -o xxx.rif \ -sut "./$node.exec" \ -env "lutin $env -n $env_node -p $PRECISION -seed 42" \ -oracle "./$node-oracle.exec"; # lurettetop_exe -p $PRECISION -rp "sut:socket:127.0.0.1:$PORT" -rp "env:lutin:$env:-p:$PRECISION" -rp "oracle:v6:$_oracle:$oracle:$OPT" \ # -go -l 10 -ns2c --stop-on-oracle-error; then echo "Comparison of lus2lic -2c and lus2lic -exec with lurette on $lustre_file: ok" echo "lurette ok" else echo "error" exit 2 fi exit 0