diff mbox series

[3/3] tests: formats: Improve error reporting

Message ID 20200806022802.22813-4-laurent.pinchart@ideasonboard.com (mailing list archive)
State New
Delegated to: Kieran Bingham
Headers show
Series kms-tests: Small fixes and enhancements | expand

Commit Message

Laurent Pinchart Aug. 6, 2020, 2:28 a.m. UTC
Improve the formats test by counting the number of formats that failed
and reporting failures appropriately.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
 tests/kms-test-formats.py | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)
diff mbox series

Patch

diff --git a/tests/kms-test-formats.py b/tests/kms-test-formats.py
index 93075561a843..86f16511f1ea 100755
--- a/tests/kms-test-formats.py
+++ b/tests/kms-test-formats.py
@@ -40,6 +40,8 @@  class FormatsTest(kmstest.KMSTest):
         self.logger.log("Testing connector %s, CRTC %u, mode %s" % \
               (connector.fullname, crtc.id, mode.name))
 
+        failed = 0
+
         num_formats = len(crtc.primary_plane.formats)
         for i in range(num_formats):
             format = crtc.primary_plane.formats[i]
@@ -51,6 +53,8 @@  class FormatsTest(kmstest.KMSTest):
             try:
                 fb = pykms.DumbFramebuffer(self.card, mode.hdisplay, mode.vdisplay, format)
             except ValueError:
+                self.logger.log("Failed to create frame buffer")
+                failed += 1
                 continue
 
             pykms.draw_test_pattern(fb)
@@ -58,12 +62,17 @@  class FormatsTest(kmstest.KMSTest):
             # Set the mode with a primary plane
             ret = self.atomic_crtc_mode_set(crtc, connector, mode, fb)
             if ret < 0:
-                self.fail("atomic mode set failed with %d" % ret)
+                self.logger.log("atomic mode set failed with %d" % ret)
+                failed += 1
                 continue
 
             self.run(3)
 
         self.atomic_crtc_disable(crtc)
-        self.success()
+
+        if failed:
+            self.fail("%s/%s formats failed" % (failed, num_formats))
+        else:
+            self.success()
 
 FormatsTest().execute()