diff options
| author | Barry Warsaw <barry@python.org> | 2004-06-28 00:50:43 (GMT) | 
|---|---|---|
| committer | Barry Warsaw <barry@python.org> | 2004-06-28 00:50:43 (GMT) | 
| commit | 11b91a0ea33fc4632a84d1b762f432411f9a0ddd (patch) | |
| tree | 9727062871138ce674455ee6c021220361bd8ccb /Lib/test | |
| parent | 1ed5705154d6a0f4e23345f3ead902d2fffecca8 (diff) | |
| download | cpython-11b91a0ea33fc4632a84d1b762f432411f9a0ddd.zip cpython-11b91a0ea33fc4632a84d1b762f432411f9a0ddd.tar.gz cpython-11b91a0ea33fc4632a84d1b762f432411f9a0ddd.tar.bz2  | |
Added socket.getservbyport(), and make its second argument and that of
getservbyname() optional.  Update the tests and the docs.
Diffstat (limited to 'Lib/test')
| -rw-r--r-- | Lib/test/test_socket.py | 32 | 
1 files changed, 22 insertions, 10 deletions
diff --git a/Lib/test/test_socket.py b/Lib/test/test_socket.py index 6e2f80c..2831454 100644 --- a/Lib/test/test_socket.py +++ b/Lib/test/test_socket.py @@ -284,22 +284,34 @@ class GeneralModuleTests(unittest.TestCase):              self.assertEqual(swapped & mask, mask)              self.assertRaises(OverflowError, func, 1L<<34) -    def testGetServByName(self): -        # Testing getservbyname() -        # try a few protocols - not everyone has telnet enabled -        for proto in ("telnet", "ssh", "www", "ftp"): +    def testGetServBy(self): +        eq = self.assertEqual +        # Find one service that exists, then check all the related interfaces. +        # I've ordered this by protocols that have both a tcp and udp +        # protocol, at least for modern Linuxes. +        for service in ('ssh', 'www', 'echo', 'imap2'):              try: -                socket.getservbyname(proto, 'tcp') -                break -            except socket.error: -                pass -            try: -                socket.getservbyname(proto, 'udp') +                port = socket.getservbyname(service, 'tcp')                  break              except socket.error:                  pass          else:              raise socket.error +        # Try same call with optional protocol omitted +        port2 = socket.getservbyname(service) +        eq(port, port2) +        # Try udp, but don't barf it it doesn't exist +        try: +            udpport = socket.getservbyname(service, 'udp') +        except socket.error: +            udpport = None +        else: +            eq(udpport, port) +        # Now make sure the lookup by port returns the same service name +        eq(socket.getservbyport(port2), service) +        eq(socket.getservbyport(port, 'tcp'), service) +        if udpport is not None: +            eq(socket.getservbyport(udpport, 'udp'), service)      def testDefaultTimeout(self):          # Testing default timeout  | 
