MCPcopy Index your code
hub / github.com/python/cpython / test_get

Method test_get

Lib/test/_test_multiprocessing.py:1268–1320  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

1266
1267 @warnings_helper.ignore_fork_in_thread_deprecation_warnings()
1268 def test_get(self):
1269 queue = self.Queue()
1270 child_can_start = self.Event()
1271 parent_can_continue = self.Event()
1272
1273 proc = self.Process(
1274 target=self._test_get,
1275 args=(queue, child_can_start, parent_can_continue)
1276 )
1277 proc.daemon = True
1278 proc.start()
1279
1280 self.assertEqual(queue_empty(queue), True)
1281
1282 child_can_start.set()
1283 parent_can_continue.wait()
1284
1285 for _ in support.sleeping_retry(support.SHORT_TIMEOUT):
1286 if not queue_empty(queue):
1287 break
1288 self.assertEqual(queue_empty(queue), False)
1289
1290 self.assertEqual(queue.get_nowait(), 1)
1291 self.assertEqual(queue.get(True, None), 2)
1292 self.assertEqual(queue.get(True), 3)
1293 self.assertEqual(queue.get(timeout=1), 4)
1294 self.assertEqual(queue.get(), 5)
1295
1296 self.assertEqual(queue_empty(queue), True)
1297
1298 get = TimingWrapper(queue.get)
1299 get_nowait = TimingWrapper(queue.get_nowait)
1300
1301 self.assertRaises(pyqueue.Empty, get, False)
1302 self.assertTimingAlmostEqual(get.elapsed, 0)
1303
1304 self.assertRaises(pyqueue.Empty, get, False, None)
1305 self.assertTimingAlmostEqual(get.elapsed, 0)
1306
1307 self.assertRaises(pyqueue.Empty, get_nowait)
1308 self.assertTimingAlmostEqual(get_nowait.elapsed, 0)
1309
1310 self.assertRaises(pyqueue.Empty, get, True, TIMEOUT1)
1311 self.assertTimingAlmostEqual(get.elapsed, TIMEOUT1)
1312
1313 self.assertRaises(pyqueue.Empty, get, False, TIMEOUT2)
1314 self.assertTimingAlmostEqual(get.elapsed, 0)
1315
1316 self.assertRaises(pyqueue.Empty, get, timeout=TIMEOUT3)
1317 self.assertTimingAlmostEqual(get.elapsed, TIMEOUT3)
1318
1319 proc.join()
1320 close_queue(queue)
1321
1322 @classmethod
1323 def _test_fork(cls, queue):

Callers

nothing calls this directly

Calls 15

setMethod · 0.95
waitMethod · 0.95
get_nowaitMethod · 0.95
getMethod · 0.95
queue_emptyFunction · 0.85
TimingWrapperClass · 0.85
close_queueFunction · 0.85
QueueMethod · 0.80
EventMethod · 0.80
ProcessMethod · 0.45
startMethod · 0.45

Tested by

no test coverage detected