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