X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=tests%2Fenumerate-tests;h=c80a35c94c0ba4181be1db87af4bfe2f88043764;hb=3c4154c9a98c7c1ecb9ca224590e80b81465d305;hp=5a4d23571d656db0ff9ac4612596a086adb639bb;hpb=4eee70a2b1710c1a8fc71fbd3cdc7064682a799c;p=dgit.git diff --git a/tests/enumerate-tests b/tests/enumerate-tests index 5a4d2357..c80a35c9 100755 --- a/tests/enumerate-tests +++ b/tests/enumerate-tests @@ -42,25 +42,45 @@ finish- () { test-begin-gencontrol () { restrictions='' - dependencies='dgit, dgit-infrastructure, devscripts, debhelper (>=8), fakeroot, build-essential, chiark-utils-bin' + 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 () { - for dep in "$@"; do - dependencies+="${dependencies:+, }$dep" - done + gencontrol-add-things dependencies "$@" } dependencies-gencontrol () { for dep in "$deps"; do case "$dep" in - NO-DGIT) dependencies='chiark-utils-bin' ;; + NO-DGIT) dependencies='chiark-utils-bin, faketime' ;; + NO-DEFAULT) dependencies='' ;; GDR) gencontrol-add-deps \ - git-debrebase git-buildpackage faketime + 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 @@ -102,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