mirror of
https://github.com/Gericom/teak-llvm.git
synced 2025-06-24 14:05:49 -04:00

Summary: This mechanism was mostly redundant with the file-based .categories mechanism, and it was interfering with it, as any test which implemented a getCategories method would not inherit the filesystem categories. This patch removes it. The existing categories are preserved either by adding a .categories file, or using the @add_test_categories decorator. Reviewers: jingham, clayborg, zturner Subscribers: lldb-commits Differential Revision: https://reviews.llvm.org/D39515 llvm-svn: 317277
52 lines
1.3 KiB
Python
52 lines
1.3 KiB
Python
"""
|
|
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"
|
|
|
|
@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)
|