tests: add a test for checking edid reading delays
authorEugeni Dodonov <eugeni.dodonov@intel.com>
Thu, 10 Nov 2011 13:27:27 +0000 (11:27 -0200)
committerEugeni Dodonov <eugeni.dodonov@intel.com>
Thu, 10 Nov 2011 13:33:37 +0000 (11:33 -0200)
With base on EDID timing testing, when we take more than 1s to run
xrandr command, something is wrong.. So add this test for testing the time
we take to read the status of all the connectors from sysfs. It should do
us an average picture of how long we'd take to run xrandr (roughtly 2x
that value).

Signed-off-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
tests/Makefile.am
tests/sysfs_edid_timing [new file with mode: 0755]

index dffda41..7173afb 100644 (file)
@@ -57,6 +57,7 @@ TESTS_progs = \
 TESTS_scripts = \
        debugfs_reader \
        debugfs_emon_crash \
+       sysfs_edid_timing \
        $(NULL)
 
 kernel_tests = \
diff --git a/tests/sysfs_edid_timing b/tests/sysfs_edid_timing
new file mode 100755 (executable)
index 0000000..22340cb
--- /dev/null
@@ -0,0 +1,20 @@
+#!/bin/sh
+#
+# This check the time we take to read the content of all the possible connectors.
+# Without the edid -ENXIO patch (http://permalink.gmane.org/gmane.comp.video.dri.devel/62083),
+# we sometimes take a *really* long time. So let's just check for some reasonable timing here
+#
+
+TIME1=$(date +%s%N)
+cat $(find /sys/devices/|grep drm | grep /status) > /dev/null
+TIME2=$(date +%s%N)
+
+# time in ms
+RES=$[(TIME2 - TIME1) / 1000000]
+
+if [ $RES -gt 600 ]; then
+       echo "Talking to outputs took ${RES}ms, something is wrong"
+       exit 1
+fi
+
+exit 0