diff options
author | Red_M <1468433+Red-M@users.noreply.github.com> | 2018-04-10 01:52:14 +1000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-04-10 01:52:14 +1000 |
commit | cad8b12086d9f94796b8ce9a896920e986600167 (patch) | |
tree | a780ad1640bee281c7cc36db86c1d6dd47fa3b13 /tests | |
parent | 15cd7ba7450ed4e0f808009a9549175f31873a48 (diff) | |
parent | f7e856ba707b0ebdde90649761fd846163e91d91 (diff) | |
download | pexpect-git-cad8b12086d9f94796b8ce9a896920e986600167.tar.gz |
Merge pull request #474 from cooperlees/master
Allow callers to enable to use of select.poll()
Diffstat (limited to 'tests')
-rwxr-xr-x | tests/test_misc.py | 25 | ||||
-rw-r--r-- | tests/test_socket.py | 19 |
2 files changed, 40 insertions, 4 deletions
diff --git a/tests/test_misc.py b/tests/test_misc.py index fcd77d3..118de2e 100755 --- a/tests/test_misc.py +++ b/tests/test_misc.py @@ -52,6 +52,15 @@ class TestCaseMisc(PexpectTestCase.PexpectTestCase): return 'skip' assert child.isatty() + def test_isatty_poll(self): + " Test isatty() is True after spawning process on most platforms. " + child = pexpect.spawn('cat', use_poll=True) + if not child.isatty() and sys.platform.lower().startswith('sunos'): + if hasattr(unittest, 'SkipTest'): + raise unittest.SkipTest("Not supported on this platform.") + return 'skip' + assert child.isatty() + def test_read(self): " Test spawn.read by calls of various size. " child = pexpect.spawn('cat') @@ -65,6 +74,19 @@ class TestCaseMisc(PexpectTestCase.PexpectTestCase): remaining = child.read().replace(_CAT_EOF, b'') self.assertEqual(remaining, b'abc\r\n') + def test_read_poll(self): + " Test spawn.read by calls of various size. " + child = pexpect.spawn('cat', use_poll=True) + child.sendline("abc") + child.sendeof() + self.assertEqual(child.read(0), b'') + self.assertEqual(child.read(1), b'a') + self.assertEqual(child.read(1), b'b') + self.assertEqual(child.read(1), b'c') + self.assertEqual(child.read(2), b'\r\n') + remaining = child.read().replace(_CAT_EOF, b'') + self.assertEqual(remaining, b'abc\r\n') + def test_readline_bin_echo(self): " Test spawn('echo'). " # given, @@ -148,7 +170,7 @@ class TestCaseMisc(PexpectTestCase.PexpectTestCase): p.sendline(b'alpha') p.expect(b'<out>alpha') assert p.isalive() - + assert not p.isalive() def test_terminate(self): @@ -343,4 +365,3 @@ if __name__ == '__main__': unittest.main() suite = unittest.makeSuite(TestCaseMisc,'test') - diff --git a/tests/test_socket.py b/tests/test_socket.py index 56d69c7..21648f4 100644 --- a/tests/test_socket.py +++ b/tests/test_socket.py @@ -225,7 +225,7 @@ class ExpectTestCase(PexpectTestCase.PexpectTestCase): session.expect(pexpect.EOF) self.assertEqual(session.before, b'') - def test_fd_isalive (self): + def test_fd_isalive(self): sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.connect((self.host, self.port)) session = fdpexpect.fdspawn(sock.fileno(), timeout=10) @@ -233,13 +233,28 @@ class ExpectTestCase(PexpectTestCase.PexpectTestCase): sock.close() assert not session.isalive(), "Should not be alive after close()" - def test_fd_isatty (self): + def test_fd_isalive_poll(self): + sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + sock.connect((self.host, self.port)) + session = fdpexpect.fdspawn(sock.fileno(), timeout=10, use_poll=True) + assert session.isalive() + sock.close() + assert not session.isalive(), "Should not be alive after close()" + + def test_fd_isatty(self): sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.connect((self.host, self.port)) session = fdpexpect.fdspawn(sock.fileno(), timeout=10) assert not session.isatty() session.close() + def test_fd_isatty_poll(self): + sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + sock.connect((self.host, self.port)) + session = fdpexpect.fdspawn(sock.fileno(), timeout=10, use_poll=True) + assert not session.isatty() + session.close() + def test_fileobj(self): sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.connect((self.host, self.port)) |