[igt-dev] [PATCH i-g-t 2/2] tests/kms_chamelium: Don't fail random palnes tests on invalid config
Arkadiusz Hiler
arkadiusz.hiler at intel.com
Thu Mar 12 09:51:37 UTC 2020
It is possible to generate a configuration that the driver rejects
because it cannot be handled (e.g. exceeding the number of available
scalers). Until now the test was failing in such cases with:
igt_kms-CRITICAL: Test assertion failure function igt_display_commit_atomic, file ../lib/igt_kms.c:3490:
igt_kms-CRITICAL: Failed assertion: ret == 0
igt_kms-CRITICAL: Last errno: 22, Invalid argument
igt_kms-CRITICAL: error: -22 != 0
With this change we will just note that the atomic commit is invalid and
pass the test without causing random noise.
Cc: Petri Latvala <petri.latvala at intel.com>
Cc: Martin Peres <martin.peres at intel.com>
Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler at intel.com>
---
tests/kms_chamelium.c | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/tests/kms_chamelium.c b/tests/kms_chamelium.c
index 8046ac65..b563cce4 100644
--- a/tests/kms_chamelium.c
+++ b/tests/kms_chamelium.c
@@ -2402,6 +2402,7 @@ static void test_display_planes_random(data_t *data,
bool allow_yuv;
unsigned int i;
unsigned int fb_id;
+ int ret;
switch (check) {
case CHAMELIUM_CHECK_CRC:
@@ -2478,7 +2479,15 @@ static void test_display_planes_random(data_t *data,
fb_crc = chamelium_calculate_fb_crc_async_start(data->drm_fd,
&result_fb);
- igt_display_commit2(&data->display, COMMIT_ATOMIC);
+ ret = igt_display_try_commit2(&data->display, COMMIT_ATOMIC);
+
+ /* we have invalid configuration, noting we can do */
+ if (ret == -EINVAL) {
+ igt_info("The random plane configuration is invalid, "
+ "passing the test without testing anything.\n");
+ goto cleanup;
+ }
+
if (check == CHAMELIUM_CHECK_CRC) {
chamelium_capture(data->chamelium, port, 0, 0, 0, 0, 1);
@@ -2505,6 +2514,8 @@ static void test_display_planes_random(data_t *data,
chamelium_destroy_frame_dump(dump);
}
+cleanup:
+
for (i = 0; i < overlay_planes_count; i++)
igt_remove_fb(data->drm_fd, &overlay_fbs[i]);
--
2.24.1
More information about the igt-dev
mailing list