def METHOD_NAME(method, normalization, use_errs, units):
    # Note: the PSD normalization is not equivalent to the others, in that it
    # depends on the absolute errors rather than relative errors. Because the
    # scaling contributes to the distribution, it cannot be converted directly
    # from any of the three normalized versions.
    if not HAS_SCIPY and method in ["baluev", "davies"]:
        pytest.skip("SciPy required")
    kwds = METHOD_KWDS.get(method, None)
    t, y, dy, fmax = make_data(units=units)
    if not use_errs:
        dy = None
    ls = LombScargle(t, y, dy, normalization=normalization)
    freq, power = ls.autopower(maximum_frequency=fmax)
    Z = np.linspace(power.min(), power.max(), 30)
    fap = ls.false_alarm_probability(
        Z, maximum_frequency=fmax, method=method, method_kwds=kwds
    )
    # Compute the equivalent Z values in the standard normalization
    # and check that the FAP is consistent
    Z_std = convert_normalization(
        Z,
        len(t),
        from_normalization=normalization,
        to_normalization="standard",
        chi2_ref=compute_chi2_ref(y, dy),
    )
    ls = LombScargle(t, y, dy, normalization="standard")
    fap_std = ls.false_alarm_probability(
        Z_std, maximum_frequency=fmax, method=method, method_kwds=kwds
    )
    assert_allclose(fap, fap_std, rtol=0.1)