Untitled

Pasted by zyp on Fri Jul 11 23:06:55 2025 UTC as Python
async def _timeout(ctx, ticks, domain = 'sync'):
    await ctx.tick(domain).repeat(ticks)
    raise TimeoutError()

@asynccontextmanager
async def timeout(ctx, ticks, domain = 'sync'):
    async with ctx.group() as group:
        group.start(_timeout(ctx, ticks, domain), background = True)
        yield

async def testbench(ctx):
    async with timeout(ctx, 100):
        ... # Some operation expected to take less than 100 ticks

    async with timeout(ctx, 200):
        ... # Some other operation expected to take less than 200 ticks