debug: Need to apply remotetimeout before connecting to remote target (#94)
authorMegan Wachs <megan@sifive.com>
Thu, 2 Nov 2017 15:46:24 +0000 (08:46 -0700)
committerGitHub <noreply@github.com>
Thu, 2 Nov 2017 15:46:24 +0000 (08:46 -0700)
* debug: Need to apply remotetimeout before connecting to remote target

* debug: whitespace cleanup

debug/testlib.py

index fae2132415d03514339f80ba71f645dfce7a1046..f6643ac267a82f0230d0417c99903f47e16d41b8 100644 (file)
@@ -314,6 +314,7 @@ class Gdb(object):
 
     def __init__(self, ports,
             cmd=os.path.expandvars("$RISCV/bin/riscv64-unknown-elf-gdb"),
+            timeout=60,
             binary=None):
         assert ports
 
@@ -340,6 +341,7 @@ class Gdb(object):
             self.command("set height 0")
             # Force consistency.
             self.command("set print entry-values no")
+            self.command("set remotetimeout %d" % timeout)
             self.command("target extended-remote localhost:%d" % port)
             if binary:
                 self.command("file %s" % binary)
@@ -757,16 +759,15 @@ class GdbTest(BaseTest):
         BaseTest.classSetup(self)
 
         if gdb_cmd:
-            self.gdb = Gdb(self.server.gdb_ports, gdb_cmd, binary=self.binary)
+            self.gdb = Gdb(self.server.gdb_ports, gdb_cmd, timeout=self.target.timeout_sec, binary=self.binary)
         else:
-            self.gdb = Gdb(self.server.gdb_ports, binary=self.binary)
+            self.gdb = Gdb(self.server.gdb_ports, timeout=self.target.timeout_sec, binary=self.binary)
 
         self.logs += self.gdb.lognames()
 
-        if self.target:
-            self.gdb.global_command("set arch riscv:rv%d" % self.hart.xlen)
-            self.gdb.global_command("set remotetimeout %d" %
-                    self.target.timeout_sec)
+        self.gdb.global_command("set arch riscv:rv%d" % self.hart.xlen)
+        self.gdb.global_command("set remotetimeout %d" %
+            self.target.timeout_sec)
 
         for cmd in self.target.gdb_setup:
             self.gdb.command(cmd)