| 709 | class FailingQueueTest(BlockingTestMixin): |
| 710 | |
| 711 | def setUp(self): |
| 712 | |
| 713 | Queue = self.queue.Queue |
| 714 | |
| 715 | class FailingQueue(Queue): |
| 716 | def __init__(self, *args): |
| 717 | self.fail_next_put = False |
| 718 | self.fail_next_get = False |
| 719 | Queue.__init__(self, *args) |
| 720 | def _put(self, item): |
| 721 | if self.fail_next_put: |
| 722 | self.fail_next_put = False |
| 723 | raise FailingQueueException("You Lose") |
| 724 | return Queue._put(self, item) |
| 725 | def _get(self): |
| 726 | if self.fail_next_get: |
| 727 | self.fail_next_get = False |
| 728 | raise FailingQueueException("You Lose") |
| 729 | return Queue._get(self) |
| 730 | |
| 731 | self.FailingQueue = FailingQueue |
| 732 | |
| 733 | super().setUp() |
| 734 | |
| 735 | def failing_queue_test(self, q): |
| 736 | if q.qsize(): |