aboutsummaryrefslogtreecommitdiff
path: root/packages/Python/lldbsuite/test/lldbpexpect.py
diff options
context:
space:
mode:
Diffstat (limited to 'packages/Python/lldbsuite/test/lldbpexpect.py')
-rw-r--r--packages/Python/lldbsuite/test/lldbpexpect.py96
1 files changed, 51 insertions, 45 deletions
diff --git a/packages/Python/lldbsuite/test/lldbpexpect.py b/packages/Python/lldbsuite/test/lldbpexpect.py
index 55b958a55972..d37d6fa4f8cb 100644
--- a/packages/Python/lldbsuite/test/lldbpexpect.py
+++ b/packages/Python/lldbsuite/test/lldbpexpect.py
@@ -6,58 +6,64 @@ import os
import sys
# Third-party modules
-import pexpect
+import six
# LLDB Modules
import lldb
from .lldbtest import *
from . import lldbutil
-class PExpectTest(TestBase):
+if sys.platform.startswith('win32'):
+ class PExpectTest(TestBase):
+ pass
+else:
+ import pexpect
+
+ class PExpectTest(TestBase):
- mydir = TestBase.compute_mydir(__file__)
+ mydir = TestBase.compute_mydir(__file__)
- def setUp(self):
- TestBase.setUp(self)
+ def setUp(self):
+ TestBase.setUp(self)
- def launchArgs(self):
- pass
+ def launchArgs(self):
+ pass
+
+ def launch(self, timeout=None):
+ if timeout is None: timeout = 30
+ logfile = sys.stdout if self.TraceOn() else None
+ self.child = pexpect.spawn('%s --no-use-colors %s' % (lldbtest_config.lldbExec, self.launchArgs()), logfile=logfile)
+ self.child.timeout = timeout
+ self.timeout = timeout
+
+ def expect(self, patterns=None, timeout=None, exact=None):
+ if patterns is None: return None
+ if timeout is None: timeout = self.timeout
+ if exact is None: exact = False
+ if exact:
+ return self.child.expect_exact(patterns, timeout=timeout)
+ else:
+ return self.child.expect(patterns, timeout=timeout)
+
+ def expectall(self, patterns=None, timeout=None, exact=None):
+ if patterns is None: return None
+ if timeout is None: timeout = self.timeout
+ if exact is None: exact = False
+ for pattern in patterns:
+ self.expect(pattern, timeout=timeout, exact=exact)
+
+ def sendimpl(self, sender, command, patterns=None, timeout=None, exact=None):
+ sender(command)
+ return self.expect(patterns=patterns, timeout=timeout, exact=exact)
+
+ def send(self, command, patterns=None, timeout=None, exact=None):
+ return self.sendimpl(self.child.send, command, patterns, timeout, exact)
+
+ def sendline(self, command, patterns=None, timeout=None, exact=None):
+ return self.sendimpl(self.child.sendline, command, patterns, timeout, exact)
- def launch(self, timeout=None):
- if timeout is None: timeout = 30
- logfile = sys.stdout if self.TraceOn() else None
- self.child = pexpect.spawn('%s %s' % (lldbtest_config.lldbExec, self.launchArgs()), logfile=logfile)
- self.child.timeout = timeout
- self.timeout = timeout
-
- def expect(self, patterns=None, timeout=None, exact=None):
- if patterns is None: return None
- if timeout is None: timeout = self.timeout
- if exact is None: exact = False
- if exact:
- return self.child.expect_exact(patterns, timeout=timeout)
- else:
- return self.child.expect(patterns, timeout=timeout)
-
- def expectall(self, patterns=None, timeout=None, exact=None):
- if patterns is None: return None
- if timeout is None: timeout = self.timeout
- if exact is None: exact = False
- for pattern in patterns:
- self.expect(pattern, timeout=timeout, exact=exact)
-
- def sendimpl(self, sender, command, patterns=None, timeout=None, exact=None):
- sender(command)
- return self.expect(patterns=patterns, timeout=timeout, exact=exact)
-
- def send(self, command, patterns=None, timeout=None, exact=None):
- return self.sendimpl(self.child.send, command, patterns, timeout, exact)
-
- def sendline(self, command, patterns=None, timeout=None, exact=None):
- return self.sendimpl(self.child.sendline, command, patterns, timeout, exact)
-
- def quit(self, gracefully=None):
- if gracefully is None: gracefully = True
- self.child.sendeof()
- self.child.close(force=not gracefully)
- self.child = None
+ def quit(self, gracefully=None):
+ if gracefully is None: gracefully = True
+ self.child.sendeof()
+ self.child.close(force=not gracefully)
+ self.child = None