diff options
author | Brett Cannon <bcannon@gmail.com> | 2010-07-23 16:56:21 (GMT) |
---|---|---|
committer | Brett Cannon <bcannon@gmail.com> | 2010-07-23 16:56:21 (GMT) |
commit | 671153db25e3cc6ba1fdd82763e401c310b22c8e (patch) | |
tree | 6b623d67df15d40a7abe7edc27242be585a634ac | |
parent | 6b0e0e41b8ceb63a56421ff16c03b40adc67ae1e (diff) | |
download | cpython-671153db25e3cc6ba1fdd82763e401c310b22c8e.zip cpython-671153db25e3cc6ba1fdd82763e401c310b22c8e.tar.gz cpython-671153db25e3cc6ba1fdd82763e401c310b22c8e.tar.bz2 |
Add queue tests for empty, full, put_nowait, and get_nowait.
Closes issue 9357. Thanks to Brian Brazil for the patch.
-rw-r--r-- | Lib/test/test_queue.py | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/Lib/test/test_queue.py b/Lib/test/test_queue.py index 3153829..0c8093a 100644 --- a/Lib/test/test_queue.py +++ b/Lib/test/test_queue.py @@ -90,6 +90,8 @@ class BaseQueueTest(unittest.TestCase, BlockingTestMixin): def simple_queue_test(self, q): if q.qsize(): raise RuntimeError("Call this function with an empty queue") + self.assertTrue(q.empty()) + self.assertFalse(q.full()) # I guess we better check things actually queue correctly a little :) q.put(111) q.put(333) @@ -108,6 +110,8 @@ class BaseQueueTest(unittest.TestCase, BlockingTestMixin): full = 3 * 2 * QUEUE_SIZE q.put(last) self.assertTrue(qfull(q), "Queue should be full") + self.assertFalse(q.empty()) + self.assertTrue(q.full()) try: q.put(full, block=0) self.fail("Didn't appear to block with a full queue") @@ -193,6 +197,25 @@ class BaseQueueTest(unittest.TestCase, BlockingTestMixin): self.simple_queue_test(q) self.simple_queue_test(q) + def test_negative_timeout_raises_exception(self): + q = self.type2test(QUEUE_SIZE) + with self.assertRaises(ValueError): + q.put(1, timeout=-1) + with self.assertRaises(ValueError): + q.get(1, timeout=-1) + + def test_nowait(self): + q = self.type2test(QUEUE_SIZE) + for i in range(QUEUE_SIZE): + q.put_nowait(1) + with self.assertRaises(queue.Full): + q.put_nowait(1) + + for i in range(QUEUE_SIZE): + q.get_nowait() + with self.assertRaises(queue.Empty): + q.get_nowait() + class QueueTest(BaseQueueTest): type2test = queue.Queue |