async def METHOD_NAME(ot_tracer):
    """
    Ensure we can trace from ddtracer to opentracer across asyncio
    context switches.
    """
    # if multiple coroutines have nested tracing, they must belong
    # to the same trace
    async def coro():
        # another traced coroutine
        with ot_tracer.start_span("coroutine_2"):
            return 42
    with ot_tracer._dd_tracer.trace("coroutine_1"):
        value = await coro()
    # the coroutine has been called correctly
    assert value == 42
    # a single trace has been properly reported
    traces = ot_tracer._dd_tracer.pop_traces()
    assert len(traces) == 1
    assert len(traces[0]) == 2
    assert traces[0][0].name == "coroutine_1"
    assert traces[0][1].name == "coroutine_2"
    # the parenting is correct
    assert traces[0][0] == traces[0][1]._parent
    assert traces[0][0].trace_id == traces[0][1].trace_id