def test_run_smaller_sections(abcde):
    r"""Testing structure.

    Example::

               aa
               / |
          b   d  bb dd
         / \ /|  | /
        a   c e  cc

    Prefer to run acb first because then we can get that out of the way

    """
    a, b, c, d, e = abcde
    aa, bb, cc, dd = (x * 2 for x in [a, b, c, d])

    expected = [a, c, b, e, d, cc, bb, aa, dd]

    log = []

    def f(x):
        def _(*args):
            log.append(x)

        return _

    dsk = {
        a: (f(a),),
        c: (f(c),),
        e: (f(e),),
        cc: (f(cc),),
        b: (f(b), a, c),
        d: (f(d), c, e),
        bb: (f(bb), cc),
        aa: (f(aa), d, bb),
        dd: (f(dd), cc),
    }

    get(dsk, [aa, b, dd])

    assert log == expected
Testing structure.

    Example::

               aa
               / |
          b   d  bb dd
         / \ /|  | /
        a   c e  cc

    Prefer to run acb first because then we can get that out of the way

    
tests/core/serve/test_dag/test_order.py