From 19e7d48ce89422091f9af93038b9fee075d46e9e Mon Sep 17 00:00:00 2001 From: animalize Date: Tue, 27 Feb 2018 02:10:36 +0800 Subject: bpo-32394: Remove some TCP options on old version Windows. (GH-5523) --- Lib/test/test_socket.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'Lib/test/test_socket.py') diff --git a/Lib/test/test_socket.py b/Lib/test/test_socket.py index b0e1b7471e..bff1dc2d06 100644 --- a/Lib/test/test_socket.py +++ b/Lib/test/test_socket.py @@ -5945,6 +5945,27 @@ class LinuxKernelCryptoAPI(unittest.TestCase): with self.assertRaises(TypeError): sock.sendmsg_afalg(op=socket.ALG_OP_ENCRYPT, assoclen=-1) +@unittest.skipUnless(sys.platform.startswith("win"), "requires Windows") +class TestMSWindowsTCPFlags(unittest.TestCase): + knownTCPFlags = { + # avaliable since long time ago + 'TCP_MAXSEG', + 'TCP_NODELAY', + # available starting with Windows 10 1607 + 'TCP_FASTOPEN', + # available starting with Windows 10 1703 + 'TCP_KEEPCNT', + # available starting with Windows 10 1709 + 'TCP_KEEPIDLE', + 'TCP_KEEPINTVL' + } + + def test_new_tcp_flags(self): + provided = [s for s in dir(socket) if s.startswith('TCP')] + unknown = [s for s in provided if s not in self.knownTCPFlags] + + self.assertEqual([], unknown, + "New TCP flags were discovered. See bpo-32394 for more information") def test_main(): tests = [GeneralModuleTests, BasicTCPTest, TCPCloserTest, TCPTimeoutTest, @@ -6005,6 +6026,7 @@ def test_main(): SendfileUsingSendTest, SendfileUsingSendfileTest, ]) + tests.append(TestMSWindowsTCPFlags) thread_info = support.threading_setup() support.run_unittest(*tests) -- cgit v1.2.1