summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGordon Ross <gordon.w.ross@gmail.com>2016-11-06 10:54:03 -0500
committerGordon Ross <gordon.w.ross@gmail.com>2016-11-23 00:27:10 -0500
commit20e1996e4ab31d269c00d284098379092ce67457 (patch)
tree76beb5d45d3fff194e13fc207563cf0a121bed35
parentc627a2c3758eb647b4b0d1def0f986d7cea01497 (diff)
downloadillumos-gfx-drm-20e1996e4ab31d269c00d284098379092ce67457.tar.gz
Add a script to run the tests.
-rw-r--r--usr/src/cmd/drm-tests/Makefile12
-rw-r--r--usr/src/cmd/drm-tests/Run_all.sh60
-rw-r--r--usr/src/pkg/manifests/system-test-libdrm.mf1
3 files changed, 72 insertions, 1 deletions
diff --git a/usr/src/cmd/drm-tests/Makefile b/usr/src/cmd/drm-tests/Makefile
index e52a461..178319e 100644
--- a/usr/src/cmd/drm-tests/Makefile
+++ b/usr/src/cmd/drm-tests/Makefile
@@ -32,9 +32,19 @@ clobber:= TARGET= clobber
lint:= TARGET= lint
catalog:= TARGET= catalog
+PROG= Run_all.sh
+
all clean clobber lint: $(SUBDIRS)
-install: rootdirs .WAIT $(SUBDIRS)
+install: rootdirs .WAIT rootcmd $(SUBDIRS)
+
+# These indirect names (rootdirs, rootcmd) are just so
+# you can make those targets separately from subdirs.
rootdirs: $(ROOTCMDDIR) $(ROOTCMDDIR64)
+rootcmd: $(ROOTCMD)
+
+$(ROOTCMD) := FILEMODE= 755
+$(ROOTCMDDIR)/%.sh: %.sh
+ $(INS.file)
$(SUBDIRS): FRC
@cd $@; pwd; $(MAKE) $(TARGET)
diff --git a/usr/src/cmd/drm-tests/Run_all.sh b/usr/src/cmd/drm-tests/Run_all.sh
new file mode 100644
index 0000000..6bc01b2
--- /dev/null
+++ b/usr/src/cmd/drm-tests/Run_all.sh
@@ -0,0 +1,60 @@
+#!/bin/sh
+#
+# Copyright 2016 Gordon W. Ross
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+# SUCH DAMAGE.
+#
+
+#
+# Running the tests:
+# /opt/drm-tests/Run_all.sh > drm-tests.log
+#
+
+# Leaving out random (takes a while)
+# Also updatedraw (broken at the moment)
+TESTS="dristat drmdevice drmstat
+ drmsl hash
+ openclose
+ getversion
+ getclient
+ getstats
+ setversion
+ name_from_fd"
+
+run_all() {
+for f in $TESTS ; do
+ echo "Running: $f";
+ $1/$f
+ x=$?
+ if [ "$x" = 0 ] ; then
+ echo "PASS: $f" >&2
+ else
+ echo "FAIL: $f" >&2
+ fi
+done
+}
+
+echo "Running all (32-bit)" >&2
+run_all /opt/drm-tests
+
+echo "Running all (64-bit)" >&2
+run_all /opt/drm-tests/amd64
diff --git a/usr/src/pkg/manifests/system-test-libdrm.mf b/usr/src/pkg/manifests/system-test-libdrm.mf
index b8df185..151258a 100644
--- a/usr/src/pkg/manifests/system-test-libdrm.mf
+++ b/usr/src/pkg/manifests/system-test-libdrm.mf
@@ -47,6 +47,7 @@ file path=opt/drm-tests/$(ARCH64)/setversion
file path=opt/drm-tests/$(ARCH64)/tegra_openclose
file path=opt/drm-tests/$(ARCH64)/updatedraw
file path=opt/drm-tests/$(ARCH64)/vbltest
+file path=opt/drm-tests/Run_all.sh
file path=opt/drm-tests/dristat
file path=opt/drm-tests/drmdevice
file path=opt/drm-tests/drmsl