diff options
Diffstat (limited to 'tests')
-rwxr-xr-x | tests/interact.py | 5 | ||||
-rwxr-xr-x | tests/test_interact.py | 12 |
2 files changed, 16 insertions, 1 deletions
diff --git a/tests/interact.py b/tests/interact.py index 9f8e672..93b9bea 100755 --- a/tests/interact.py +++ b/tests/interact.py @@ -33,7 +33,10 @@ import sys def main(): p = pexpect.spawn(sys.executable + ' echo_w_prompt.py', env=no_coverage_env()) - p.interact() + escape_character = chr(29) # default matches api + if len(sys.argv) > 2 and sys.argv[1] == '--no-escape': + escape_character = None + p.interact(escape_character=escape_character) print("Escaped interact") if __name__ == '__main__': diff --git a/tests/test_interact.py b/tests/test_interact.py index e635cb0..21d083b 100755 --- a/tests/test_interact.py +++ b/tests/test_interact.py @@ -57,6 +57,18 @@ class InteractTestCase (PexpectTestCase.PexpectTestCase): assert not p.isalive() assert p.exitstatus == 0 + def test_interact_escape_None(self): + " Return only after Termination when `escape_character=None'. " + p = pexpect.spawn('{self.interact_py} --no-escape'.format(self=self), + timeout=5, env=self.env) + p.expect('<in >') + p.sendcontrol('d') + p.expect('<eof>') + p.expect_exact('Escaped interact') + p.expect(pexpect.EOF) + assert not p.isalive() + assert p.exitstatus == 0 + def test_interact_spawn_eof(self): " Ensure subprocess receives EOF and exit. " p = pexpect.spawn(self.interact_py, timeout=5, env=self.env) |