summaryrefslogtreecommitdiff
path: root/tests/igt_command_line.sh
diff options
context:
space:
mode:
authorMarius Vlad <marius.c.vlad@intel.com>2016-08-31 19:59:02 +0300
committerMarius Vlad <marius.c.vlad@intel.com>2016-09-01 09:59:55 +0300
commit75e7a3a8d255a4b925e24939e771af3e7cdf15dc (patch)
tree30b5962f581eb8493ff746776c99469408646394 /tests/igt_command_line.sh
parent7213c3e09621d9708a87d26cda4b1b71fe73d206 (diff)
autotools/: Allow check target to be invoked w/o the need to issue a build.
We need to have the test list generated before running the check target. Migrated igt_command_line.sh to tests/ from lib/tests/, which allows to building the tests and execute the script. This would allow cleaning followed by a make check. Also assembler/ directory needs also to be adjusted in order for this to work. Kept the possibility to invoke tests/igt_command_line.sh to determine which test is failing. Signed-off-by: Marius Vlad <marius.c.vlad@intel.com> Url: https://patchwork.freedesktop.org/series/6539/ Reviewed-By: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'tests/igt_command_line.sh')
-rwxr-xr-xtests/igt_command_line.sh90
1 files changed, 90 insertions, 0 deletions
diff --git a/tests/igt_command_line.sh b/tests/igt_command_line.sh
new file mode 100755
index 00000000..a20e44cf
--- /dev/null
+++ b/tests/igt_command_line.sh
@@ -0,0 +1,90 @@
+#!/bin/sh
+#
+# Copyright © 2014 Intel Corporation
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the "Software"),
+# to deal in the Software without restriction, including without limitation
+# the rights to use, copy, modify, merge, publish, distribute, sublicense,
+# and/or sell copies of the Software, and to permit persons to whom the
+# Software is furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice (including the next
+# paragraph) shall be included in all copies or substantial portions of the
+# Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+# IN THE SOFTWARE.
+
+#
+# Check that command line handling works consistently across all tests
+#
+
+if [ -z "$top_builddir" ]; then
+ top_builddir="$(dirname $0)"
+fi
+
+# allow to run this script from top directory
+TESTLIST=`cat $top_builddir/test-list.txt`
+if [ $? -ne 0 ]; then
+ # distcheck requires this hack
+ TESTLIST=$(cat test-list.txt)
+ if [ $? -ne 0 ]; then
+ echo "Error: Could not read test lists"
+ exit 99
+ fi
+fi
+
+fail () {
+ echo "FAIL: $1"
+ exit 1
+}
+
+for test in $TESTLIST; do
+ if [ "$test" = "TESTLIST" -o "$test" = "END" ]; then
+ continue
+ fi
+
+ # top_builddir is empty for distcheck
+ test=$top_builddir/$test
+
+ # distcheck requires this hack
+ if [ ! -x "$test" ]; then
+ continue
+ fi
+
+ echo "$test:"
+
+ # check invalid option handling
+ echo " Checking invalid option handling..."
+ ./$test --invalid-option 2> /dev/null && fail $test
+
+ # check valid options succeed
+ echo " Checking valid option handling..."
+ ./$test --help > /dev/null || fail $test
+
+ # check --list-subtests works correctly
+ echo " Checking subtest enumeration..."
+ LIST=`./$test --list-subtests`
+ RET=$?
+ if [ $RET -ne 0 -a $RET -ne 79 ]; then
+ fail $test
+ fi
+
+ if [ $RET -eq 79 -a -n "$LIST" ]; then
+ fail $test
+ fi
+
+ if [ $RET -eq 0 -a -z "$LIST" ]; then
+ fail $test
+ fi
+
+ # check invalid subtest handling
+ echo " Checking invalid subtest handling..."
+ ./$test --run-subtest invalid-subtest > /dev/null 2>&1 && fail $test
+done