[Lldb-commits] [PATCH] D125915: [lldb/Test] Add `use_colors` argument to PExpect.launch wrapper

Med Ismail Bennani via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Wed May 18 11:35:08 PDT 2022

mib created this revision.
mib added a reviewer: JDevlieghere.
mib added a project: LLDB.
Herald added a project: All.
mib requested review of this revision.
Herald added a subscriber: lldb-commits.

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

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.

Signed-off-by: Med Ismail Bennani <medismail.bennani at gmail.com>

  rG LLVM Github Monorepo



Index: lldb/packages/Python/lldbsuite/test/lldbpexpect.py
--- lldb/packages/Python/lldbsuite/test/lldbpexpect.py
+++ lldb/packages/Python/lldbsuite/test/lldbpexpect.py
@@ -24,16 +24,20 @@
     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 @@
         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")

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D125915.430464.patch
Type: text/x-patch
Size: 1735 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20220518/9f81d8d9/attachment.bin>

More information about the lldb-commits mailing list