aboutsummaryrefslogtreecommitdiffstats
path: root/tests/edid.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/edid.py')
-rw-r--r--tests/edid.py52
1 files changed, 52 insertions, 0 deletions
diff --git a/tests/edid.py b/tests/edid.py
new file mode 100644
index 0000000..d206871
--- /dev/null
+++ b/tests/edid.py
@@ -0,0 +1,52 @@
+#
+# edid tests
+#
+
+# stdlib
+import os
+import time
+from shutil import copyfile
+
+# avocado
+import avocado
+
+# my bits
+from drminfo import TestDRM
+
+class EDID(TestDRM):
+ """
+ basic qemu display device tests
+
+ :avocado: tags=x86_64
+ """
+
+ def run_one_test(self, vga):
+
+ self.boot_gfx_vm(vga);
+ self.console_wait('Entering emergency mode')
+ self.console_run('PS1=---\\\\u---\\\\n')
+ self.console_wait('---root---')
+
+ self.console_run('edid-decode /sys/class/drm/card0-Virtual-1/edid')
+ edid = self.console_wait('---root---')
+ vganame = vga.split(",")[0];
+ self.write_text(vganame, "edid", edid)
+ if edid.find("QEMU Monitor") < 0:
+ self.fail("edid not valid")
+
+ @avocado.skipUnless(os.path.exists('/usr/bin/dracut'), "no dracut")
+ @avocado.skipUnless(os.path.exists('/usr/bin/drminfo'), "no drminfo")
+ @avocado.skipUnless(os.path.exists('/usr/bin/edid-decode'), "no edid-decode")
+ def setUp(self):
+ TestDRM.setUp(self);
+ version = os.uname()[2]
+ if not os.path.isfile(self.initrd):
+ self.create_initrd(self.initrd, version)
+ if not os.path.isfile(self.kernel):
+ copyfile("/boot/vmlinuz-%s" % version, self.kernel)
+
+ def test_stdvga(self):
+ self.run_one_test('VGA,edid=on')
+
+ def test_virtio(self):
+ self.run_one_test('virtio-vga,edid=on')