]> granicus.if.org Git - python/commitdiff
Issue #18792: Use "127.0.0.1" or "::1" instead of "localhost" as much as possible...
authorAntoine Pitrou <solipsis@pitrou.net>
Wed, 21 Aug 2013 22:39:46 +0000 (00:39 +0200)
committerAntoine Pitrou <solipsis@pitrou.net>
Wed, 21 Aug 2013 22:39:46 +0000 (00:39 +0200)
Lib/test/test_asyncore.py
Lib/test/test_ftplib.py
Lib/test/test_multiprocessing.py
Lib/test/test_support.py
Misc/NEWS

index 134470fb79a9eab9757974a7570959221f8b4deb..20eceb635059edfea1f862153d6da18571f96763 100644 (file)
@@ -10,7 +10,7 @@ import errno
 import struct
 
 from test import test_support
-from test.test_support import TESTFN, run_unittest, unlink
+from test.test_support import TESTFN, run_unittest, unlink, HOST
 from StringIO import StringIO
 
 try:
@@ -18,7 +18,6 @@ try:
 except ImportError:
     threading = None
 
-HOST = test_support.HOST
 
 class dummysocket:
     def __init__(self):
index 535bc49f061c388b418865ffe7e6f04319a85516..e6aaca5376bb5e93774b0223328dfd5f7b515983 100644 (file)
@@ -17,7 +17,7 @@ except ImportError:
 
 from unittest import TestCase
 from test import test_support
-from test.test_support import HOST
+from test.test_support import HOST, HOSTv6
 threading = test_support.import_module('threading')
 
 
@@ -562,7 +562,7 @@ class TestFTPClass(TestCase):
 class TestIPv6Environment(TestCase):
 
     def setUp(self):
-        self.server = DummyFTPServer((HOST, 0), af=socket.AF_INET6)
+        self.server = DummyFTPServer((HOSTv6, 0), af=socket.AF_INET6)
         self.server.start()
         self.client = ftplib.FTP()
         self.client.connect(self.server.host, self.server.port)
@@ -713,7 +713,7 @@ class TestTimeouts(TestCase):
         self.assertTrue(socket.getdefaulttimeout() is None)
         socket.setdefaulttimeout(30)
         try:
-            ftp = ftplib.FTP("localhost")
+            ftp = ftplib.FTP(HOST)
         finally:
             socket.setdefaulttimeout(None)
         self.assertEqual(ftp.sock.gettimeout(), 30)
@@ -725,7 +725,7 @@ class TestTimeouts(TestCase):
         self.assertTrue(socket.getdefaulttimeout() is None)
         socket.setdefaulttimeout(30)
         try:
-            ftp = ftplib.FTP("localhost", timeout=None)
+            ftp = ftplib.FTP(HOST, timeout=None)
         finally:
             socket.setdefaulttimeout(None)
         self.assertTrue(ftp.sock.gettimeout() is None)
index 5ffe75994c43c85376c1248c628d54b36acbf77d..925f39dc4fa524b675766e4cc08abbb745cc0fdd 100644 (file)
@@ -1385,7 +1385,7 @@ class _TestRemoteManager(BaseTestCase):
         authkey = os.urandom(32)
 
         manager = QueueManager(
-            address=('localhost', 0), authkey=authkey, serializer=SERIALIZER
+            address=(test.test_support.HOST, 0), authkey=authkey, serializer=SERIALIZER
             )
         manager.start()
 
@@ -1423,7 +1423,7 @@ class _TestManagerRestart(BaseTestCase):
     def test_rapid_restart(self):
         authkey = os.urandom(32)
         manager = QueueManager(
-            address=('localhost', 0), authkey=authkey, serializer=SERIALIZER)
+            address=(test.test_support.HOST, 0), authkey=authkey, serializer=SERIALIZER)
         srvr = manager.get_server()
         addr = srvr.address
         # Close the connection.Listener socket which gets opened as a part
index fe5a4f35e39ba061fda1940a9840aecee990057b..be867bd507e787daaa7742d8f2e83d2abd789c3e 100644 (file)
@@ -290,7 +290,12 @@ def requires(resource, msg=None):
             msg = "Use of the `%s' resource not enabled" % resource
         raise ResourceDenied(msg)
 
-HOST = 'localhost'
+
+# Don't use "localhost", since resolving it uses the DNS under recent
+# Windows versions (see issue #18792).
+HOST = "127.0.0.1"
+HOSTv6 = "::1"
+
 
 def find_unused_port(family=socket.AF_INET, socktype=socket.SOCK_STREAM):
     """Returns an unused port that should be suitable for binding.  This is
index 67853e4e9b9a167d789a86bd55dea8dae049b5dd..318a974482217c6cc0825241a9083c6842dda26d 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -191,6 +191,10 @@ IDLE
 Tests
 -----
 
+- Issue #18792: Use "127.0.0.1" or "::1" instead of "localhost" as much as
+  possible, since "localhost" goes through a DNS lookup under recent Windows
+  versions.
+
 - Issue #18357: add tests for dictview set difference.
   Patch by Fraser Tweedale.