diff options
author | Tim Newsome <tim@sifive.com> | 2021-11-12 11:29:20 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-12 11:29:20 -0800 |
commit | 515d185db118a54e920514c6fc7783d95b530d4c (patch) | |
tree | 7fde5726f26ef74241710725046bcc6da63dd42d /debug/gdbserver.py | |
parent | ff9d52fc52887d0b810f82546a94446002cb57cc (diff) | |
download | riscv-tests-515d185db118a54e920514c6fc7783d95b530d4c.zip riscv-tests-515d185db118a54e920514c6fc7783d95b530d4c.tar.gz riscv-tests-515d185db118a54e920514c6fc7783d95b530d4c.tar.bz2 |
Create DisconnectTest. (#364)
Disconnects from gdb, and then reconnects, making sure that didn't
change any of the registers.
This test will start passing when
https://github.com/riscv/riscv-openocd/pull/661 merges.
Diffstat (limited to 'debug/gdbserver.py')
-rwxr-xr-x | debug/gdbserver.py | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/debug/gdbserver.py b/debug/gdbserver.py index 69bb3b1..4476ea8 100755 --- a/debug/gdbserver.py +++ b/debug/gdbserver.py @@ -409,6 +409,21 @@ class MemTestBlock2(MemTestBlock): def test(self): return self.test_block(2) +class DisconnectTest(GdbTest): + def test(self): + old_values = self.gdb.info_registers("all", ops=20) + self.gdb.disconnect() + self.gdb.connect() + self.gdb.select_hart(self.hart) + new_values = self.gdb.info_registers("all", ops=20) + + regnames = set(old_values.keys()).union(set(new_values.keys())) + for regname in regnames: + if regname in ("mcycle", "minstret", "instret", "cycle"): + continue + assertEqual(old_values[regname], new_values[regname], + "Register %s didn't match" % regname) + class InstantHaltTest(GdbTest): def test(self): """Assert that reset is really resetting what it should.""" |