mirror of https://github.com/YosysHQ/yosys.git
40 lines
923 B
Bash
Executable File
40 lines
923 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# run this test many times:
|
|
# time bash -c 'for ((i=0; i<100; i++)); do echo "-- $i --"; bash run-test.sh || exit 1; done'
|
|
|
|
set -e
|
|
|
|
OPTIND=1
|
|
count=100
|
|
seed="" # default to no seed specified
|
|
while getopts "c:S:" opt
|
|
do
|
|
case "$opt" in
|
|
c) count="$OPTARG" ;;
|
|
S) seed="-S $OPTARG" ;;
|
|
esac
|
|
done
|
|
shift "$((OPTIND-1))"
|
|
|
|
rm -rf temp
|
|
mkdir -p temp
|
|
echo "generating tests.."
|
|
python3 generate.py -c $count $seed
|
|
|
|
echo "running tests.."
|
|
for i in $( ls temp/*.ys | sed 's,[^0-9],,g; s,^0*\(.\),\1,g;' ); do
|
|
echo -n "[$i]"
|
|
idx=$( printf "%05d" $i )
|
|
../../yosys -ql temp/uut_${idx}.log temp/uut_${idx}.ys
|
|
done
|
|
echo
|
|
|
|
failed_share=$( echo $( gawk '/^#job#/ { j=$2; db[j]=0; } /^Removing [246] cells/ { delete db[j]; } END { for (j in db) print(j); }' temp/all_share_log.txt ) )
|
|
if [ -n "$failed_share" ]; then
|
|
echo "Resource sharing failed for the following test cases: $failed_share"
|
|
false
|
|
fi
|
|
|
|
exit 0
|