#!/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