mirror of
https://github.com/clearml/wexpect-venv
synced 2025-03-04 02:57:38 +00:00
[REF] refactor init functions
This commit is contained in:
parent
58f64d39fa
commit
adc181bff7
@ -29,10 +29,10 @@ class TestCaseConstructor(PexpectTestCase.PexpectTestCase):
|
|||||||
This assumes that the root directory / is static during the test.
|
This assumes that the root directory / is static during the test.
|
||||||
'''
|
'''
|
||||||
p1 = wexpect.spawn('uname -m -n -p -r -s -v')
|
p1 = wexpect.spawn('uname -m -n -p -r -s -v')
|
||||||
p2 = wexpect.spawn('uname', ['-m', '-n', '-p', '-r', '-s', '-v'])
|
|
||||||
p1.expect(wexpect.EOF)
|
p1.expect(wexpect.EOF)
|
||||||
|
p2 = wexpect.spawn('uname', ['-m', '-n', '-p', '-r', '-s', '-v'])
|
||||||
p2.expect(wexpect.EOF)
|
p2.expect(wexpect.EOF)
|
||||||
assert p1.before == p2.before
|
self.assertEqual(p1.before, p2.before)
|
||||||
|
|
||||||
def test_named_parameters (self):
|
def test_named_parameters (self):
|
||||||
'''This tests that named parameters work.
|
'''This tests that named parameters work.
|
||||||
|
57
wexpect.py
57
wexpect.py
@ -405,6 +405,7 @@ class spawn_unix (object):
|
|||||||
stores the status returned by os.waitpid. You can interpret this using
|
stores the status returned by os.waitpid. You can interpret this using
|
||||||
os.WIFEXITED/os.WEXITSTATUS or os.WIFSIGNALED/os.TERMSIG. """
|
os.WIFEXITED/os.WEXITSTATUS or os.WIFSIGNALED/os.TERMSIG. """
|
||||||
|
|
||||||
|
if sys.platform != 'win32':
|
||||||
self.STDIN_FILENO = pty.STDIN_FILENO
|
self.STDIN_FILENO = pty.STDIN_FILENO
|
||||||
self.STDOUT_FILENO = pty.STDOUT_FILENO
|
self.STDOUT_FILENO = pty.STDOUT_FILENO
|
||||||
self.STDERR_FILENO = pty.STDERR_FILENO
|
self.STDERR_FILENO = pty.STDERR_FILENO
|
||||||
@ -1616,55 +1617,21 @@ class spawn_unix (object):
|
|||||||
# End of spawn_unix class
|
# End of spawn_unix class
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
class spawn_windows (spawn_unix, object):
|
class spawn_windows (spawn_unix):
|
||||||
"""This is the main class interface for Pexpect. Use this class to start
|
"""This is the main class interface for Pexpect. Use this class to start
|
||||||
and control child applications. """
|
and control child applications. """
|
||||||
|
|
||||||
def __init__(self, command, args=[], timeout=30, maxread=60000, searchwindowsize=None, logfile=None, cwd=None, env=None,
|
def __init__(self, command, args=[], timeout=30, maxread=60000, searchwindowsize=None, logfile=None, cwd=None, env=None,
|
||||||
codepage=None):
|
codepage=None):
|
||||||
self.stdin = sys.stdin
|
|
||||||
self.stdout = sys.stdout
|
|
||||||
self.stderr = sys.stderr
|
|
||||||
self.searcher = None
|
|
||||||
self.ignorecase = False
|
|
||||||
self.before = None
|
|
||||||
self.after = None
|
|
||||||
self.match = None
|
|
||||||
self.match_index = None
|
|
||||||
self.terminated = True
|
|
||||||
self.exitstatus = None
|
|
||||||
self.signalstatus = None
|
|
||||||
self.status = None # status returned by os.waitpid
|
|
||||||
self.flag_eof = False
|
|
||||||
self.pid = None
|
|
||||||
self.child_fd = -1 # initially closed
|
|
||||||
self.timeout = timeout
|
|
||||||
self.delimiter = EOF
|
|
||||||
self.logfile = logfile
|
|
||||||
self.logfile_read = None # input from child (read_nonblocking)
|
|
||||||
self.logfile_send = None # output to send (send, sendline)
|
|
||||||
self.maxread = maxread # max bytes to read at one time into buffer
|
|
||||||
self.buffer = '' # This is the read buffer. See maxread.
|
|
||||||
self.searchwindowsize = searchwindowsize # Anything before searchwindowsize point is preserved, but not searched.
|
|
||||||
self.delaybeforesend = 0.05 # Sets sleep time used just before sending data to child. Time in seconds.
|
|
||||||
self.delayafterclose = 0.1 # Sets delay in close() method to allow kernel time to update process status. Time in seconds.
|
|
||||||
self.delayafterterminate = 0.1 # Sets delay in terminate() method to allow kernel time to update process status. Time in seconds.
|
|
||||||
self.softspace = False # File-like object.
|
|
||||||
self.name = '<' + repr(self) + '>' # File-like object.
|
|
||||||
self.encoding = None # File-like object.
|
|
||||||
self.closed = True # File-like object.
|
|
||||||
self.ocwd = os.getcwd()
|
|
||||||
self.cwd = cwd
|
|
||||||
self.env = env
|
|
||||||
self.codepage = codepage
|
self.codepage = codepage
|
||||||
|
|
||||||
# allow dummy instances for subclasses that may not use command or args.
|
# Super class init function
|
||||||
if command is None:
|
super(spawn_windows, self).__init__(command, args, timeout, maxread, searchwindowsize, logfile, cwd, env)
|
||||||
self.command = None
|
|
||||||
self.args = None
|
#__irix_hack set by super, windows doesn't need it.
|
||||||
self.name = '<pexpect factory incomplete>'
|
self.__irix_hack = None
|
||||||
else:
|
|
||||||
self._spawn (command, args)
|
|
||||||
|
|
||||||
def __del__(self):
|
def __del__(self):
|
||||||
"""This makes sure that no system resources are left open. Python only
|
"""This makes sure that no system resources are left open. Python only
|
||||||
@ -1731,6 +1698,7 @@ class spawn_windows (spawn_unix, object):
|
|||||||
self.closed = False
|
self.closed = False
|
||||||
self.pid = self.wtty.pid
|
self.pid = self.wtty.pid
|
||||||
|
|
||||||
|
|
||||||
def fileno (self): # File-like object.
|
def fileno (self): # File-like object.
|
||||||
"""There is no child fd."""
|
"""There is no child fd."""
|
||||||
|
|
||||||
@ -1941,6 +1909,7 @@ class Wtty:
|
|||||||
self.lastReadData = ""
|
self.lastReadData = ""
|
||||||
self.pid = None
|
self.pid = None
|
||||||
self.processList = []
|
self.processList = []
|
||||||
|
self.__consout = None
|
||||||
# We need a timeout for connecting to the child process
|
# We need a timeout for connecting to the child process
|
||||||
self.timeout = timeout
|
self.timeout = timeout
|
||||||
self.totalRead = 0
|
self.totalRead = 0
|
||||||
@ -2210,10 +2179,6 @@ class Wtty:
|
|||||||
for i, c in enumerate(s):
|
for i, c in enumerate(s):
|
||||||
if c == screenbufferfillchar:
|
if c == screenbufferfillchar:
|
||||||
if (self.totalRead - self.lastRead + i + 1) % 80 == 0:
|
if (self.totalRead - self.lastRead + i + 1) % 80 == 0:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
strlist.append('\r\n')
|
strlist.append('\r\n')
|
||||||
else:
|
else:
|
||||||
strlist.append(c)
|
strlist.append(c)
|
||||||
|
Loading…
Reference in New Issue
Block a user