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
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.

Signed-off-by: Med Ismail Bennani <medismail.benn...@gmail.com>


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D125915

Files:
  lldb/packages/Python/lldbsuite/test/lldbpexpect.py


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 @@
         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 @@
             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")


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 @@
         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 @@
             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")
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
  • [Lldb-commits] [PATCH]... Med Ismail Bennani via Phabricator via lldb-commits

Reply via email to