(self)
| 1117 | parent_can_continue.set() |
| 1118 | |
| 1119 | def test_get(self): |
| 1120 | queue = self.Queue() |
| 1121 | child_can_start = self.Event() |
| 1122 | parent_can_continue = self.Event() |
| 1123 | |
| 1124 | proc = self.Process( |
| 1125 | target=self._test_get, |
| 1126 | args=(queue, child_can_start, parent_can_continue) |
| 1127 | ) |
| 1128 | proc.daemon = True |
| 1129 | proc.start() |
| 1130 | |
| 1131 | self.assertEqual(queue_empty(queue), True) |
| 1132 | |
| 1133 | child_can_start.set() |
| 1134 | parent_can_continue.wait() |
| 1135 | |
| 1136 | for _ in support.sleeping_retry(support.SHORT_TIMEOUT): |
| 1137 | if not queue_empty(queue): |
| 1138 | break |
| 1139 | self.assertEqual(queue_empty(queue), False) |
| 1140 | |
| 1141 | self.assertEqual(queue.get_nowait(), 1) |
| 1142 | self.assertEqual(queue.get(True, None), 2) |
| 1143 | self.assertEqual(queue.get(True), 3) |
| 1144 | self.assertEqual(queue.get(timeout=1), 4) |
| 1145 | self.assertEqual(queue.get(), 5) |
| 1146 | |
| 1147 | self.assertEqual(queue_empty(queue), True) |
| 1148 | |
| 1149 | get = TimingWrapper(queue.get) |
| 1150 | get_nowait = TimingWrapper(queue.get_nowait) |
| 1151 | |
| 1152 | self.assertRaises(pyqueue.Empty, get, False) |
| 1153 | self.assertTimingAlmostEqual(get.elapsed, 0) |
| 1154 | |
| 1155 | self.assertRaises(pyqueue.Empty, get, False, None) |
| 1156 | self.assertTimingAlmostEqual(get.elapsed, 0) |
| 1157 | |
| 1158 | self.assertRaises(pyqueue.Empty, get_nowait) |
| 1159 | self.assertTimingAlmostEqual(get_nowait.elapsed, 0) |
| 1160 | |
| 1161 | self.assertRaises(pyqueue.Empty, get, True, TIMEOUT1) |
| 1162 | self.assertTimingAlmostEqual(get.elapsed, TIMEOUT1) |
| 1163 | |
| 1164 | self.assertRaises(pyqueue.Empty, get, False, TIMEOUT2) |
| 1165 | self.assertTimingAlmostEqual(get.elapsed, 0) |
| 1166 | |
| 1167 | self.assertRaises(pyqueue.Empty, get, timeout=TIMEOUT3) |
| 1168 | self.assertTimingAlmostEqual(get.elapsed, TIMEOUT3) |
| 1169 | |
| 1170 | proc.join() |
| 1171 | close_queue(queue) |
| 1172 | |
| 1173 | @classmethod |
| 1174 | def _test_fork(cls, queue): |
nothing calls this directly
no test coverage detected