summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite
diff options
context:
space:
mode:
authorZachary Turner <zturner@google.com>2016-01-27 18:49:25 +0000
committerZachary Turner <zturner@google.com>2016-01-27 18:49:25 +0000
commit74b7965d3861ea5bf252701b5d1814cd7e430c87 (patch)
treea8e339bcfe3f6ead30e35c412dacc04aab29c669 /lldb/packages/Python/lldbsuite
parente399e5bd3d4498280239fae73695bbde414fb652 (diff)
downloadbcm5719-llvm-74b7965d3861ea5bf252701b5d1814cd7e430c87.tar.gz
bcm5719-llvm-74b7965d3861ea5bf252701b5d1814cd7e430c87.zip
Don't automtically try to import pexpect in lldbpexpect.
Since pexpect doesn't exist on Windows, tests which are xfail'ed are not being run at all because they are failing when the file is imported due to the `import pexpect`. This puts the import behind a conditional and makes an empty base class in the case where pexpect is not present. llvm-svn: 258965
Diffstat (limited to 'lldb/packages/Python/lldbsuite')
-rw-r--r--lldb/packages/Python/lldbsuite/test/lldbpexpect.py96
1 files changed, 51 insertions, 45 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/lldbpexpect.py b/lldb/packages/Python/lldbsuite/test/lldbpexpect.py
index 55b958a5597..952e78910e0 100644
--- a/lldb/packages/Python/lldbsuite/test/lldbpexpect.py
+++ b/lldb/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 %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
OpenPOWER on IntegriCloud