]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Issue #11748: try to fix sporadic failures in test_ftplib
authorAntoine Pitrou <solipsis@pitrou.net>
Sun, 3 Apr 2011 16:29:45 +0000 (18:29 +0200)
committerAntoine Pitrou <solipsis@pitrou.net>
Sun, 3 Apr 2011 16:29:45 +0000 (18:29 +0200)
Lib/test/test_ftplib.py

index 127b1b956f349703757cc920e237e3008c6b5b33..9edb19706b6b57943d921539cca9a7f32b97d726 100644 (file)
@@ -611,16 +611,26 @@ class TestFTPClass(TestCase):
     def test_source_address(self):
         self.client.quit()
         port = support.find_unused_port()
-        self.client.connect(self.server.host, self.server.port,
-                            source_address=(HOST, port))
-        self.assertEqual(self.client.sock.getsockname()[1], port)
-        self.client.quit()
+        try:
+            self.client.connect(self.server.host, self.server.port,
+                                source_address=(HOST, port))
+            self.assertEqual(self.client.sock.getsockname()[1], port)
+            self.client.quit()
+        except IOError as e:
+            if e.errno == errno.EADDRINUSE:
+                self.skipTest("couldn't bind to port %d" % port)
+            raise
 
     def test_source_address_passive_connection(self):
         port = support.find_unused_port()
         self.client.source_address = (HOST, port)
-        with self.client.transfercmd('list') as sock:
-            self.assertEqual(sock.getsockname()[1], port)
+        try:
+            with self.client.transfercmd('list') as sock:
+                self.assertEqual(sock.getsockname()[1], port)
+        except IOError as e:
+            if e.errno == errno.EADDRINUSE:
+                self.skipTest("couldn't bind to port %d" % port)
+            raise
 
     def test_parse257(self):
         self.assertEqual(ftplib.parse257('257 "/foo/bar"'), '/foo/bar')