def METHOD_NAME(op, n0, shape, dt, axis, out0, outtype):
    if (np.issubdtype(dt, np.integer) and n0 is not None) or (
        np.issubdtype(outtype, np.integer)
        and (op == "cumsum" or op == "cumprod")
        and n0 is not None
    ):
        return
    print(
        f"Running test: {op}, shape: {shape}, nan location: {n0}"
        f", axis: {axis}, in type: {dt}, out type: {outtype}"
        f", output array not provided: {out0}"
    )
    if out0 is True:
        A, B, C = _gen_array(n0, shape, dt, axis, None)
        B = getattr(num, op)(A, out=None, axis=axis, dtype=outtype)
        C = getattr(np, op)(A, out=None, axis=axis, dtype=outtype)
    else:
        A, B, C = _gen_array(n0, shape, dt, axis, outtype)
        getattr(num, op)(A, out=B, axis=axis, dtype=outtype)
        getattr(np, op)(A, out=C, axis=axis, dtype=outtype)
    print("Checking result...")
    if np.allclose(B, C, equal_nan=True):
        print("PASS!")
    else:
        print("FAIL!")
        print(f"INPUT    : {A}")
        print(f"CUNUMERIC: {B}")
        print(f"NUMPY    : {C}")
        assert False