async def METHOD_NAME(s):
    """Ensure that the object properly pickle roundtrips even if no client, worker, etc. is active in the given context.
    This typically happens if the object is being deserialized on the scheduler.
    """
    async with Client(s.address, asynchronous=True) as c:
        obj = await Event()
        pickled = pickle.dumps(obj)
    # We do not want to initialize a client during unpickling
    with pytest.raises(ValueError):
        Client.current()
    obj2 = pickle.loads(pickled)
    with pytest.raises(ValueError):
        Client.current()
    assert obj2.client is None
    with pytest.raises(RuntimeError, match="not properly initialized"):
        await obj2.set()
    async with Client(s.address, asynchronous=True):
        obj3 = pickle.loads(pickled)
        await obj3.set()
        await obj3.wait()