aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorTim Newsome <tim@sifive.com>2016-03-15 13:50:17 -0700
committerTim Newsome <tim@sifive.com>2016-05-23 12:12:10 -0700
commit0cc52e8e5dd9dadf7835869e0de4c9daa1e0d5db (patch)
treed1eb9915b0ce5ae11f596bc961582744e6b49161 /tests
parent77a51e91f8a71b6d66304a0a134ac2af04adafc3 (diff)
downloadspike-0cc52e8e5dd9dadf7835869e0de4c9daa1e0d5db.zip
spike-0cc52e8e5dd9dadf7835869e0de4c9daa1e0d5db.tar.gz
spike-0cc52e8e5dd9dadf7835869e0de4c9daa1e0d5db.tar.bz2
Update regnum handling to match gdb CSR changes.
Diffstat (limited to 'tests')
-rwxr-xr-xtests/gdbserver-smoke.py11
-rw-r--r--tests/testlib.py8
2 files changed, 18 insertions, 1 deletions
diff --git a/tests/gdbserver-smoke.py b/tests/gdbserver-smoke.py
index 9d04915..306f6f2 100755
--- a/tests/gdbserver-smoke.py
+++ b/tests/gdbserver-smoke.py
@@ -56,7 +56,7 @@ class DebugTest(unittest.TestCase):
# The time register should always be changing.
last_time = None
for _ in range(5):
- time = self.gdb.command("p $time").split('=')[-1]
+ time = self.gdb.p("$time")
self.assertNotEqual(time, last_time)
last_time = time
self.gdb.command("stepi")
@@ -93,5 +93,14 @@ class RegsTest(unittest.TestCase):
self.assertEqual(self.gdb.x("data+%d" % (8*n), 'g'),
n*0xdeadbeef+17)
+ def test_write_csrs(self):
+ # As much a test of gdb as of the simulator.
+ self.gdb.p("$mscratch=0")
+ self.gdb.stepi()
+ self.assertEqual(self.gdb.p("$mscratch"), 0)
+ self.gdb.p("$mscratch=123")
+ self.gdb.stepi()
+ self.assertEqual(self.gdb.p("$mscratch"), 123)
+
if __name__ == '__main__':
unittest.main()
diff --git a/tests/testlib.py b/tests/testlib.py
index 0c1713c..d41c150 100644
--- a/tests/testlib.py
+++ b/tests/testlib.py
@@ -56,3 +56,11 @@ class Gdb(object):
output = self.command("x/%s %s" % (size, address))
value = int(output.split(':')[1].strip())
return value
+
+ def p(self, obj):
+ output = self.command("p %s" % obj)
+ value = int(output.split('=')[-1].strip())
+ return value
+
+ def stepi(self):
+ return self.command("stepi")