diff options
author | Parshintsev Anatoly <anatoly.parshintsev@syntacore.com> | 2024-01-31 00:14:44 +0300 |
---|---|---|
committer | Parshintsev Anatoly <anatoly.parshintsev@syntacore.com> | 2024-02-01 21:36:29 +0300 |
commit | 9b04ba41669e8f408f89148fb13f41a196f1fd14 (patch) | |
tree | 56e86f13987556dd26efae62f0458ef9a78c26f4 | |
parent | 67e775962321ef48f77e7ab5aa4f40ce3cf82b08 (diff) | |
download | riscv-tests-9b04ba41669e8f408f89148fb13f41a196f1fd14.zip riscv-tests-9b04ba41669e8f408f89148fb13f41a196f1fd14.tar.gz riscv-tests-9b04ba41669e8f408f89148fb13f41a196f1fd14.tar.bz2 |
[debug tests] print selected seed for PRNG
Previously the seed was not printed and this created problems with
reproduction of the issues. It's still not an ideal - meaning
interactions between spike/gdb/openocd are inherently non-determistic
(since time is involved), but at least we should get the same sources
for the same seed now.
-rwxr-xr-x | debug/gdbserver.py | 9 | ||||
-rw-r--r-- | debug/testlib.py | 3 |
2 files changed, 12 insertions, 0 deletions
diff --git a/debug/gdbserver.py b/debug/gdbserver.py index 5450adb..f457b86 100755 --- a/debug/gdbserver.py +++ b/debug/gdbserver.py @@ -11,6 +11,7 @@ import os import re import itertools +from datetime import datetime import targets import testlib from testlib import assertEqual, assertNotEqual @@ -2194,6 +2195,14 @@ def main(): module = sys.modules[__name__] + # initialize PRNG + selected_seed = parsed.seed + if parsed.seed is None: + selected_seed = int(datetime.now().timestamp()) + print(f"PRNG seed for {target.name} is generated automatically") + print(f"PRNG seed for {target.name} is {selected_seed}") + random.seed(selected_seed) + return testlib.run_all_tests(module, target, parsed) # TROUBLESHOOTING TIPS diff --git a/debug/testlib.py b/debug/testlib.py index 7f28186..a50a488 100644 --- a/debug/testlib.py +++ b/debug/testlib.py @@ -1232,6 +1232,9 @@ def add_test_run_options(parser): help="Specify yaml file listing tests to exclude") parser.add_argument("--target-timeout", help="Override the base target timeout.", default=None, type=int) + parser.add_argument("--seed", + help="Use user-specified seed value for PRNG.", default=None, + type=int) parser.add_argument("--hart", help="Run tests against this hart in multihart tests.", default=None, type=int) |