Author: zturner Date: Wed Jan 27 12:49:25 2016 New Revision: 258965 URL: http://llvm.org/viewvc/llvm-project?rev=258965&view=rev Log: 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. Modified: lldb/trunk/packages/Python/lldbsuite/test/lldbpexpect.py Modified: lldb/trunk/packages/Python/lldbsuite/test/lldbpexpect.py URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/lldbpexpect.py?rev=258965&r1=258964&r2=258965&view=diff ============================================================================== --- lldb/trunk/packages/Python/lldbsuite/test/lldbpexpect.py (original) +++ lldb/trunk/packages/Python/lldbsuite/test/lldbpexpect.py Wed Jan 27 12:49:25 2016 @@ -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 quit(self, gracefully=None): - if gracefully is None: gracefully = True - self.child.sendeof() - self.child.close(force=not gracefully) - self.child = None + 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 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits