<div dir="ltr">This will be very helpful for when we eventually come up with a solution for pexpect on Windows.  Thanks<br></div><br><div class="gmail_quote">On Mon Feb 02 2015 at 2:19:55 PM Enrico Granata <<a href="mailto:egranata@apple.com">egranata@apple.com</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: enrico<br>
Date: Mon Feb  2 16:12:39 2015<br>
New Revision: 227875<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=227875&view=rev" target="_blank">http://llvm.org/viewvc/llvm-<u></u>project?rev=227875&view=rev</a><br>
Log:<br>
Add an helper class to write pexpect-based test cases<br>
Over time, we should improve this class and port all pexpect based testing over to using this<br>
<br>
<br>
Added:<br>
    lldb/trunk/test/lldbpexpect.py<br>
<br>
Added: lldb/trunk/test/lldbpexpect.py<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lldb/trunk/test/lldbpexpect.py?rev=227875&view=auto" target="_blank">http://llvm.org/viewvc/llvm-<u></u>project/lldb/trunk/test/<u></u>lldbpexpect.py?rev=227875&<u></u>view=auto</a><br>
==============================<u></u>==============================<u></u>==================<br>
--- lldb/trunk/test/lldbpexpect.py (added)<br>
+++ lldb/trunk/test/lldbpexpect.py Mon Feb  2 16:12:39 2015<br>
@@ -0,0 +1,48 @@<br>
+import lldb<br>
+from lldbtest import *<br>
+import lldbutil<br>
+import os<br>
+import unittest2<br>
+import sys<br>
+import pexpect<br>
+<br>
+class PExpectTest(TestBase):<br>
+<br>
+    mydir = TestBase.compute_mydir(__file_<u></u>_)<br>
+<br>
+    def setUp(self):<br>
+        # Call super's setUp().<br>
+        TestBase.setUp(self)<br>
+<br>
+    def doTest(self):<br>
+        # put your commands here<br>
+        pass<br>
+<br>
+    def launchArgs(self):<br>
+        return ""<br>
+<br>
+    def launch(self):<br>
+        self.timeout = 5<br>
+        self.child = pexpect.spawn('%s %s' % self.lldbHere, self.launchArgs())<br>
+<br>
+    def expect(self, patterns=None, timeout=None):<br>
+        if patterns is None: patterns = '.*'<br>
+        return self.child.expect(patterns, timeout=timeout)<br>
+<br>
+    def sendimpl(self, sender, command, patterns=None, timeout=None):<br>
+        if timeout is None: timeout = self.timeout<br>
+        sender(command)<br>
+        if patterns is not None: return self.expect(patterns=patterns, timeout=timeout)<br>
+        return None<br>
+<br>
+    def send(self, command, patterns=None, timeout=None):<br>
+        self.sendimpl(self.child.send, command, patterns, timeout)<br>
+<br>
+    def sendline(self, command, patterns=None, timeout=None):<br>
+        self.sendimpl(self.child.<u></u>sendline, command, patterns, timeout)<br>
+<br>
+    def quit(self, gracefully=None):<br>
+        if gracefully is None: gracefully = True<br>
+        self.child.sendeof()<br>
+        self.child.close(force=not gracefully)<br>
+        self.child = None<br>
<br>
<br>
______________________________<u></u>_________________<br>
lldb-commits mailing list<br>
<a href="mailto:lldb-commits@cs.uiuc.edu" target="_blank">lldb-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits" target="_blank">http://lists.cs.uiuc.edu/<u></u>mailman/listinfo/lldb-commits</a><br>
</blockquote></div>