def METHOD_NAME(
    self,
    pool_type,
    shape,
    dtype,
    pool_size,
    strides,
    padding,
    dilation,
    layout,
    ceil_mode,
    count_include_pad,
    schedule_name,
):
    """Test a subgraph with a single pool operator."""
    ishape = shape
    input0 = relay.var("input", relay.TensorType(ishape, dtype))
    out0 = getattr(relay.op.nn, pool_type)(
        input0,
        pool_size=pool_size,
        strides=strides,
        dilation=dilation,
        padding=padding,
        layout=layout,
        out_layout="",
        ceil_mode=ceil_mode,
        count_include_pad=count_include_pad,
    )
    ref_mod = tvm.IRModule.from_expr(relay.Function([input0], out0))
    input1 = relay.var("input", relay.TensorType(ishape, dtype))
    out1 = getattr(relay.op.nn, pool_type)(
        input1,
        pool_size=pool_size,
        strides=strides,
        dilation=dilation,
        padding=padding,
        layout=layout,
        out_layout="",
        ceil_mode=ceil_mode,
        count_include_pad=count_include_pad,
    )
    mod = tvm.IRModule.from_expr(relay.Function([input1], out1))
    inputs = {"input": np.random.randint(low=-128, high=127, size=ishape, dtype=dtype)}
    output_list = generate_ref_data(ref_mod, inputs)
    compile_and_run(
        AOTTestModel(module=mod, inputs=inputs, outputs=output_list),
        runner=AOT_CORSTONE300_RUNNER,
        interface_api="c",
        use_unpacked_api=True,
        target_opts={
            "-keys": "arm_cpu",
            "-mcpu": "cortex-m7",
        },
        schedule_name=schedule_name,
    )