[igt-dev] [PATCH i-g-t] tests/kms_concurrent: remove pipe dependency in subtest name
Modem, Bhanuprakash
bhanuprakash.modem at intel.com
Tue Sep 26 16:33:45 UTC 2023
Hi Swati,
On Mon-18-09-2023 08:07 pm, Swati Sharma wrote:
> Remove pipe dependency in subtest name and give some
> meaningful name to subtest. >
> Signed-off-by: Swati Sharma <swati2.sharma at intel.com>
> ---
> tests/kms_concurrent.c | 39 ++++++++++++---------------------------
> 1 file changed, 12 insertions(+), 27 deletions(-)
>
> diff --git a/tests/kms_concurrent.c b/tests/kms_concurrent.c
> index d9cb197de..e38ee0a4d 100644
> --- a/tests/kms_concurrent.c
> +++ b/tests/kms_concurrent.c
> @@ -30,24 +30,13 @@
> * Description: Test atomic mode setting concurrently with multiple planes and
> * screen resolution
> *
> - * SUBTEST: pipe-%s
> + * SUBTEST: multi-plane-atomic-resolution
> * Description: Test atomic mode setting concurrently with multiple planes and
> - * screen resolution on %arg[1].
> + * screen resolution.
> * Driver requirement: i915, xe
> * Functionality: kms_core
> * Mega feature: General Display Features
> * Test category: functionality test
> - *
> - * arg[1]:
> - *
> - * @A: pipe A
> - * @B: pipe B
> - * @C: pipe C
> - * @D: pipe D
> - * @E: pipe E
> - * @F: pipe F
> - * @G: pipe G
> - * @H: pipe H
> */
>
> IGT_TEST_DESCRIPTION("Test atomic mode setting concurrently with multiple planes and screen resolution");
> @@ -61,6 +50,7 @@ typedef struct {
> igt_display_t display;
> igt_plane_t **plane;
> struct igt_fb *fb;
> + enum pipe pipe;
Why do we need this change, since you are passing the pipe as an arg in
each function call just like a output?
> } data_t;
>
> /* Command line parameters. */
> @@ -341,30 +331,30 @@ run_test(data_t *data, enum pipe pipe, igt_output_t *output)
> }
>
> static void
> -run_tests_for_pipe(data_t *data, enum pipe pipe)
> +run_tests_for_pipe(data_t *data)
> {
> igt_output_t *output;
>
> igt_fixture {
> - igt_require_pipe(&data->display, pipe);
> - igt_require(data->display.pipes[pipe].n_planes > 0);
> + igt_require_pipe(&data->display, data->pipe);
This is redundant, for_each_pipe_with_single_output() guarantees atleast
one valid pipe.
> + igt_require(data->display.pipes[data->pipe].n_planes > 0);
------------------------------------------------^
pipe is not initialized. Please move this check inside
for_each_pipe_with_single_output() if it is really required.
>
> igt_display_require_output(&data->display);
Please move this to igt_fixture inside the igt_main
> }
>
> igt_describe("Test atomic mode setting concurrently with multiple planes and screen "
> "resolution.");
> - igt_subtest_with_dynamic_f("pipe-%s", kmstest_pipe_name(pipe)) {
> - for_each_valid_output_on_pipe(&data->display, pipe, output) {
> + igt_subtest_with_dynamic("multi-plane-atomic-resolution") {
> + for_each_pipe_with_single_output(&data->display, data->pipe, output) {
Are we not loosing any coverage, as we are limiting the execution to
single output?
- Bhanu
> igt_display_reset(&data->display);
>
> - igt_output_set_pipe(output, pipe);
> + igt_output_set_pipe(output, data->pipe);
> if (!i915_pipe_output_combo_valid(&data->display))
> continue;
>
> igt_output_set_pipe(output, PIPE_NONE);
> - igt_dynamic_f("%s", igt_output_name(output))
> - run_test(data, pipe, output);
> + igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(data->pipe), igt_output_name(output))
> + run_test(data, data->pipe, output);
> }
> }
> }
> @@ -405,8 +395,6 @@ static data_t data;
>
> igt_main_args("", long_options, help_str, opt_handler, NULL)
> {
> - enum pipe pipe;
> -
> igt_fixture {
> data.drm_fd = drm_open_driver_master(DRIVER_ANY);
> kmstest_set_vt_graphics_mode();
> @@ -416,10 +404,7 @@ igt_main_args("", long_options, help_str, opt_handler, NULL)
> intel_allocator_multiprocess_start();
> }
>
> - for_each_pipe_static(pipe) {
> - igt_subtest_group
> - run_tests_for_pipe(&data, pipe);
> - }
> + run_tests_for_pipe(&data);
>
> igt_fixture {
> if (is_intel_device(data.drm_fd))
More information about the igt-dev
mailing list