davide created this revision.
davide added reviewers: JDevlieghere, friss, zturner, labath, jingham.
Herald added a reviewer: serge-sans-paille.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

[testsuite] Convert a pexpect test to lit.


Repository:
  rL LLVM

https://reviews.llvm.org/D57840

Files:
  lldb/lit/Commands/command-regex-2.test
  lldb/lit/Commands/command-regex.test
  lldb/packages/Python/lldbsuite/test/functionalities/command_regex/.categories
  
lldb/packages/Python/lldbsuite/test/functionalities/command_regex/TestCommandRegex.py
  
lldb/packages/Python/lldbsuite/test/tools/lldb-server/TestAppleSimulatorOSType.py

Index: lldb/packages/Python/lldbsuite/test/tools/lldb-server/TestAppleSimulatorOSType.py
===================================================================
--- lldb/packages/Python/lldbsuite/test/tools/lldb-server/TestAppleSimulatorOSType.py
+++ lldb/packages/Python/lldbsuite/test/tools/lldb-server/TestAppleSimulatorOSType.py
@@ -15,7 +15,7 @@
 
     def check_simulator_ostype(self, sdk, platform, arch='x86_64'):
         sim_devices_str = subprocess.check_output(['xcrun', 'simctl', 'list',
-                                                   '-j', 'devices'])
+                                                   '-j', 'devices']).decode("utf-8")
         sim_devices = json.loads(sim_devices_str)['devices']
         # Find an available simulator for the requested platform
         deviceUDID = None
Index: lldb/packages/Python/lldbsuite/test/functionalities/command_regex/TestCommandRegex.py
===================================================================
--- lldb/packages/Python/lldbsuite/test/functionalities/command_regex/TestCommandRegex.py
+++ /dev/null
@@ -1,63 +0,0 @@
-"""
-Test lldb 'commands regex' command which allows the user to create a regular expression command.
-"""
-
-from __future__ import print_function
-
-
-import os
-import lldb
-from lldbsuite.test.decorators import *
-from lldbsuite.test.lldbtest import *
-from lldbsuite.test import lldbutil
-
-
-class CommandRegexTestCase(TestBase):
-
-    mydir = TestBase.compute_mydir(__file__)
-
-    @expectedFailureAll(
-        hostoslist=["windows"],
-        bugnumber="llvm.org/pr22274: need a pexpect replacement for windows")
-    @no_debug_info_test
-    def test_command_regex(self):
-        """Test a simple scenario of 'command regex' invocation and subsequent use."""
-        import pexpect
-        prompt = "(lldb) "
-        regex_prompt = "Enter one of more sed substitution commands in the form: 's/<regex>/<subst>/'.\r\nTerminate the substitution list with an empty line.\r\n"
-        regex_prompt1 = "\r\n"
-
-        child = pexpect.spawn('%s %s' %
-                              (lldbtest_config.lldbExec, self.lldbOption))
-        # Turn on logging for what the child sends back.
-        if self.TraceOn():
-            child.logfile_read = sys.stdout
-        # So that the spawned lldb session gets shutdown durng teardown.
-        self.child = child
-
-        # Substitute 'Help!' for 'help' using the 'commands regex' mechanism.
-        child.expect_exact(prompt)
-        child.sendline("command regex 'Help__'")
-        child.expect_exact(regex_prompt)
-        child.sendline('s/^$/help/')
-        child.expect_exact(regex_prompt1)
-        child.sendline('')
-        child.expect_exact(prompt)
-        # Help!
-        child.sendline('Help__')
-        # If we see the familiar 'help' output, the test is done.
-        child.expect('Debugger commands:')
-        # Try and incorrectly remove "Help__" using "command unalias" and
-        # verify we fail
-        child.sendline('command unalias Help__')
-        child.expect_exact(
-            "error: 'Help__' is not an alias, it is a debugger command which can be removed using the 'command delete' command")
-        child.expect_exact(prompt)
-
-        # Delete the regex command using "command delete"
-        child.sendline('command delete Help__')
-        child.expect_exact(prompt)
-        # Verify the command was removed
-        child.sendline('Help__')
-        child.expect_exact("error: 'Help__' is not a valid command")
-        child.expect_exact(prompt)
Index: lldb/packages/Python/lldbsuite/test/functionalities/command_regex/.categories
===================================================================
--- lldb/packages/Python/lldbsuite/test/functionalities/command_regex/.categories
+++ /dev/null
@@ -1 +0,0 @@
-cmdline
Index: lldb/lit/Commands/command-regex.test
===================================================================
--- /dev/null
+++ lldb/lit/Commands/command-regex.test
@@ -0,0 +1,14 @@
+# Check basic functionality of command regex.
+# RUN: %lldb -s %s 2>&1 | FileCheck %s
+
+command regex 'Help__'
+# CHECK: Enter one of more sed substitution commands in the form
+# We need to leave a new line after to end the regex.
+s/^$/help/
+
+Help__
+# CHECK: Debugger commands:
+
+command delete Help__
+Help__
+# CHECK: error: 'Help__' is not a valid command
Index: lldb/lit/Commands/command-regex-2.test
===================================================================
--- /dev/null
+++ lldb/lit/Commands/command-regex-2.test
@@ -0,0 +1,11 @@
+# Check that commands created with command regex cannot be unaliased
+# RUN: %lldb -s %s 2>&1 | FileCheck %s
+
+command regex 'Help__'
+# CHECK: Enter one of more sed substitution commands in the form
+# We need to leave a new line after to end the regex.
+s/^$/help/
+
+command unalias Help__
+Help__
+# CHECK: error: 'Help__' is not an alias
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to