|
27 | 27 | except ImportError: |
28 | 28 | from asyncio.test_support import assert_python_ok |
29 | 29 |
|
30 | | - |
31 | 30 | MOCK_ANY = mock.ANY |
32 | 31 | PY34 = sys.version_info >= (3, 4) |
33 | 32 |
|
@@ -288,7 +287,7 @@ def cb(): |
288 | 287 | loop.set_debug(debug) |
289 | 288 | if debug: |
290 | 289 | msg = ("Non-thread-safe operation invoked on an event loop other " |
291 | | - "than the current one") |
| 290 | + "than the current one") |
292 | 291 | with self.assertRaisesRegex(RuntimeError, msg): |
293 | 292 | loop.call_soon(cb) |
294 | 293 | with self.assertRaisesRegex(RuntimeError, msg): |
@@ -1839,5 +1838,30 @@ def runner(loop): |
1839 | 1838 |
|
1840 | 1839 |
|
1841 | 1840 |
|
| 1841 | +class TestSelectorUtils(test_utils.TestCase): |
| 1842 | + def check_set_nodelay(self, sock): |
| 1843 | + opt = sock.getsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY) |
| 1844 | + self.assertFalse(opt) |
| 1845 | + |
| 1846 | + base_events._set_nodelay(sock) |
| 1847 | + |
| 1848 | + opt = sock.getsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY) |
| 1849 | + self.assertTrue(opt) |
| 1850 | + |
| 1851 | + @unittest.skipUnless(hasattr(socket, 'TCP_NODELAY'), |
| 1852 | + 'need socket.TCP_NODELAY') |
| 1853 | + def test_set_nodelay(self): |
| 1854 | + sock = socket.socket(family=socket.AF_INET, type=socket.SOCK_STREAM, |
| 1855 | + proto=socket.IPPROTO_TCP) |
| 1856 | + with sock: |
| 1857 | + self.check_set_nodelay(sock) |
| 1858 | + |
| 1859 | + sock = socket.socket(family=socket.AF_INET, type=socket.SOCK_STREAM, |
| 1860 | + proto=socket.IPPROTO_TCP) |
| 1861 | + with sock: |
| 1862 | + sock.setblocking(False) |
| 1863 | + self.check_set_nodelay(sock) |
| 1864 | + |
| 1865 | + |
1842 | 1866 | if __name__ == '__main__': |
1843 | 1867 | unittest.main() |
0 commit comments