Issue 10110:  Let Queue.put recognize a full queue when the maxsize parameter has been reduced.
diff --git a/Lib/test/test_queue.py b/Lib/test/test_queue.py
index 0c8093a..5cef90c 100644
--- a/Lib/test/test_queue.py
+++ b/Lib/test/test_queue.py
@@ -216,6 +216,18 @@
         with self.assertRaises(queue.Empty):
             q.get_nowait()
 
+    def test_shrinking_queue(self):
+        # issue 10110
+        q = self.type2test(3)
+        q.put(1)
+        q.put(2)
+        q.put(3)
+        with self.assertRaises(queue.Full):
+            q.put_nowait(4)
+        self.assertEqual(q.qsize(), 3)
+        q.maxsize = 2                       # shrink the queue
+        with self.assertRaises(queue.Full):
+            q.put_nowait(4)
 
 class QueueTest(BaseQueueTest):
     type2test = queue.Queue