2 Base class for lldb-mi test cases.
5 from __future__ import print_function
9 from lldbsuite.test.lldbtest import *
11 class MiTestCaseBase(Base):
17 def getCategories(self):
21 def classCleanup(cls):
22 TestBase.RemoveTempFile(cls.myexe)
23 TestBase.RemoveTempFile(cls.mylog)
28 self.child_prompt = "(gdb)"
32 print("\n\nContents of %s:" % self.mylog)
34 print(open(self.mylog, "r").read())
39 def spawnLldbMi(self, args=None):
41 self.child = pexpect.spawn("%s --interpreter %s" % (
42 self.lldbMiExec, args if args else ""))
43 self.child.setecho(True)
44 self.child.logfile_read = open(self.mylog, "w")
45 # wait until lldb-mi has started up and is ready to go
46 self.expect(self.child_prompt, exactly = True)
48 def runCmd(self, cmd):
49 self.child.sendline(cmd)
51 def expect(self, pattern, exactly=False, *args, **kwargs):
53 return self.child.expect_exact(pattern, *args, **kwargs)
54 return self.child.expect(pattern, *args, **kwargs)