diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2016-01-06 20:12:03 +0000 | 
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2016-01-06 20:12:03 +0000 | 
| commit | 9e6d35490a6542f9c97607f93c2ef8ca8e03cbcc (patch) | |
| tree | dd2a1ddf0476664c2b823409c36cbccd52662ca7 /packages/Python/lldbsuite/test/tools/lldb-mi/lldbmi_testcase.py | |
| parent | 3bd2e91faeb9eeec1aae82c64a3253afff551cfd (diff) | |
Notes
Diffstat (limited to 'packages/Python/lldbsuite/test/tools/lldb-mi/lldbmi_testcase.py')
| -rw-r--r-- | packages/Python/lldbsuite/test/tools/lldb-mi/lldbmi_testcase.py | 54 | 
1 files changed, 54 insertions, 0 deletions
| diff --git a/packages/Python/lldbsuite/test/tools/lldb-mi/lldbmi_testcase.py b/packages/Python/lldbsuite/test/tools/lldb-mi/lldbmi_testcase.py new file mode 100644 index 000000000000..277ffe70c1ca --- /dev/null +++ b/packages/Python/lldbsuite/test/tools/lldb-mi/lldbmi_testcase.py @@ -0,0 +1,54 @@ +""" +Base class for lldb-mi test cases. +""" + +from __future__ import print_function + + + +from lldbsuite.test.lldbtest import * + +class MiTestCaseBase(Base): + +    mydir = None +    myexe = "a.out" +    mylog = "child.log" + +    def getCategories(self): +        return ['lldb-mi'] + +    @classmethod +    def classCleanup(cls): +        TestBase.RemoveTempFile(cls.myexe) +        TestBase.RemoveTempFile(cls.mylog) + +    def setUp(self): +        Base.setUp(self) +        self.buildDefault() +        self.child_prompt = "(gdb)" + +    def tearDown(self): +        if self.TraceOn(): +            print("\n\nContents of %s:" % self.mylog) +            try: +                print(open(self.mylog, "r").read()) +            except IOError: +                pass +        Base.tearDown(self) + +    def spawnLldbMi(self, args=None): +        import pexpect +        self.child = pexpect.spawn("%s --interpreter %s" % ( +            self.lldbMiExec, args if args else "")) +        self.child.setecho(True) +        self.child.logfile_read = open(self.mylog, "w") +        # wait until lldb-mi has started up and is ready to go +        self.expect(self.child_prompt, exactly = True) + +    def runCmd(self, cmd): +        self.child.sendline(cmd) + +    def expect(self, pattern, exactly=False, *args, **kwargs): +        if exactly: +            return self.child.expect_exact(pattern, *args, **kwargs) +        return self.child.expect(pattern, *args, **kwargs) | 
