[lldb/Test] Add use_colors argument to the PExpect.launch wrapper

This patch adds a new `use_colors` argument to the PExpect.launch
method.

As the name suggests, it allows the user to conditionally enable color
support in the debugger, which can be helpful to test functionalities that
rely on that, like progress reporting. It defaults to False.

Differential Revision: https://reviews.llvm.org/D125915

Signed-off-by: Med Ismail Bennani <medismail.bennani@gmail.com>
This commit is contained in:
Med Ismail Bennani
2022-05-18 11:35:20 -07:00
parent b3718bc467
commit d71d1a947b

View File

@@ -24,16 +24,20 @@ class PExpectTest(TestBase):
self.child.expect_exact(self.PROMPT)
def launch(self, executable=None, extra_args=None, timeout=60,
dimensions=None, run_under=None, post_spawn=None):
dimensions=None, run_under=None, post_spawn=None,
use_colors=False):
logfile = getattr(sys.stdout, 'buffer',
sys.stdout) if self.TraceOn() else None
args = []
if run_under is not None:
args += run_under
args += [lldbtest_config.lldbExec, '--no-lldbinit', '--no-use-colors']
args += [lldbtest_config.lldbExec, '--no-lldbinit']
if not use_colors:
args += '--no-use-colors'
for cmd in self.setUpCommands():
args += ['-O', cmd]
if use_colors and "use-color false" not in cmd:
args += ['-O', cmd]
if executable is not None:
args += ['--file', executable]
if extra_args is not None:
@@ -54,8 +58,9 @@ class PExpectTest(TestBase):
post_spawn()
self.expect_prompt()
for cmd in self.setUpCommands():
self.child.expect_exact(cmd)
self.expect_prompt()
if use_colors and "use-color false" not in cmd:
self.child.expect_exact(cmd)
self.expect_prompt()
if executable is not None:
self.child.expect_exact("target create")
self.child.expect_exact("Current executable set to")