aboutsummaryrefslogtreecommitdiff
path: root/debug/testlib.py
diff options
context:
space:
mode:
Diffstat (limited to 'debug/testlib.py')
-rw-r--r--debug/testlib.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/debug/testlib.py b/debug/testlib.py
index 8b799e7..0da09a1 100644
--- a/debug/testlib.py
+++ b/debug/testlib.py
@@ -137,6 +137,21 @@ class Openocd(object):
# TODO: Pick a random port
self.port = 3333
+ # Wait for OpenOCD to have made it through riscv_examine(). When using
+ # OpenOCD to communicate with a simulator this may take a long time,
+ # and gdb will time out when trying to connect if we attempt too early.
+ start = time.time()
+ messaged = False
+ while True:
+ log = open(Openocd.logname).read()
+ if "Examined RISCV core" in log:
+ break
+ if not self.process.poll() is None:
+ raise Exception("OpenOCD exited before completing riscv_examine()")
+ if not messaged and time.time() - start > 1:
+ messaged = True
+ print "Waiting for OpenOCD to examine RISCV core..."
+
def __del__(self):
try:
self.process.kill()