diff options
-rwxr-xr-x | debug/gdbserver.py | 14 | ||||
-rw-r--r-- | debug/targets.py | 3 | ||||
-rw-r--r-- | debug/testlib.py | 15 |
3 files changed, 16 insertions, 16 deletions
diff --git a/debug/gdbserver.py b/debug/gdbserver.py index 7a51bc3..2fa5dfd 100755 --- a/debug/gdbserver.py +++ b/debug/gdbserver.py @@ -13,7 +13,7 @@ import testlib from testlib import assertEqual, assertNotEqual, assertIn, assertNotIn from testlib import assertGreater, assertRegexpMatches, assertLess from testlib import GdbTest, GdbSingleHartTest, TestFailed -from testlib import assertTrue +from testlib import assertTrue, TestNotApplicable MSTATUS_UIE = 0x00000001 MSTATUS_SIE = 0x00000002 @@ -535,7 +535,7 @@ class DebugBreakpoint(DebugTest): class Hwbp1(DebugTest): def test(self): if self.hart.instruction_hardware_breakpoint_count < 1: - return 'not_applicable' + raise TestNotApplicable if not self.hart.honors_tdata1_hmode: # Run to main before setting the breakpoint, because startup code @@ -557,7 +557,7 @@ class Hwbp1(DebugTest): class Hwbp2(DebugTest): def test(self): if self.hart.instruction_hardware_breakpoint_count < 2: - return 'not_applicable' + raise TestNotApplicable self.gdb.command("delete") self.gdb.hbreak("main") @@ -799,7 +799,7 @@ class MulticoreRunAllHaltOne(GdbTest): def test(self): if not self.gdb.one_hart_per_gdb(): - return 'not_applicable' + raise TestNotApplicable # Run harts in reverse order for h in reversed(self.target.harts): @@ -827,7 +827,7 @@ class MulticoreRtosSwitchActiveHartTest(GdbTest): def test(self): if self.gdb.one_hart_per_gdb(): - return 'not_applicable' + raise TestNotApplicable # Set breakpoint near '_start' label to increase the chances of a # situation when all harts hit breakpoint immediately and @@ -856,7 +856,7 @@ class SmpSimultaneousRunHalt(GdbTest): def test(self): if self.gdb.one_hart_per_gdb() or not self.server.smp(): - return 'not_applicable' + raise TestNotApplicable old_mtime = set() for _ in range(5): @@ -1226,7 +1226,7 @@ class PrivChange(PrivTest): """Test that the core's privilege level actually changes.""" if 0 not in self.supported: - return 'not_applicable' + raise TestNotApplicable self.gdb.b("main") self.gdb.c() diff --git a/debug/targets.py b/debug/targets.py index b686b2a..e14d31e 100644 --- a/debug/targets.py +++ b/debug/targets.py @@ -43,8 +43,7 @@ class Hart(object): # target.misa is set by testlib.ExamineTarget if self.misa: return self.misa & (1 << (ord(letter.upper()) - ord('A'))) - else: - return False + return False class Target(object): # pylint: disable=too-many-instance-attributes diff --git a/debug/testlib.py b/debug/testlib.py index bd92e1f..91e05de 100644 --- a/debug/testlib.py +++ b/debug/testlib.py @@ -518,26 +518,27 @@ class Gdb(object): self.select_child(child) self.command(command) - def c(self, wait=True, async=False, checkOutput=True, ops=20): + def c(self, wait=True, sync=True, checkOutput=True, ops=20): """ Dumb c command. In RTOS mode, gdb will resume all harts. In multi-gdb mode, this command will just go to the current gdb, so will only resume one hart. """ - if async: - async = "&" + if sync: + sync = "" else: - async = "" + sync = "&" if wait: - output = self.command("c%s" % async, ops=ops) + output = self.command("c%s" % sync, ops=ops) if checkOutput: assert "Continuing" in output assert "Could not insert hardware" not in output return output else: - self.active_child.sendline("c%s" % async) + self.active_child.sendline("c%s" % sync) self.active_child.expect("Continuing", timeout=ops * self.timeout) + return "" def c_all(self, wait=True): """ @@ -1020,7 +1021,7 @@ class TestFailed(Exception): self.message += ": %s" % comment class TestNotApplicable(Exception): - def __init__(self, message): + def __init__(self, message=""): Exception.__init__(self) self.message = message |