X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=tests%2Fenumerate-tests;h=c80a35c94c0ba4181be1db87af4bfe2f88043764;hb=3c4154c9a98c7c1ecb9ca224590e80b81465d305;hp=2c00f975a7f88b4fa3104ed60f3d88ad1ec9a6f6;hpb=6dbc82e06ae1e6840dfa2ef2cc6b496561e6f333;p=dgit.git diff --git a/tests/enumerate-tests b/tests/enumerate-tests index 2c00f975..c80a35c9 100755 --- a/tests/enumerate-tests +++ b/tests/enumerate-tests @@ -42,15 +42,49 @@ finish- () { test-begin-gencontrol () { restrictions='' - dependencies='' + dependencies='dgit, dgit-infrastructure, devscripts, debhelper (>=8), fakeroot, build-essential, chiark-utils-bin, bc, faketime' +} + +gencontrol-add-things () { + local varname=$1; shift + local thing + eval ' + for thing in "$@"; do + case " $'$varname'," in + *" "$thing","*) continue ;; + esac + '$varname'+="${'$varname':+, }$thing" + done + ' } restriction-gencontrol () { + if [ $r = x-dgit-out-of-tree-only ]; then return; fi restrictions+=" $r" } +gencontrol-add-deps () { + gencontrol-add-things dependencies "$@" +} + dependencies-gencontrol () { - dependencies+=", $deps" + for dep in "$deps"; do + case "$dep" in + NO-DGIT) dependencies='chiark-utils-bin, faketime' ;; + NO-DEFAULT) dependencies='' ;; + GDR) gencontrol-add-deps \ + git-debrebase git-buildpackage + ;; + 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 + ;; + *) gencontrol-add-deps "$dep" ;; + esac + done } test-done-gencontrol () { @@ -88,21 +122,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