diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2016-07-23 20:50:09 +0000 | 
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2016-07-23 20:50:09 +0000 | 
| commit | f3fbd1c0586ff6ec7895991e6c28f61a503c36a8 (patch) | |
| tree | 48d008fd3df8c0e73271a4b18474e0aac6dbfe33 /packages/Python/lldbsuite/test/lldbpexpect.py | |
| parent | 2fc5d2d1dfaf623ce4e24cd8590565902f8c557c (diff) | |
Notes
Diffstat (limited to 'packages/Python/lldbsuite/test/lldbpexpect.py')
| -rw-r--r-- | packages/Python/lldbsuite/test/lldbpexpect.py | 96 | 
1 files changed, 51 insertions, 45 deletions
| diff --git a/packages/Python/lldbsuite/test/lldbpexpect.py b/packages/Python/lldbsuite/test/lldbpexpect.py index 55b958a55972d..d37d6fa4f8cbf 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 | 
