Lines Matching refs:self

27     def __init__(self, fn, args):
28 self.fn = fn
29 self.args = args
30 self.startedEvent = threading.Event()
31 threading.Thread.__init__(self)
33 def run(self):
41 # progress as soon as we call self.fn()).
43 self.startedEvent.set()
44 self.fn(*self.args)
60 def do_blocking_test(self, block_func, block_args, trigger_func, trigger_args):
64 self.result = block_func(*block_args)
67 self.fail("blocking function %r appeared not to block" %
69 return self.result
74 def do_exceptional_blocking_test(self,block_func, block_args, trigger_func,
84 self.fail("expected exception of kind %r" %
89 self.fail("trigger thread ended but event never set")
93 def setUp(self):
94 self.cum = 0
95 self.cumlock = threading.Lock()
97 def basic_queue_test(self, q):
100 self.assertTrue(q.empty())
101 self.assertFalse(q.full())
110 self.assertEqual(actual_order, target_order[q.__class__.__name__],
114 self.assertTrue(q.qsize(), "Queue should not be empty")
115 self.assertTrue(not qfull(q), "Queue should not be full")
119 self.assertTrue(qfull(q), "Queue should be full")
120 self.assertFalse(q.empty())
121 self.assertTrue(q.full())
124 self.fail("Didn't appear to block with a full queue")
125 except self.queue.Full:
129 self.fail("Didn't appear to time-out with a full queue")
130 except self.queue.Full:
133 self.do_blocking_test(q.put, (full,), q.get, ())
134 self.do_blocking_test(q.put, (full, True, 10), q.get, ())
138 self.assertTrue(not q.qsize(), "Queue should be empty")
141 self.fail("Didn't appear to block with an empty queue")
142 except self.queue.Empty:
146 self.fail("Didn't appear to time-out with an empty queue")
147 except self.queue.Empty:
150 self.do_blocking_test(q.get, (), q.put, ('empty',))
151 self.do_blocking_test(q.get, (True, 10), q.put, ('empty',))
154 def worker(self, q):
160 with self.cumlock:
161 self.cum += x
164 def queue_join_test(self, q):
165 self.cum = 0
168 thread = threading.Thread(target=self.worker, args=(q,))
174 self.assertEqual(self.cum, sum(range(100)),
182 def test_queue_task_done(self):
184 q = self.type2test()
190 self.fail("Did not detect task count going negative")
192 def test_queue_join(self):
195 q = self.type2test()
196 self.queue_join_test(q)
197 self.queue_join_test(q)
203 self.fail("Did not detect task count going negative")
205 def test_basic(self):
208 q = self.type2test(QUEUE_SIZE)
209 self.basic_queue_test(q)
210 self.basic_queue_test(q)
212 def test_negative_timeout_raises_exception(self):
213 q = self.type2test(QUEUE_SIZE)
214 with self.assertRaises(ValueError):
216 with self.assertRaises(ValueError):
219 def test_nowait(self):
220 q = self.type2test(QUEUE_SIZE)
223 with self.assertRaises(self.queue.Full):
228 with self.assertRaises(self.queue.Empty):
231 def test_shrinking_queue(self):
233 q = self.type2test(3)
237 with self.assertRaises(self.queue.Full):
239 self.assertEqual(q.qsize(), 3)
241 with self.assertRaises(self.queue.Full):
246 def setUp(self):
247 self.type2test = self.queue.Queue
261 def setUp(self):
262 self.type2test = self.queue.LifoQueue
277 def setUp(self):
278 self.type2test = self.queue.PriorityQueue
297 def setUp(self):
299 Queue = self.queue.Queue
302 def __init__(self, *args):
303 self.fail_next_put = False
304 self.fail_next_get = False
305 Queue.__init__(self, *args)
306 def _put(self, item):
307 if self.fail_next_put:
308 self.fail_next_put = False
310 return Queue._put(self, item)
311 def _get(self):
312 if self.fail_next_get:
313 self.fail_next_get = False
315 return Queue._get(self)
317 self.FailingQueue = FailingQueue
321 def failing_queue_test(self, q):
330 self.fail("The queue didn't fail when it should have")
336 self.fail("The queue didn't fail when it should have")
340 self.assertTrue(qfull(q), "Queue should be full")
344 self.do_blocking_test(q.put, ("full",), q.get, ())
345 self.fail("The queue didn't fail when it should have")
354 self.do_exceptional_blocking_test(q.put, ("full", True, 10), q.get, (),
356 self.fail("The queue didn't fail when it should have")
362 self.assertTrue(qfull(q), "Queue should be full")
364 self.assertTrue(not qfull(q), "Queue should not be full")
366 self.assertTrue(qfull(q), "Queue should be full")
368 self.do_blocking_test(q.put, ("full",), q.get, ())
372 self.assertTrue(not q.qsize(), "Queue should be empty")
377 self.fail("The queue didn't fail when it should have")
380 self.assertTrue(q.qsize(), "Queue should not be empty")
384 self.fail("The queue didn't fail when it should have")
387 self.assertTrue(q.qsize(), "Queue should not be empty")
389 self.assertTrue(not q.qsize(), "Queue should be empty")
392 self.do_exceptional_blocking_test(q.get, (), q.put, ('empty',),
394 self.fail("The queue didn't fail when it should have")
398 self.assertTrue(q.qsize(), "Queue should not be empty")
400 self.assertTrue(not q.qsize(), "Queue should be empty")
402 def test_failing_queue(self):
406 q = self.FailingQueue(QUEUE_SIZE)
407 self.failing_queue_test(q)
408 self.failing_queue_test(q)
423 def setUp(self):
424 self.q = self.type2test()
426 def feed(self, q, seq, rnd, sentinel):
437 def consume(self, q, results, sentinel):
444 def consume_nonblock(self, q, results, sentinel):
449 except self.queue.Empty:
457 def consume_timeout(self, q, results, sentinel):
462 except self.queue.Empty:
470 def run_threads(self, n_threads, q, inputs, feed_func, consume_func):
496 self.assertFalse(exceptions)
497 self.assertTrue(q.empty())
498 self.assertEqual(q.qsize(), 0)
502 def test_basic(self):
504 q = self.q
505 self.assertTrue(q.empty())
506 self.assertEqual(q.qsize(), 0)
508 self.assertFalse(q.empty())
509 self.assertEqual(q.qsize(), 1)
513 self.assertFalse(q.empty())
514 self.assertEqual(q.qsize(), 4)
516 self.assertEqual(q.get(), 1)
517 self.assertEqual(q.qsize(), 3)
519 self.assertEqual(q.get_nowait(), 2)
520 self.assertEqual(q.qsize(), 2)
522 self.assertEqual(q.get(block=False), 3)
523 self.assertFalse(q.empty())
524 self.assertEqual(q.qsize(), 1)
526 self.assertEqual(q.get(timeout=0.1), 4)
527 self.assertTrue(q.empty())
528 self.assertEqual(q.qsize(), 0)
530 with self.assertRaises(self.queue.Empty):
532 with self.assertRaises(self.queue.Empty):
534 with self.assertRaises(self.queue.Empty):
536 self.assertTrue(q.empty())
537 self.assertEqual(q.qsize(), 0)
539 def test_negative_timeout_raises_exception(self):
540 q = self.q
542 with self.assertRaises(ValueError):
545 def test_order(self):
547 q = self.q
549 results = self.run_threads(1, q, inputs, self.feed, self.consume)
552 self.assertEqual(results, inputs)
554 def test_many_threads(self):
557 q = self.q
559 results = self.run_threads(N, q, inputs, self.feed, self.consume)
563 self.assertEqual(sorted(results), inputs)
565 def test_many_threads_nonblock(self):
568 q = self.q
570 results = self.run_threads(N, q, inputs,
571 self.feed, self.consume_nonblock)
573 self.assertEqual(sorted(results), inputs)
575 def test_many_threads_timeout(self):
578 q = self.q
580 results = self.run_threads(N, q, inputs,
581 self.feed, self.consume_timeout)
583 self.assertEqual(sorted(results), inputs)
585 def test_references(self):
592 q = self.q
598 self.assertIsNone(wr())
604 def setUp(self):
605 self.type2test = self.queue._PySimpleQueue
614 def setUp(self):
615 self.type2test = self.queue.SimpleQueue
618 def test_is_default(self):
619 self.assertIs(self.type2test, self.queue.SimpleQueue)
620 self.assertIs(self.type2test, self.queue.SimpleQueue)
622 def test_reentrancy(self):
625 q = self.q
634 def __init__(self):
635 self.circular = self
637 def __del__(self):
648 self.assertEqual(results, list(range(N + 1)))