From f4240cc8a4545e4d2e2f926a72aa911d5373ab95 Mon Sep 17 00:00:00 2001 From: Eric Smith Date: Thu, 15 Sep 2016 02:00:29 -0600 Subject: Add optional SEED=n command line option to Makefile, and -S n command line option to test scripts, for deterministic regression tests. --- tests/fsm/generate.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'tests/fsm/generate.py') diff --git a/tests/fsm/generate.py b/tests/fsm/generate.py index 8757d4741..c8eda0cd1 100644 --- a/tests/fsm/generate.py +++ b/tests/fsm/generate.py @@ -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]) -- cgit v1.2.3