[Lldb-commits] [lldb] r129879 - in /lldb/trunk/test/command_regex: ./ TestCommandRegex.py

Johnny Chen johnny.chen at apple.com
Wed Apr 20 14:51:31 PDT 2011


Author: johnny
Date: Wed Apr 20 16:51:31 2011
New Revision: 129879

URL: http://llvm.org/viewvc/llvm-project?rev=129879&view=rev
Log:
Add a simple test scenario for 'command regex' invocation and subsequent use.

Added:
    lldb/trunk/test/command_regex/
    lldb/trunk/test/command_regex/TestCommandRegex.py

Added: lldb/trunk/test/command_regex/TestCommandRegex.py
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/test/command_regex/TestCommandRegex.py?rev=129879&view=auto
==============================================================================
--- lldb/trunk/test/command_regex/TestCommandRegex.py (added)
+++ lldb/trunk/test/command_regex/TestCommandRegex.py Wed Apr 20 16:51:31 2011
@@ -0,0 +1,42 @@
+"""
+Test lldb 'commands regex' command which allows the user to create a regular expression command.
+"""
+
+import os
+import unittest2
+import lldb
+import pexpect
+from lldbtest import *
+
+class CommandRegexTestCase(TestBase):
+
+    mydir = "command_regex"
+
+    def test_command_regex(self):
+        """Test a simple scenario of 'commands regexp' invocation and subsequent use."""
+        prompt = "\(lldb\) "
+        regex_prompt = "Enter multiple regular expressions in the form s/find/replace/ then terminate with an empty line:\r\n"
+        regex_prompt1 = "\r\n"
+
+        child = pexpect.spawn('%s' % self.lldbExec)
+        # Turn on logging for what the child sends back.
+        if traceAlways:
+            child.logfile_read = sys.stdout
+
+        # Set the breakpoint, followed by the target stop-hook commands.
+        child.expect(prompt)
+        child.sendline('commands regex Help!')
+        child.expect(regex_prompt)
+        child.sendline('s/^$/help/')
+        child.expect(regex_prompt1)
+        child.sendline('')
+        # Help!
+        child.sendline('Help!')
+        # If we see the familiar 'help' output, the test is done.
+        child.expect('The following is a list of built-in, permanent debugger commands:')        
+
+if __name__ == '__main__':
+    import atexit
+    lldb.SBDebugger.Initialize()
+    atexit.register(lambda: lldb.SBDebugger.Terminate())
+    unittest2.main()





More information about the lldb-commits mailing list