summaryrefslogtreecommitdiff
path: root/pexpect/popen_spawn.py
diff options
context:
space:
mode:
authorSteven Silvester <steven.silvester@ieee.org>2014-12-01 21:00:21 -0600
committerThomas Kluyver <takowl@gmail.com>2015-09-12 11:49:09 +0100
commit6407d849d4719c9aeda1eca011808044fb126764 (patch)
treebb035ce6955812cbb77f8003e5c0abd97b67ed58 /pexpect/popen_spawn.py
parentce7c7ed9ec8e5c9b985a51f911ba01bcb4c8d566 (diff)
downloadpexpect-6407d849d4719c9aeda1eca011808044fb126764.tar.gz
Add a sendeof method and tests
Diffstat (limited to 'pexpect/popen_spawn.py')
-rw-r--r--pexpect/popen_spawn.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/pexpect/popen_spawn.py b/pexpect/popen_spawn.py
index 0a186fe..389c505 100644
--- a/pexpect/popen_spawn.py
+++ b/pexpect/popen_spawn.py
@@ -26,7 +26,7 @@ class PopenSpawn(SpawnBase):
logfile=None, cwd=None, env=None):
super(PopenSpawn, self).__init__(timeout=timeout, maxread=maxread,
searchwindowsize=searchwindowsize, logfile=logfile)
-
+
kwargs = dict(bufsize=0, stdin=subprocess.PIPE,
stderr=subprocess.STDOUT, stdout=subprocess.PIPE,
cwd=cwd, env=env)
@@ -106,7 +106,7 @@ class PopenSpawn(SpawnBase):
def writelines(self, sequence):
'''This calls write() for each element in the sequence.
-
+
The sequence can be any iterable object producing strings, typically a
list of strings. This does not add line separators. There is no return
value.
@@ -153,6 +153,12 @@ class PopenSpawn(SpawnBase):
os.kill(self.proc.pid, sig)
+ def sendeof(self):
+ if sys.platform == 'win32':
+ self.kill(signal.CTRL_BREAK_EVENT)
+ else:
+ self.kill(signal.SIGTERM)
+
class PopenSpawnUnicode(SpawnBaseUnicode, PopenSpawn):
def _send(self, s):