def METHOD_NAME(self, yaml_str: str, expect: str) -> None:
    # parse a single structured group out of the yaml to g
    es = yaml.load(yaml_str, Loader=LineLoader)
    parsed_yaml = parse_native_yaml_struct(es, set())
    native_functions, backend_indices = (
        parsed_yaml.native_functions,
        parsed_yaml.backend_indices,
    )
    grouped_native_functions = gen.get_grouped_native_functions(native_functions)
    assert len(grouped_native_functions) == 1
    g = grouped_native_functions[0]
    assert isinstance(g, NativeFunctionsGroup)
    assert g.out.ufunc_inner_loop
    # this is not ufunc codegen per se, but it does some basic sanity tests for
    # ufunc generation
    gen.compute_meta_function_declaration(g)
    dest.compute_native_function_declaration(g, backend_indices[DispatchKey.CPU])
    dest.compute_native_function_declaration(g, backend_indices[DispatchKey.CUDA])
    try:
        # the real kahuna
        dest.compute_ufunc_cpu(g)
        dest.compute_ufunc_cpu_kernel(g)
        dest.compute_ufunc_cuda(g)
    except AssertionError as e:
        # hack to strip out the context
        msg, _ = str(e).split("  in ", 2)
        self.assertExpectedInline("\n".join(textwrap.wrap(msg)), expect, skip=1)
        return
    self.fail(msg="Did not raise when expected to")