From 63e1c840a7f96ed690f71902dad0749e951cb200 Mon Sep 17 00:00:00 2001 From: "Erlend E. Aasland" Date: Mon, 13 Apr 2020 20:41:41 +0200 Subject: [PATCH] bpo-35569: Add unit tests --- Lib/test/test_socket.py | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/Lib/test/test_socket.py b/Lib/test/test_socket.py index 6e4e4fe4c3..a8a85fa61f 100755 --- a/Lib/test/test_socket.py +++ b/Lib/test/test_socket.py @@ -946,6 +946,37 @@ class GeneralModuleTests(unittest.TestCase): socket.IPPROTO_L2TP socket.IPPROTO_SCTP + @unittest.skipUnless(sys.platform == 'darwin', 'macOS specific test') + @unittest.skipUnless(support.IPV6_ENABLED, 'IPv6 required for this test.') + def test3542SOptions(self): + # Ref. issue #35569 and https://tools.ietf.org/html/rfc3542 + opts = { + 'IPV6_CHECKSUM', + 'IPV6_DONTFRAG', + 'IPV6_DSTOPTS', + 'IPV6_HOPLIMIT', + 'IPV6_HOPOPTS', + 'IPV6_NEXTHOP', + 'IPV6_PATHMTU', + 'IPV6_PKTINFO', + 'IPV6_RECVDSTOPTS', + 'IPV6_RECVHOPLIMIT', + 'IPV6_RECVHOPOPTS', + 'IPV6_RECVPATHMTU', + 'IPV6_RECVPKTINFO', + 'IPV6_RECVRTHDR', + 'IPV6_RECVTCLASS', + 'IPV6_RTHDR', + 'IPV6_RTHDRDSTOPTS', + 'IPV6_RTHDR_TYPE_0', + 'IPV6_TCLASS', + 'IPV6_USE_MIN_MTU', + } + for opt in opts: + self.assertTrue( + hasattr(socket, opt), f"Missing RFC3542 socket option '{opt}'" + ) + def testHostnameRes(self): # Testing hostname resolution mechanisms hostname = socket.gethostname() -- 2.26.0.106.g9fadedd637