import lldb
from lldbtest import *
import lldbutil
import os
import unittest2
import sys
import pexpect

class PExpectTest(TestBase):
    
    mydir = TestBase.compute_mydir(__file__)

    def setUp(self):
        # Call super's setUp().
        TestBase.setUp(self)

    def doTest(self):
        # put your commands here
        pass

    def launchArgs(self):
        return ""

    def launch(self):
        self.timeout = 5
        self.child = pexpect.spawn('%s %s' % self.lldbHere, self.launchArgs())

    def expect(self, patterns=None, timeout=None):
        if patterns is None: patterns = '.*'
        return self.child.expect(patterns, timeout=timeout)

    def sendimpl(self, sender, command, patterns=None, timeout=None):
        if timeout is None: timeout = self.timeout
        sender(command)
        if patterns is not None: return self.expect(patterns=patterns, timeout=timeout)
        return None

    def send(self, command, patterns=None, timeout=None):
        self.sendimpl(self.child.send, command, patterns, timeout)

    def sendline(self, command, patterns=None, timeout=None):
        self.sendimpl(self.child.sendline, command, patterns, timeout)

    def quit(self, gracefully=None):
        if gracefully is None: gracefully = True
        self.child.sendeof()
        self.child.close(force=not gracefully)
        self.child = None

Add an helper class to write pexpect-based test cases Over time, we should improve this class and port all pexpect based testing over to using this
Add an helper class to write pexpect-based test cases
Over time, we should improve this class and port all pexpect based testing over to using this



git-svn-id: 4c4cc70b1ef44ba2b7963015e681894188cea27e@227875 91177308-0d34-0410-b5e6-96231b3b80d8
