chiark / gitweb /
dgit clone: No longer create an "origin" remote
[dgit.git] / tests / enumerate-tests
index 8a9b0366944a0ea75bf9846a6d86c51ea7dc86a5..8ee34bec4a354ec9824d098108ccb871c8061e16 100755 (executable)
@@ -52,6 +52,9 @@ restriction-gencontrol () {
 
 gencontrol-add-deps () {
        for dep in "$@"; do
+               case " $dependencies," in
+               *" "$dep","*)   continue ;;
+               esac
                dependencies+="${dependencies:+, }$dep"
        done
 }
@@ -67,6 +70,7 @@ dependencies-gencontrol () {
                DEBORIG) gencontrol-add-deps \
                        devscripts libdpkg-perl \
                        libgit-wrapper-perl liblist-compare-perl \
+                       libstring-shellquote-perl libtry-tiny-perl \
                        # NB git-deborig is not compatible with
                        #  t-tstunt-parsechangelog
                        ;;
@@ -110,21 +114,29 @@ finish-gencontrol () {
 
 seddery () {
        local seddery=$1
-       sed <$t -n '
+       sed <$tf -n '
                20q;
                /^: t-enumerate-tests-end$/q;
                '"$seddery"'
        '
 }
 
-for t in $(run-parts --list tests/tests); do
-       test-begin-$mode
+allsedderies () {
+       local tf=$1
        for r in $(seddery 's/^t-restrict //p'); do
                restriction-$mode
        done
        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
+       test-begin-$mode
+       allsedderies $t
        test-done-$mode
 done