Close #11958: Fix FTP tests for IPv6, bind to "::1" instead of "localhost".
Patch written by Charles-Francois Natali.
diff --git a/Lib/test/test_ftplib.py b/Lib/test/test_ftplib.py
index cfdfa2c..6dbe2b6 100644
--- a/Lib/test/test_ftplib.py
+++ b/Lib/test/test_ftplib.py
@@ -648,7 +648,7 @@
 class TestIPv6Environment(TestCase):
 
     def setUp(self):
-        self.server = DummyFTPServer((HOST, 0), af=socket.AF_INET6)
+        self.server = DummyFTPServer(('::1', 0), af=socket.AF_INET6)
         self.server.start()
         self.client = ftplib.FTP()
         self.client.connect(self.server.host, self.server.port)
@@ -874,12 +874,7 @@
 def test_main():
     tests = [TestFTPClass, TestTimeouts]
     if support.IPV6_ENABLED:
-        try:
-            DummyFTPServer((HOST, 0), af=socket.AF_INET6)
-        except socket.error:
-            pass
-        else:
-            tests.append(TestIPv6Environment)
+        tests.append(TestIPv6Environment)
 
     if ssl is not None:
         tests.extend([TestTLS_FTPClassMixin, TestTLS_FTPClass])
diff --git a/Misc/NEWS b/Misc/NEWS
index 1230a68..1e31c8f 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -534,6 +534,9 @@
 Tests
 -----
 
+- Issue #11958: Fix FTP tests for IPv6, bind to "::1" instead of "localhost".
+  Patch written by Charles-Francois Natali.
+
 - Issue #8407, #11859: Fix tests of test_io using threads and an alarm: use
   pthread_sigmask() to ensure that the SIGALRM signal is received by the main
   thread.