[Python-checkins] cpython (2.7): Issue #18792: Use "127.0.0.1" or "::1" instead of "localhost" as much as

antoine.pitrou python-checkins at python.org
Thu Aug 22 00:58:37 CEST 2013


http://hg.python.org/cpython/rev/48de8df194d9
changeset: 85304:48de8df194d9
branch: 2.7
parent: 85298:ee0bb673536c
user: Antoine Pitrou <solipsis at pitrou.net>
date: Thu Aug 22 00:39:46 2013 +0200
summary:
 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.
files:
 Lib/test/test_asyncore.py | 3 +--
 Lib/test/test_ftplib.py | 8 ++++----
 Lib/test/test_multiprocessing.py | 4 ++--
 Lib/test/test_support.py | 7 ++++++-
 Misc/NEWS | 4 ++++
 5 files changed, 17 insertions(+), 9 deletions(-)
diff --git a/Lib/test/test_asyncore.py b/Lib/test/test_asyncore.py
--- a/Lib/test/test_asyncore.py
+++ b/Lib/test/test_asyncore.py
@@ -10,7 +10,7 @@
 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 @@
 except ImportError:
 threading = None
 
-HOST = test_support.HOST
 
 class dummysocket:
 def __init__(self):
diff --git a/Lib/test/test_ftplib.py b/Lib/test/test_ftplib.py
--- a/Lib/test/test_ftplib.py
+++ b/Lib/test/test_ftplib.py
@@ -17,7 +17,7 @@
 
 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 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 @@
 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 @@
 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)
diff --git a/Lib/test/test_multiprocessing.py b/Lib/test/test_multiprocessing.py
--- a/Lib/test/test_multiprocessing.py
+++ b/Lib/test/test_multiprocessing.py
@@ -1385,7 +1385,7 @@
 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 @@
 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
diff --git a/Lib/test/test_support.py b/Lib/test/test_support.py
--- a/Lib/test/test_support.py
+++ b/Lib/test/test_support.py
@@ -290,7 +290,12 @@
 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
diff --git a/Misc/NEWS b/Misc/NEWS
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -191,6 +191,10 @@
 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.
 
-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /