[igt-dev] [PATCH i-g-t v2] tests/kms_busy: Limit the execution to single connector
Karthik B S
karthik.b.s at intel.com
Wed Aug 11 01:55:29 UTC 2021
On 8/10/2021 5:30 PM, Bhanuprakash Modem wrote:
> As part of reducing the CI time, we restricted the execution
> to two pipes (first & last), which also introduced running the
> tests on all connectors.
>
> commit 030c28d099a5c6793c92e2b22c8e9abd3d340fdc
> tests/kms_busy: Limit the execution to two pipes
>
> With that change in multi-display configuration, we run the test
> multiple times on the same pipe with different connectors, which
> increases the CI time.
>
> This patch will fix the logic to run the tests on a single
> connector only.
>
> V2:
> * Fix the crash in no-display configs
>
> Cc: Karthik B S <karthik.b.s at intel.com>
> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem at intel.com>
Looks good to me.
Reviewed-by: Karthik B S <karthik.b.s at intel.com>
> ---
> tests/kms_busy.c | 14 ++++++--------
> 1 file changed, 6 insertions(+), 8 deletions(-)
>
> diff --git a/tests/kms_busy.c b/tests/kms_busy.c
> index a60ff6b05..19ac36b40 100644
> --- a/tests/kms_busy.c
> +++ b/tests/kms_busy.c
> @@ -40,6 +40,7 @@ set_fb_on_crtc(igt_display_t *dpy, int pipe, struct igt_fb *fb)
> igt_output_t *output;
>
> output = igt_get_single_output_for_pipe(dpy, pipe);
> + igt_require(output);
>
> igt_output_set_pipe(output, pipe);
> mode = igt_output_get_mode(output);
> @@ -336,6 +337,7 @@ igt_main_args("e", NULL, help_str, opt_handler, NULL)
>
> kmstest_set_vt_graphics_mode();
> igt_display_require(&display, fd);
> + igt_display_require_output(&display);
>
> /* Get active pipes. */
> for_each_pipe(&display, pipe)
> @@ -348,9 +350,8 @@ igt_main_args("e", NULL, help_str, opt_handler, NULL)
> igt_describe("Test for basic check of KMS ABI with busy framebuffers.");
> igt_subtest_with_dynamic("basic") { /* just run on the first pipe */
> enum pipe pipe;
> - igt_output_t *output;
>
> - for_each_pipe_with_valid_output(&display, pipe, output) {
> + for_each_pipe(&display, pipe) {
> igt_dynamic("flip")
> test_flip(&display, pipe, false);
> igt_dynamic("modeset")
> @@ -361,11 +362,10 @@ igt_main_args("e", NULL, help_str, opt_handler, NULL)
>
> igt_subtest_with_dynamic("basic-hang") {
> enum pipe pipe;
> - igt_output_t *output;
> igt_hang_t hang = igt_allow_hang(display.drm_fd, 0, 0);
> errno = 0;
>
> - for_each_pipe_with_valid_output(&display, pipe, output) {
> + for_each_pipe(&display, pipe) {
> if (!all_pipes && pipe != active_pipes[0] &&
> pipe != active_pipes[last_pipe])
> continue;
> @@ -381,11 +381,10 @@ igt_main_args("e", NULL, help_str, opt_handler, NULL)
>
> igt_subtest_with_dynamic("extended-pageflip-modeset-hang-oldfb") {
> enum pipe pipe;
> - igt_output_t *output;
> igt_hang_t hang = igt_allow_hang(display.drm_fd, 0, 0);
> errno = 0;
>
> - for_each_pipe_with_valid_output(&display, pipe, output) {
> + for_each_pipe(&display, pipe) {
> if (!all_pipes && pipe != active_pipes[0] &&
> pipe != active_pipes[last_pipe])
> continue;
> @@ -400,14 +399,13 @@ igt_main_args("e", NULL, help_str, opt_handler, NULL)
> for (i = 0; i < sizeof(tests) / sizeof (tests[0]); i++) {
> igt_subtest_with_dynamic(tests[i].name) {
> enum pipe pipe;
> - igt_output_t *output;
> igt_hang_t hang;
> errno = 0;
>
> igt_require(display.is_atomic);
> hang = igt_allow_hang(display.drm_fd, 0, 0);
>
> - for_each_pipe_with_valid_output(&display, pipe, output) {
> + for_each_pipe(&display, pipe) {
> if (!all_pipes && pipe != active_pipes[0] &&
> pipe != active_pipes[last_pipe])
> continue;
> --
> 2.32.0
>
More information about the igt-dev
mailing list