3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-09-01 15:50:42 +00:00

Add optional SEED=n command line option to Makefile, and -S n command line option to test scripts, for deterministic regression tests.

This commit is contained in:
Eric Smith 2016-09-15 02:00:29 -06:00
parent d8ad889594
commit f4240cc8a4
14 changed files with 175 additions and 24 deletions

View file

@ -1,5 +1,6 @@
#!/usr/bin/env python3
import argparse
import sys
import random
from contextlib import contextmanager
@ -30,7 +31,16 @@ def random_expr(variables):
return "%d'd%s" % (bits, random.randint(0, 2**bits-1))
raise AssertionError
for idx in range(50):
parser = argparse.ArgumentParser(formatter_class = argparse.ArgumentDefaultsHelpFormatter)
parser.add_argument('-S', '--seed', type = int, help = 'seed for PRNG')
parser.add_argument('-c', '--count', type = int, default = 50, help = 'number of test cases to generate')
args = parser.parse_args()
if args.seed is not None:
print("PRNG seed: %d" % args.seed)
random.seed(args.seed)
for idx in range(args.count):
with open('temp/uut_%05d.v' % idx, 'w') as f:
with redirect_stdout(f):
rst2 = random.choice([False, True])

View file

@ -5,10 +5,22 @@
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
python3 generate.py -c $count $seed
{
all_targets="all_targets:"