]> granicus.if.org Git - python/commitdiff
modify testGetServByName so it tries a few different protocols. In this day
authorSkip Montanaro <skip@pobox.com>
Fri, 2 Aug 2002 02:19:46 +0000 (02:19 +0000)
committerSkip Montanaro <skip@pobox.com>
Fri, 2 Aug 2002 02:19:46 +0000 (02:19 +0000)
and age of rampant computer breakins I imagine there are plenty of systems
with telnet disabled.  Successful check of at least one getservbyname() call
is required for success

Lib/test/test_socket.py

index e811348b18b26f3dd6371a9f15bfe0d2ce72b354..b4bb293213e03692dcbc9cebbeafebbc2582ca25 100644 (file)
@@ -260,11 +260,23 @@ class GeneralModuleTests(unittest.TestCase):
     def testGetServByName(self):
         """Testing getservbyname()."""
         if hasattr(socket, 'getservbyname'):
-            socket.getservbyname('telnet', 'tcp')
-            try:
-                socket.getservbyname('telnet', 'udp')
-            except socket.error:
-                pass
+            # try a few protocols - not everyone has telnet enabled
+            found = 0
+            for proto in ("telnet", "ssh", "www", "ftp"):
+                try:
+                    socket.getservbyname(proto, 'tcp')
+                    found = 1
+                    break
+                except socket.error:
+                    pass
+                try:
+                    socket.getservbyname(proto, 'udp')
+                    found = 1
+                    break
+                except socket.error:
+                    pass
+                if not found:
+                    raise socket.error
 
     def testDefaultTimeout(self):
         """Testing default timeout."""