def METHOD_NAME(self):
    # Input is not important in this test
    model_name = "variable_gpu_output"
    input_data = np.array([[1.0]], dtype=np.float32)
    inputs = [
        grpcclient.InferInput(
            "INPUT", input_data.shape, np_to_triton_dtype(input_data.dtype)
        )
    ]
    inputs[0].set_data_from_numpy(input_data)
    user_data = UserData()
    # The test sends five requests to the model and the model returns five
    # responses with different GPU output shapes
    num_requests = 5
    for _ in range(num_requests):
        _ = self._client.async_infer(
            model_name=model_name,
            inputs=inputs,
            callback=partial(callback, user_data),
        )
    for i in range(num_requests):
        result = user_data._completed_requests.get()
        if result is InferenceServerException:
            self.assertTrue(False, result)
        output = result.as_numpy("OUTPUT")
        self.assertIsNotNone(output)
        self.assertEqual(output.size, i + 1)
        np.testing.assert_almost_equal(output, np.ones(i + 1) * (i + 1))