[igt-dev] [RFC, i-g-t v2] Added dynamic subtests for accurate reporting
Petri Latvala
petri.latvala at intel.com
Wed Nov 4 10:40:14 UTC 2020
On Mon, Nov 02, 2020 at 03:43:49PM +0530, Nidhi Gupta wrote:
> For Multipipe scenario added dynamic subtests
> for accurate reporting of the results.
>
> Signed-off-by: Nidhi Gupta <nidhi1.gupta at intel.com>
> ---
All subtests remain with the same name, no change in behaviour apart
from reporting which output/pipe combo was tested... Seems
straightforward enough. If you want to drop the RFC and get this in,
Reviewed-by: Petri Latvala <petri.latvala at intel.com>
> tests/kms_atomic_interruptible.c | 56 +++++++++++++++---------
> tests/kms_flip_tiling.c | 73 ++++++++++++++++++++------------
> 2 files changed, 81 insertions(+), 48 deletions(-)
>
> diff --git a/tests/kms_atomic_interruptible.c b/tests/kms_atomic_interruptible.c
> index e5ccdf5b..27bb6a2b 100644
> --- a/tests/kms_atomic_interruptible.c
> +++ b/tests/kms_atomic_interruptible.c
> @@ -284,47 +284,61 @@ igt_main
> igt_require_sw_sync();
> }
>
> - igt_subtest("legacy-setmode")
> + igt_subtest_with_dynamic("legacy-setmode") {
> for_each_pipe_with_valid_output(&display, pipe, output) {
> - run_plane_test(&display, pipe, output, test_legacy_modeset, DRM_PLANE_TYPE_PRIMARY);
> - break;
> + igt_dynamic_f("%s-pipe-%s", igt_output_name(output), kmstest_pipe_name(pipe))
> + run_plane_test(&display, pipe, output, test_legacy_modeset, DRM_PLANE_TYPE_PRIMARY);
> + break;
> }
> + }
>
> - igt_subtest("atomic-setmode")
> + igt_subtest_with_dynamic("atomic-setmode") {
> for_each_pipe_with_valid_output(&display, pipe, output) {
> - run_plane_test(&display, pipe, output, test_atomic_modeset, DRM_PLANE_TYPE_PRIMARY);
> - break;
> + igt_dynamic_f("%s-pipe-%s", igt_output_name(output), kmstest_pipe_name(pipe))
> + run_plane_test(&display, pipe, output, test_atomic_modeset, DRM_PLANE_TYPE_PRIMARY);
> + break;
> }
> + }
>
> - igt_subtest("legacy-dpms")
> + igt_subtest_with_dynamic("legacy-dpms") {
> for_each_pipe_with_valid_output(&display, pipe, output) {
> - run_plane_test(&display, pipe, output, test_legacy_dpms, DRM_PLANE_TYPE_PRIMARY);
> - break;
> + igt_dynamic_f("%s-pipe-%s", igt_output_name(output), kmstest_pipe_name(pipe))
> + run_plane_test(&display, pipe, output, test_legacy_dpms, DRM_PLANE_TYPE_PRIMARY);
> + break;
> }
> + }
>
> - igt_subtest("legacy-pageflip")
> + igt_subtest_with_dynamic("legacy-pageflip") {
> for_each_pipe_with_valid_output(&display, pipe, output) {
> - run_plane_test(&display, pipe, output, test_pageflip, DRM_PLANE_TYPE_PRIMARY);
> - break;
> + igt_dynamic_f("%s-pipe-%s", igt_output_name(output), kmstest_pipe_name(pipe))
> + run_plane_test(&display, pipe, output, test_pageflip, DRM_PLANE_TYPE_PRIMARY);
> + break;
> }
> + }
>
> - igt_subtest("legacy-cursor")
> + igt_subtest_with_dynamic("legacy-cursor") {
> for_each_pipe_with_valid_output(&display, pipe, output) {
> - run_plane_test(&display, pipe, output, test_setcursor, DRM_PLANE_TYPE_CURSOR);
> - break;
> + igt_dynamic_f("%s-pipe-%s", igt_output_name(output), kmstest_pipe_name(pipe))
> + run_plane_test(&display, pipe, output, test_setcursor, DRM_PLANE_TYPE_CURSOR);
> + break;
> }
> + }
>
> - igt_subtest("universal-setplane-primary")
> + igt_subtest_with_dynamic("universal-setplane-primary") {
> for_each_pipe_with_valid_output(&display, pipe, output) {
> - run_plane_test(&display, pipe, output, test_setplane, DRM_PLANE_TYPE_PRIMARY);
> - break;
> + igt_dynamic_f("%s-pipe-%s", igt_output_name(output), kmstest_pipe_name(pipe))
> + run_plane_test(&display, pipe, output, test_setplane, DRM_PLANE_TYPE_PRIMARY);
> + break;
> }
> + }
>
> - igt_subtest("universal-setplane-cursor")
> + igt_subtest_with_dynamic("universal-setplane-cursor") {
> for_each_pipe_with_valid_output(&display, pipe, output) {
> - run_plane_test(&display, pipe, output, test_setplane, DRM_PLANE_TYPE_CURSOR);
> - break;
> + igt_dynamic_f("%s-pipe-%s", igt_output_name(output), kmstest_pipe_name(pipe))
> + run_plane_test(&display, pipe, output, test_setplane, DRM_PLANE_TYPE_CURSOR);
> + break;
> }
> + }
>
> /* TODO: legacy gamma_set/get, object set/getprop, getcrtc, getconnector */
> igt_fixture {
> diff --git a/tests/kms_flip_tiling.c b/tests/kms_flip_tiling.c
> index fb79de15..7a736fba 100644
> --- a/tests/kms_flip_tiling.c
> +++ b/tests/kms_flip_tiling.c
> @@ -173,7 +173,7 @@ igt_main
> * generated and compared to the reference one.
> */
>
> - igt_subtest_f("flip-changes-tiling") {
> + igt_subtest_with_dynamic("flip-changes-tiling") {
> uint64_t tiling[2] = { LOCAL_I915_FORMAT_MOD_X_TILED,
> LOCAL_DRM_FORMAT_MOD_NONE };
> enum pipe pipe;
> @@ -181,11 +181,13 @@ igt_main
> for (int i = 0; i < ARRAY_SIZE(tiling); i++)
> igt_require(igt_display_has_format_mod(&data.display, data.testformat, tiling[i]));
>
> - for_each_pipe_with_valid_output(&data.display, pipe, output)
> - test_flip_tiling(&data, pipe, output, tiling);
> + for_each_pipe_with_valid_output(&data.display, pipe, output) {
> + igt_dynamic_f("%s-pipe-%s", igt_output_name(output), kmstest_pipe_name(pipe))
> + test_flip_tiling(&data, pipe, output, tiling);
> + }
> }
>
> - igt_subtest_f("flip-changes-tiling-Y") {
> + igt_subtest_with_dynamic("flip-changes-tiling-Y") {
> uint64_t tiling[2] = { LOCAL_I915_FORMAT_MOD_Y_TILED,
> LOCAL_DRM_FORMAT_MOD_NONE };
> enum pipe pipe;
> @@ -197,11 +199,14 @@ igt_main
>
> igt_require(data.gen >= 9);
>
> - for_each_pipe_with_valid_output(&data.display, pipe, output)
> - test_flip_tiling(&data, pipe, output, tiling);
> + for_each_pipe_with_valid_output(&data.display, pipe, output) {
> + igt_dynamic_f("%s-pipe-%s", igt_output_name(output), kmstest_pipe_name(pipe))
> + test_flip_tiling(&data, pipe, output, tiling);
> + }
> }
>
> - igt_subtest_f("flip-changes-tiling-Yf") {
> +
> + igt_subtest_with_dynamic("flip-changes-tiling-Yf") {
> uint64_t tiling[2] = { LOCAL_I915_FORMAT_MOD_Yf_TILED,
> LOCAL_DRM_FORMAT_MOD_NONE };
> enum pipe pipe;
> @@ -213,8 +218,10 @@ igt_main
>
> igt_require(data.gen >= 9);
>
> - for_each_pipe_with_valid_output(&data.display, pipe, output)
> - test_flip_tiling(&data, pipe, output, tiling);
> + for_each_pipe_with_valid_output(&data.display, pipe, output) {
> + igt_dynamic_f("%s-pipe-%s", igt_output_name(output), kmstest_pipe_name(pipe))
> + test_flip_tiling(&data, pipe, output, tiling);
> + }
> }
>
> /*
> @@ -225,7 +232,7 @@ igt_main
> * reference one.
> */
>
> - igt_subtest_f("flip-X-tiled") {
> + igt_subtest_with_dynamic("flip-X-tiled") {
> uint64_t tiling[2] = { LOCAL_I915_FORMAT_MOD_X_TILED,
> LOCAL_I915_FORMAT_MOD_X_TILED };
> enum pipe pipe;
> @@ -233,11 +240,13 @@ igt_main
> for (int i = 0; i < ARRAY_SIZE(tiling); i++)
> igt_require(igt_display_has_format_mod(&data.display, data.testformat, tiling[i]));
>
> - for_each_pipe_with_valid_output(&data.display, pipe, output)
> - test_flip_tiling(&data, pipe, output, tiling);
> + for_each_pipe_with_valid_output(&data.display, pipe, output) {
> + igt_dynamic_f("%s-pipe-%s", igt_output_name(output), kmstest_pipe_name(pipe))
> + test_flip_tiling(&data, pipe, output, tiling);
> + }
> }
>
> - igt_subtest_f("flip-Y-tiled") {
> + igt_subtest_with_dynamic("flip-Y-tiled") {
> uint64_t tiling[2] = { LOCAL_I915_FORMAT_MOD_Y_TILED,
> LOCAL_I915_FORMAT_MOD_Y_TILED };
> enum pipe pipe;
> @@ -249,11 +258,13 @@ igt_main
>
> igt_require(data.gen >= 9);
>
> - for_each_pipe_with_valid_output(&data.display, pipe, output)
> - test_flip_tiling(&data, pipe, output, tiling);
> + for_each_pipe_with_valid_output(&data.display, pipe, output) {
> + igt_dynamic_f("%s-pipe-%s", igt_output_name(output), kmstest_pipe_name(pipe))
> + test_flip_tiling(&data, pipe, output, tiling);
> + }
> }
>
> - igt_subtest_f("flip-Yf-tiled") {
> + igt_subtest_with_dynamic("flip-Yf-tiled") {
> uint64_t tiling[2] = { LOCAL_I915_FORMAT_MOD_Yf_TILED,
> LOCAL_I915_FORMAT_MOD_Yf_TILED };
> enum pipe pipe;
> @@ -265,8 +276,10 @@ igt_main
>
> igt_require(data.gen >= 9);
>
> - for_each_pipe_with_valid_output(&data.display, pipe, output)
> - test_flip_tiling(&data, pipe, output, tiling);
> + for_each_pipe_with_valid_output(&data.display, pipe, output) {
> + igt_dynamic_f("%s-pipe-%s", igt_output_name(output), kmstest_pipe_name(pipe))
> + test_flip_tiling(&data, pipe, output, tiling);
> + }
> }
>
> /*
> @@ -277,7 +290,7 @@ igt_main
> * reference one.
> */
>
> - igt_subtest_f("flip-to-X-tiled") {
> + igt_subtest_with_dynamic("flip-to-X-tiled") {
> uint64_t tiling[2] = { LOCAL_DRM_FORMAT_MOD_NONE,
> LOCAL_I915_FORMAT_MOD_X_TILED };
> enum pipe pipe;
> @@ -285,11 +298,13 @@ igt_main
> for (int i = 0; i < ARRAY_SIZE(tiling); i++)
> igt_require(igt_display_has_format_mod(&data.display, data.testformat, tiling[i]));
>
> - for_each_pipe_with_valid_output(&data.display, pipe, output)
> - test_flip_tiling(&data, pipe, output, tiling);
> + for_each_pipe_with_valid_output(&data.display, pipe, output) {
> + igt_dynamic_f("%s-pipe-%s", igt_output_name(output), kmstest_pipe_name(pipe))
> + test_flip_tiling(&data, pipe, output, tiling);
> + }
> }
>
> - igt_subtest_f("flip-to-Y-tiled") {
> + igt_subtest_with_dynamic("flip-to-Y-tiled") {
> uint64_t tiling[2] = { LOCAL_DRM_FORMAT_MOD_NONE,
> LOCAL_I915_FORMAT_MOD_Y_TILED };
> enum pipe pipe;
> @@ -301,11 +316,13 @@ igt_main
>
> igt_require(data.gen >= 9);
>
> - for_each_pipe_with_valid_output(&data.display, pipe, output)
> - test_flip_tiling(&data, pipe, output, tiling);
> + for_each_pipe_with_valid_output(&data.display, pipe, output) {
> + igt_dynamic_f("%s-pipe-%s", igt_output_name(output), kmstest_pipe_name(pipe))
> + test_flip_tiling(&data, pipe, output, tiling);
> + }
> }
>
> - igt_subtest_f("flip-to-Yf-tiled") {
> + igt_subtest_with_dynamic("flip-to-Yf-tiled") {
> uint64_t tiling[2] = { LOCAL_DRM_FORMAT_MOD_NONE,
> LOCAL_I915_FORMAT_MOD_Yf_TILED };
> enum pipe pipe;
> @@ -317,8 +334,10 @@ igt_main
>
> igt_require(data.gen >= 9);
>
> - for_each_pipe_with_valid_output(&data.display, pipe, output)
> - test_flip_tiling(&data, pipe, output, tiling);
> + for_each_pipe_with_valid_output(&data.display, pipe, output) {
> + igt_dynamic_f("%s-pipe-%s", igt_output_name(output), kmstest_pipe_name(pipe))
> + test_flip_tiling(&data, pipe, output, tiling);
> + }
> }
>
> igt_fixture {
> --
> 2.26.2
>
> _______________________________________________
> igt-dev mailing list
> igt-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/igt-dev
More information about the igt-dev
mailing list