diff options
author | Tim Newsome <tim@sifive.com> | 2023-07-10 10:36:42 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-10 10:36:42 -0700 |
commit | ed0a63ea4ffea691e753ba1410d78961b80dc739 (patch) | |
tree | c74987f3d737778ac04eaa3395525b965b44938e | |
parent | fb7a4a7a0e1372cde0e920d75679ba1541e52c77 (diff) | |
parent | 4b18e0781afed3e40e9b7d14cbd76b0063dc823d (diff) | |
download | riscv-tests-ed0a63ea4ffea691e753ba1410d78961b80dc739.zip riscv-tests-ed0a63ea4ffea691e753ba1410d78961b80dc739.tar.gz riscv-tests-ed0a63ea4ffea691e753ba1410d78961b80dc739.tar.bz2 |
Merge pull request #486 from en-sc/en-sc/warning-repeat-read
change warning check in RepeatReadTest
-rwxr-xr-x | debug/gdbserver.py | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/debug/gdbserver.py b/debug/gdbserver.py index d0302fb..46d65df 100755 --- a/debug/gdbserver.py +++ b/debug/gdbserver.py @@ -9,6 +9,7 @@ import tempfile import time import os import re +import itertools import targets import testlib @@ -904,6 +905,9 @@ class RepeatReadTest(DebugTest): def early_applicable(self): return self.target.supports_clint_mtime + warning_re = re.compile(r"\[(?P<target_name>[^\]]+)\] Re-reading memory " + r"from addresses 0x(?P<addr>[\da-f]+) and 0x(?P=addr)\.") + def test(self): self.gdb.b("main:start") self.gdb.c() @@ -912,8 +916,17 @@ class RepeatReadTest(DebugTest): output = self.gdb.command( f"monitor riscv repeat_read {count} 0x{mtime_addr:x} 4") values = [] - for line in output.splitlines(): - # Ignore warnings + def is_valid_warning(line): + match = self.warning_re.match(line) + if match is None: + return False + assertEqual(int(match["addr"], 16), mtime_addr, + "The repeat read is reading from the wrong address") + return True + + for line in itertools.dropwhile(is_valid_warning, output.splitlines()): + # This `if` is to be removed after + # https://github.com/riscv/riscv-openocd/pull/871 is merged. if line.startswith("Batch memory"): continue for v in line.split(): |