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

Method test_repr

Lib/test/test_asyncio/test_locks.py:1279–1328  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

1277 self.assertIn("filling", repr(barrier))
1278
1279 async def test_repr(self):
1280 barrier = asyncio.Barrier(self.N)
1281
1282 self.assertTrue(RGX_REPR.match(repr(barrier)))
1283 self.assertIn("filling", repr(barrier))
1284
1285 waiters = []
1286 async def wait(barrier):
1287 await barrier.wait()
1288
1289 incr = 2
1290 for i in range(incr):
1291 waiters.append(asyncio.create_task(wait(barrier)))
1292 await asyncio.sleep(0)
1293
1294 self.assertTrue(RGX_REPR.match(repr(barrier)))
1295 self.assertTrue(f"waiters:{incr}/{self.N}" in repr(barrier))
1296 self.assertIn("filling", repr(barrier))
1297
1298 # create missing waiters
1299 for i in range(barrier.parties - barrier.n_waiting):
1300 waiters.append(asyncio.create_task(wait(barrier)))
1301 await asyncio.sleep(0)
1302
1303 self.assertTrue(RGX_REPR.match(repr(barrier)))
1304 self.assertIn("draining", repr(barrier))
1305
1306 # add a part of waiters
1307 for i in range(incr):
1308 waiters.append(asyncio.create_task(wait(barrier)))
1309 await asyncio.sleep(0)
1310 # and reset
1311 await barrier.reset()
1312
1313 self.assertTrue(RGX_REPR.match(repr(barrier)))
1314 self.assertIn("resetting", repr(barrier))
1315
1316 # add a part of waiters again
1317 for i in range(incr):
1318 waiters.append(asyncio.create_task(wait(barrier)))
1319 await asyncio.sleep(0)
1320 # and abort
1321 await barrier.abort()
1322
1323 self.assertTrue(RGX_REPR.match(repr(barrier)))
1324 self.assertIn("broken", repr(barrier))
1325 self.assertTrue(barrier.broken)
1326
1327 # suppress unhandled exceptions
1328 await asyncio.gather(*waiters, return_exceptions=True)
1329
1330 async def test_barrier_parties(self):
1331 self.assertRaises(ValueError, lambda: asyncio.Barrier(0))

Callers

nothing calls this directly

Calls 11

resetMethod · 0.95
abortMethod · 0.95
BarrierMethod · 0.80
assertTrueMethod · 0.80
assertInMethod · 0.80
waitFunction · 0.50
matchMethod · 0.45
appendMethod · 0.45
create_taskMethod · 0.45
sleepMethod · 0.45
gatherMethod · 0.45

Tested by

no test coverage detected