chiark / gitweb /
test suite: enumerate-tests: gencontrol-add-things: delim feature
[dgit.git] / tests / enumerate-tests
index 3406e1cce38426244a45364450c2ab713ce29b11..506f80dc31afda10ed93abc3517ecb4f08b5beff 100755 (executable)
@@ -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-deps () {
-       for dep in "$@"; do
-               case " $dependencies," in
-               *" "$dep","*)   continue ;;
-               esac
-               dependencies+="${dependencies:+, }$dep"
-       done
+       gencontrol-add-things dependencies , "$@"
 }
 
 dependencies-gencontrol () {
@@ -129,6 +138,9 @@ allsedderies () {
        for deps in $(seddery 's/^t-dependencies //p'); do
                dependencies-$mode
        done
+       for import in $(seddery 's/^t-setup-import //p'); do
+               allsedderies tests/setup/$import
+       done
 }
 
 for t in $(run-parts --list tests/tests); do