def METHOD_NAME(dtype, narrow_range, round_mode,
                                          x_shape, s_shape,
                                          seed, ctx, func_name):
    from nbla_test_utils import cap_ignore_region, function_tester
    rng = np.random.RandomState(seed)
    x = rng.randn(*x_shape)
    scale = rng.rand(*s_shape) + 0.001
    zero_point = rng.randint(np.iinfo(dtype).min // 3,
                             np.iinfo(dtype).max // 3, s_shape)
    inputs = [x, scale, zero_point]
    func_args = [round_mode, narrow_range, dtype]
    function_tester(rng, F.quantize_linear, ref_quantize_linear, inputs,
                    func_args=func_args,
                    ctx=ctx, func_name=func_name, ref_grad=ref_grad_quantize_linear,
                    disable_half_test=True,
                    backward=[True, False, False])