try:
self.process.kill()
self.process.wait()
- except OSError:
+ except (OSError, AttributeError):
pass
class OpenocdCli(object):
todo = []
if parsed.misaval:
target.misa = int(parsed.misaval, 16)
- print "Assuming $MISA value of 0x%x. Skipping ExamineTarget." % \
- target.misa
+ print "Using $misa from command line: 0x%x" % target.misa
+ elif target.misa:
+ print "Using $misa from target definition: 0x%x" % target.misa
else:
todo.append(("ExamineTarget", ExamineTarget))
def classSetup(self):
self.compile()
- self.target_process = self.target.target()
- self.server = self.target.server()
- self.logs.append(self.server.logname)
+ self.target_process = self.target.create()
+ if self.target_process:
+ self.logs.append(self.target_process.logname)
+ try:
+ self.server = self.target.server()
+ self.logs.append(self.server.logname)
+ except Exception:
+ for log in self.logs:
+ print_log(log)
+ raise
def classTeardown(self):
del self.server
self.start = time.time()
- self.classSetup()
-
try:
+ self.classSetup()
self.setup()
result = self.test() # pylint: disable=no-member
except TestNotApplicable:
thread = random.choice(self.gdb.threads())
self.gdb.thread(thread)
+ for cmd in self.target.gdb_setup:
+ self.gdb.command(cmd)
+
# FIXME: OpenOCD doesn't handle PRIV now
#self.gdb.p("$priv=3")