86 lines
2.7 KiB
Bash
86 lines
2.7 KiB
Bash
|
# repeatedly run prsim on one unit_test's PRs
|
||
|
|
||
|
bold=$(tput bold)
|
||
|
normal=$(tput sgr0)
|
||
|
und=$(tput smul)
|
||
|
i=${unit}
|
||
|
proc="$i<>"
|
||
|
|
||
|
echo ""
|
||
|
echo "${bold}******************************************"
|
||
|
echo "* ${i} repetitions , show warnings=${warning}*"
|
||
|
echo "******************************************${normal}"
|
||
|
|
||
|
cd "unit_tests"
|
||
|
echo "${bold}... checking aflat${normal}"
|
||
|
|
||
|
# check aflat
|
||
|
if ($ACT_HOME/bin/aflat "$i/test_final.act" > "$i/test.prs");
|
||
|
then
|
||
|
echo "${bold}... aflat complete, checking in prsim${normal}"
|
||
|
|
||
|
# run prsim on prs
|
||
|
(($ACT_HOME/bin/prsim "$i/test.prs" < "$i/test.prsim") > "$i/prsim.out");
|
||
|
if (cat "$i/prsim.out" | grep -e "WRONG ASSERT" -e "FATAL" -e "not found")
|
||
|
then
|
||
|
echo "FAILED in first prsim"
|
||
|
else
|
||
|
|
||
|
# show warnings setting
|
||
|
if [ "${warning}" = "1" ];
|
||
|
then
|
||
|
echo "${bold}Exit on prsim warnings turned ON${normal}"
|
||
|
else
|
||
|
echo "${bold}Exit on prsim warnings turned OFF${normal}"
|
||
|
fi
|
||
|
echo ""
|
||
|
|
||
|
# begin prsim test loop
|
||
|
has_failed=0
|
||
|
iter=0
|
||
|
echo "${bold}using random_seed${normal}"
|
||
|
echo "\nusing random_seed" >> "$i/prsim.out"
|
||
|
while [ has_failed=0 ]
|
||
|
do
|
||
|
# write prsim test file with random seed appended to top of file
|
||
|
(echo "random_seed $iter \nrandom" > "$i/test_rand.prsim");
|
||
|
(cat "$i/test.prsim" >> "$i/test_rand.prsim");
|
||
|
(echo "\nTEST $iter\n" >> "$i/prsim.out");
|
||
|
|
||
|
# validate prsim output
|
||
|
if (($ACT_HOME/bin/prsim "$i/test.prs" < "$i/test_rand.prsim") >> "$i/prsim.out");
|
||
|
then
|
||
|
if [ "${warning}" = "1" ];
|
||
|
then
|
||
|
if (cat "$i/prsim.out" | grep -e "WRONG ASSERT" -e "FATAL" -e "not found" -e "WARNING:");
|
||
|
then
|
||
|
echo "${bold}==> test #${iter} ${und}FAILED in prsim${normal}"
|
||
|
has_failed=1
|
||
|
exit 0
|
||
|
else
|
||
|
echo "==> passed test #${iter}"
|
||
|
iter=$(($iter + 1))
|
||
|
fi
|
||
|
else
|
||
|
if (cat "$i/prsim.out" | grep -e "WRONG ASSERT" -e "FATAL" -e "not found");
|
||
|
then
|
||
|
echo "${bold}==> test #${iter} ${und}FAILED in prsim${normal}"
|
||
|
has_failed=1
|
||
|
exit 0
|
||
|
else
|
||
|
echo "==> passed test #${iter}"
|
||
|
iter=$(($iter + 1))
|
||
|
fi
|
||
|
fi
|
||
|
else
|
||
|
has_failed=1
|
||
|
exit 0
|
||
|
fi
|
||
|
done
|
||
|
(cd ".."; pwd);
|
||
|
exit 1
|
||
|
fi
|
||
|
else
|
||
|
echo "FAILED in aflat conversion"
|
||
|
fi
|