issue #7728: test_timeout was using a hardcoded port, which was
causing buildbot failures.  Changed to use test_support.bind_port.
Patch by Florent Xicluna.
diff --git a/Lib/test/test_timeout.py b/Lib/test/test_timeout.py
index 04cfbe7..5f19af2 100644
--- a/Lib/test/test_timeout.py
+++ b/Lib/test/test_timeout.py
@@ -101,7 +101,7 @@
     def setUp(self):
         self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
         self.addr_remote = ('www.python.org.', 80)
-        self.addr_local  = ('127.0.0.1', 25339)
+        self.localhost = '127.0.0.1'
 
     def tearDown(self):
         self.sock.close()
@@ -146,7 +146,8 @@
         # Test accept() timeout
         _timeout = 2
         self.sock.settimeout(_timeout)
-        self.sock.bind(self.addr_local)
+        # Prevent "Address already in use" socket exceptions
+        test_support.bind_port(self.sock, self.localhost)
         self.sock.listen(5)
 
         _t1 = time.time()
@@ -163,7 +164,8 @@
         _timeout = 2
         self.sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
         self.sock.settimeout(_timeout)
-        self.sock.bind(self.addr_local)
+        # Prevent "Address already in use" socket exceptions
+        test_support.bind_port(self.sock, self.localhost)
 
         _t1 = time.time()
         self.assertRaises(socket.error, self.sock.recvfrom, 8192)
diff --git a/Misc/NEWS b/Misc/NEWS
index c1c1f88..c9beea9 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -150,6 +150,14 @@
   added to the `Tools/` directory.  They were previously living in the
   sandbox.
 
+
+Tests
+-----
+
+- issue #7728: test_timeout was changed to use test_support.bind_port
+  instead of a hard coded port.
+
+
 Documentation
 -------------