diff options
author | Tim Newsome <tim@sifive.com> | 2022-11-10 13:04:20 -0800 |
---|---|---|
committer | Tim Newsome <tim@sifive.com> | 2022-12-14 16:54:29 -0800 |
commit | c4a61a51b9c92adeaa825abdda1e48fc55f8eab1 (patch) | |
tree | bdbcac818542a847570dd1193ab3b12e1f79ddc2 /debug | |
parent | b08e2ee7fab0f66bc9bb643db0375fb360c326f3 (diff) | |
download | riscv-tests-c4a61a51b9c92adeaa825abdda1e48fc55f8eab1.zip riscv-tests-c4a61a51b9c92adeaa825abdda1e48fc55f8eab1.tar.gz riscv-tests-c4a61a51b9c92adeaa825abdda1e48fc55f8eab1.tar.bz2 |
debug: Add CeaseRunTest
Test that we work correctly when the hart we're debugging ceases to
respond while it's running.
Diffstat (limited to 'debug')
-rwxr-xr-x | debug/gdbserver.py | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/debug/gdbserver.py b/debug/gdbserver.py index 6f27871..af8ddcf 100755 --- a/debug/gdbserver.py +++ b/debug/gdbserver.py @@ -1856,6 +1856,29 @@ class CeaseStepiTest(ProgramTest): except CouldNotReadRegisters: pass +class CeaseRunTest(ProgramTest): + """Test that we work correctly when the hart we're debugging ceases to + respond.""" + def early_applicable(self): + return self.hart.support_cease + + def test(self): + self.gdb.b("main") + output = self.gdb.c() + assertIn("Breakpoint", output) + assertIn("main", output) + + self.gdb.p("$pc=precease") + self.gdb.c(wait=False) + self.gdb.expect(r"\S+ became unavailable.") + self.gdb.interrupt() + try: + self.gdb.p("$pc") + assert False, ("Registers shouldn't be accessible when the hart is " + "unavailable.") + except CouldNotReadRegisters: + pass + class FreeRtosTest(GdbTest): def early_applicable(self): return self.target.freertos_binary |