summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2016-12-07 16:58:19 +0300
committerShuah Khan <shuahkh@osg.samsung.com>2016-12-08 19:34:13 +0300
commitc461265679ce934c26339897bba2ff5c2120262f (patch)
tree2cea0b0e1584839d78b27fcfea65bc15d7ad4024
parent8b27787a6dda01c5281d8fb22ae79063f8b21e33 (diff)
downloadlinux-c461265679ce934c26339897bba2ff5c2120262f.tar.xz
kselftests: Exercise hw-independent mock tests for i915.ko
Although being a GPU driver most functionality of i915.ko depends upon real hardware, many of its internal interfaces can be "mocked" and so tested independently of any hardware. Expanding the test coverage is not only useful for i915.ko, but should provide some integration tests for core infrastructure as well. Loading i915.ko with mock_selftests=-1 will cause it to execute its mock tests then fail with -ENOTTY. If the driver is already loaded and bound to hardware, it requires a few more steps to unbind, and so the simple preliminary modprobe -r will fail. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Shuah Khan <shuah@kernel.org> Cc: linux-kselftest@vger.kernel.org Signed-off-by: Shuah Khan <shuahkh@osg.samsung.com>
-rwxr-xr-xtools/testing/selftests/drivers/gpu/i915.sh14
1 files changed, 14 insertions, 0 deletions
diff --git a/tools/testing/selftests/drivers/gpu/i915.sh b/tools/testing/selftests/drivers/gpu/i915.sh
new file mode 100755
index 000000000000..d407f0fa1e3a
--- /dev/null
+++ b/tools/testing/selftests/drivers/gpu/i915.sh
@@ -0,0 +1,14 @@
+#!/bin/sh
+# Runs hardware independent tests for i915 (drivers/gpu/drm/i915)
+
+if ! /sbin/modprobe -q -r i915; then
+ echo "drivers/gpu/i915: [SKIP]"
+ exit 77
+fi
+
+if /sbin/modprobe -q i915 mock_selftests=-1; then
+ echo "drivers/gpu/i915: ok"
+else
+ echo "drivers/gpu/i915: [FAIL]"
+ exit 1
+fi