aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Newsome <tim@sifive.com>2020-12-18 15:16:47 -0800
committerGitHub <noreply@github.com>2020-12-18 15:16:47 -0800
commit3496243928e3dbd562dd84bcf9e6222221d423e5 (patch)
treeef43c44d8529d80ff808fc0c7ed97d7a59bedc48
parentf7e9ef1008cbdf1c04ad9eb0ccf14e09ed53f3b2 (diff)
downloadriscv-tests-3496243928e3dbd562dd84bcf9e6222221d423e5.zip
riscv-tests-3496243928e3dbd562dd84bcf9e6222221d423e5.tar.gz
riscv-tests-3496243928e3dbd562dd84bcf9e6222221d423e5.tar.bz2
Add test for new OpenOCD `riscv info` command. (#310)
-rwxr-xr-xdebug/gdbserver.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/debug/gdbserver.py b/debug/gdbserver.py
index 7aec49a..1e50272 100755
--- a/debug/gdbserver.py
+++ b/debug/gdbserver.py
@@ -78,6 +78,19 @@ def srec_parse(line):
def readable_binary_string(s):
return "".join("%02x" % ord(c) for c in s)
+class InfoTest(GdbTest):
+ def test(self):
+ output = self.gdb.command("monitor riscv info")
+ info = {}
+ for line in output.splitlines():
+ if re.search(r"Found \d+ triggers", line):
+ continue
+ if re.search(r"Disabling abstract command writes to CSRs.", line):
+ continue
+ k, v = line.strip().split()
+ info[k] = v
+ assertEqual(int(info.get("hart.xlen")), self.hart.xlen)
+
class SimpleRegisterTest(GdbTest):
def check_reg(self, name, alias):
a = random.randrange(1<<self.hart.xlen)