#!/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