aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMegan Wachs <megan@sifive.com>2018-05-11 09:40:10 -0700
committerMegan Wachs <megan@sifive.com>2018-05-11 09:40:10 -0700
commit6bf953c27e387df205ada4a30cb30fbb185e7754 (patch)
tree583abf0f60f5ba634d5296e35655529a9080ab71
parent5b1cac645fd867174e1ca23934c0d5f80445e88c (diff)
downloadriscv-tests-6bf953c27e387df205ada4a30cb30fbb185e7754.zip
riscv-tests-6bf953c27e387df205ada4a30cb30fbb185e7754.tar.gz
riscv-tests-6bf953c27e387df205ada4a30cb30fbb185e7754.tar.bz2
debug: mark more tests as single-hart tests
-rwxr-xr-xdebug/gdbserver.py19
1 files changed, 13 insertions, 6 deletions
diff --git a/debug/gdbserver.py b/debug/gdbserver.py
index 98eb818..adf179d 100755
--- a/debug/gdbserver.py
+++ b/debug/gdbserver.py
@@ -351,7 +351,9 @@ class DebugSymbols(DebugTest):
class DebugBreakpoint(DebugTest):
def test(self):
+
self.gdb.b("rot13")
+
# The breakpoint should be hit exactly 2 times.
for _ in range(2):
output = self.gdb.c()
@@ -615,7 +617,7 @@ class MulticoreRunAllHaltOne(GdbTest):
time.sleep(1)
self.gdb.p("buf", fmt="")
-class StepTest(GdbTest):
+class StepTest(GdbSingleHartTest):
compile_args = ("programs/step.S", )
def setup(self):
@@ -634,7 +636,7 @@ class StepTest(GdbTest):
pc = self.gdb.p("$pc")
assertEqual("%x" % (pc - main_address), "%x" % expected)
-class TriggerTest(GdbTest):
+class TriggerTest(GdbSingleHartTest):
compile_args = ("programs/trigger.S", )
def setup(self):
self.gdb.load()
@@ -753,7 +755,7 @@ class TriggerDmode(TriggerTest):
assertIn("clear_triggers", output)
self.check_triggers((1<<6) | (1<<0), 0xfeedac00)
-class RegsTest(GdbTest):
+class RegsTest(GdbSingleHartTest):
compile_args = ("programs/regs.S", )
def setup(self):
self.gdb.load()
@@ -834,12 +836,17 @@ class DownloadTest(GdbTest):
def test(self):
self.gdb.load()
- self.gdb.command("b _exit")
+ # Some hart will get there first! Let them race in RTOS mode.
+ for hart in self.target.harts:
+ self.gdb.select_hart(hart)
+ self.gdb.p("$pc=_start")
+ self.gdb.command("b _exit")
+
self.gdb.c()
assertEqual(self.gdb.p("status"), self.crc)
os.unlink(self.download_c.name)
-#class MprvTest(GdbTest):
+#class MprvTest(GdbSingleHartTest):
# compile_args = ("programs/mprv.S", )
# def setup(self):
# self.gdb.load()
@@ -852,7 +859,7 @@ class DownloadTest(GdbTest):
# output = self.gdb.command("p/x *(int*)(((char*)&data)-0x80000000)")
# assertIn("0xbead", output)
-class PrivTest(GdbTest):
+class PrivTest(GdbSingleHartTest):
compile_args = ("programs/priv.S", )
def setup(self):
# pylint: disable=attribute-defined-outside-init