summaryrefslogtreecommitdiff
path: root/tools/testing
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2016-12-07 13:58:19 +0000
committerShuah Khan <shuahkh@osg.samsung.com>2016-12-08 09:34:13 -0700
commitc461265679ce934c26339897bba2ff5c2120262f (patch)
tree2cea0b0e1584839d78b27fcfea65bc15d7ad4024 /tools/testing
parent8b27787a6dda01c5281d8fb22ae79063f8b21e33 (diff)
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>
Diffstat (limited to 'tools/testing')
-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