async def METHOD_NAME(self):
    NUM = 0
    async def foo1():
        nonlocal NUM
        NUM += 1
        try:
            await asyncio.sleep(1)
        except asyncio.CancelledError:
            await asyncio.sleep(0.2)
            NUM += 10
            raise
        NUM += 1000
        return 42
    async def foo2():
        nonlocal NUM
        NUM += 1
        await asyncio.sleep(2)
        NUM += 1000
        return 11
    async def runner():
        g = await supervisor.Supervisor.create()
        g.create_task(foo1())
        g.create_task(foo2())
        await asyncio.sleep(0.1)
        await g.cancel()
    await runner()
    self.assertEqual(NUM, 12)