summaryrefslogtreecommitdiff
path: root/tests/list-tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests/list-tests')
-rwxr-xr-xtests/list-tests43
1 files changed, 43 insertions, 0 deletions
diff --git a/tests/list-tests b/tests/list-tests
new file mode 100755
index 0000000..21f96b4
--- /dev/null
+++ b/tests/list-tests
@@ -0,0 +1,43 @@
+#!/bin/bash
+
+set -e
+
+. tests/lib-core
+. tests/lib-restricts
+
+mode=$1
+
+test-begin- () {
+ whynots=''
+}
+
+restriction- () {
+ set +e
+ whynot=$(t-restriction-$r)
+ rc=$?
+ set -e
+ case "$rc.$whynot" in
+ 0.) ;;
+ 1.?*) whynots="$whynots${whynots:+; }$whynot" ;;
+ *) fail "restriction $r for $t gave $rc $whynot !"
+ esac
+}
+
+test-done- () {
+ case "$whynots" in
+ '') echo $t ;;
+ ?*) echo >&2 "SKIP $t $whynots" ;;
+ esac
+}
+
+for t in $(run-parts --list tests/tests); do
+ test-begin-$mode
+ for r in $(sed <$t -n '
+ 20q;
+ /^: t-list-tests-end$/q;
+ s/^t-restrict //p
+ '); do
+ restriction-$mode
+ done
+ test-done-$mode
+done