diff options
author | Zachary Turner <zturner@google.com> | 2016-01-27 18:49:25 +0000 |
---|---|---|
committer | Zachary Turner <zturner@google.com> | 2016-01-27 18:49:25 +0000 |
commit | 74b7965d3861ea5bf252701b5d1814cd7e430c87 (patch) | |
tree | a8e339bcfe3f6ead30e35c412dacc04aab29c669 /lldb/packages/Python/lldbsuite | |
parent | e399e5bd3d4498280239fae73695bbde414fb652 (diff) | |
download | bcm5719-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.py | 96 |
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 |