tests: ddx_intel_after_fbdev loads intel ddx after fbdev was loaded.
authorRodrigo Vivi <rodrigo.vivi@gmail.com>
Wed, 21 Aug 2013 18:13:13 +0000 (15:13 -0300)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 21 Aug 2013 21:18:00 +0000 (23:18 +0200)
v2: Don't add to kernel tests.

Signed-off-by: Rodrigo Vivi <rodrigo.vivi@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
tests/Makefile.am
tests/ddx_intel_after_fbdev [new file with mode: 0755]

index 37dee95..df7da3e 100644 (file)
@@ -171,8 +171,15 @@ HANG = \
        gem_non_secure_batch \
        $(NULL)
 
+scripts = \
+       check_drm_clients \
+       ddx_intel_after_fbdev \
+       debugfs_wedged \
+       drm_lib.sh \
+       $(NULL)
+
 EXTRA_PROGRAMS = $(TESTS_progs) $(TESTS_progs_M) $(HANG)
-EXTRA_DIST = $(TESTS_scripts) $(TESTS_scripts_M) drm_lib.sh check_drm_clients debugfs_wedged
+EXTRA_DIST = $(TESTS_scripts) $(TESTS_scripts_M) $(scripts)
 CLEANFILES = $(EXTRA_PROGRAMS)
 
 AM_CFLAGS = $(DRM_CFLAGS) $(CWARNFLAGS) \
diff --git a/tests/ddx_intel_after_fbdev b/tests/ddx_intel_after_fbdev
new file mode 100755 (executable)
index 0000000..bcd2c29
--- /dev/null
@@ -0,0 +1,73 @@
+#!/bin/bash
+#
+# Testcase: Load Intel DDX after fbdev was loaded
+#
+
+whoami | grep -q root || {
+       echo "ERROR: not running as root"
+       exit 1
+}
+
+# no other X session should be running
+find /tmp/ -name .X*lock 2>/dev/null | grep -q X && {
+       echo "ERROR: X session already running"
+       exit 1
+}
+
+TMPDIR=$(mktemp -d /tmp/igt.XXXX) || {
+       echo "ERROR: Failed to create temp dir"
+       exit 1
+}
+
+cat > $TMPDIR/xorg.conf.fbdev << EOF
+Section "Device"
+       Driver          "fbdev"
+       Identifier      "Device[fbdev]"
+EndSection
+EOF
+
+cat > $TMPDIR/xorg.conf.intel << EOF
+Section "Device"
+       Driver          "intel"
+       Identifier      "Device[intel]"
+EndSection
+EOF
+
+# log before fbdev
+dmesg -c > $TMPDIR/dmesg.1.before.fbdev
+cp /var/log/Xorg.0.log $TMPDIR/Xorg.0.log.1.before.fbdev
+
+# run fbdev
+xinit -- /usr/bin/X -config $TMPDIR/xorg.conf.fbdev & 
+sleep 5
+if [ -f `which intel_reg_dumper` ]; then
+`which intel_reg_dumper` > $TMPDIR/intel_reg_dumped.1.fbdev
+fi
+killall X
+
+# log after fbdev & before intel
+dmesg -c > $TMPDIR/dmesg.2.after.fbdev.before.intel
+cp /var/log/Xorg.0.log $TMPDIR/Xorg.0.log.2.after.fbdev.before.intel
+
+sleep 5
+
+# run intel
+xinit -- /usr/bin/X -config $TMPDIR/xorg.conf.intel & 
+sleep 5 
+if [ -f `which intel_reg_dumper` ]; then
+`which intel_reg_dumper` > $TMPDIR/intel_reg_dumped.2.intel
+fi
+killall X
+
+# log after intel
+dmesg -c > $TMPDIR/dmesg.3.after.intel
+cp /var/log/Xorg.0.log $TMPDIR/Xorg.0.log.3.after.intel
+
+cp $0 $TMPDIR/
+
+tar czf $TMPDIR.tar.gz $TMPDIR/*
+if [ -f $TMPDIR.tar.gz ]; then
+       echo $TMPDIR.tar.gz contains this script, all configs and logs generated on this tests
+fi
+
+exit 0