diff options
Diffstat (limited to 'tests/enumerate-tests')
-rwxr-xr-x | tests/enumerate-tests | 29 |
1 files changed, 21 insertions, 8 deletions
diff --git a/tests/enumerate-tests b/tests/enumerate-tests index 8ee34be..680236e 100755 --- a/tests/enumerate-tests +++ b/tests/enumerate-tests @@ -45,18 +45,27 @@ test-begin-gencontrol () { dependencies='dgit, dgit-infrastructure, devscripts, debhelper (>=8), fakeroot, build-essential, chiark-utils-bin, bc, faketime' } +gencontrol-add-things () { + local varname=$1; shift + local delim=$1; shift + local thing + eval ' + for thing in "$@"; do + case " $'$varname$delim '" in + *" "$thing"'$delim' "*) continue ;; + esac + '$varname'+="${'$varname':+'$delim' }$thing" + done + ' +} + restriction-gencontrol () { if [ $r = x-dgit-out-of-tree-only ]; then return; fi - restrictions+=" $r" + gencontrol-add-things restrictions '' "$r" } gencontrol-add-deps () { - for dep in "$@"; do - case " $dependencies," in - *" "$dep","*) continue ;; - esac - dependencies+="${dependencies:+, }$dep" - done + gencontrol-add-things dependencies , "$@" } dependencies-gencontrol () { @@ -89,7 +98,7 @@ test-done-gencontrol () { } ' case "$restrictions" in - ?*) echo "Restrictions:$restrictions" ;; + ?*) echo "Restrictions: $restrictions" ;; esac ) key=$(printf "%s" "$stanza" | sha256sum) @@ -132,6 +141,10 @@ allsedderies () { for import in $(seddery 's/^t-setup-import //p'); do allsedderies tests/setup/$import done + if egrep -q '^t-alt-test *$' <$tf; then + local leaf=${tf#tests/tests/} + allsedderies tests/tests/"${leaf#*-}" + fi } for t in $(run-parts --list tests/tests); do |