X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=dgit.git;a=blobdiff_plain;f=tests%2Flib-build-modes;h=8fa263c34448176d43c53ab424529951253e9c13;hp=836d1ecef921e6c8e2ac30fa146691812fb3575f;hb=ecbd050d62ca87c4298a1344c805db0b93c392e0;hpb=cfec91c99eff2ed5d6e914b54ef81d9ddca78ca8 diff --git a/tests/lib-build-modes b/tests/lib-build-modes index 836d1ece..8fa263c3 100644 --- a/tests/lib-build-modes +++ b/tests/lib-build-modes @@ -20,14 +20,16 @@ exec git "$@" END chmod +x $tmp/stunt-git - counter=0 - if zgrep 'dpkg-buildpackage: Make dependency checks fatal for -S' \ /usr/share/doc/dpkg-dev/changelog.gz; then dpkgbuildpackage_deps_for_clean=true else dpkgbuildpackage_deps_for_clean=false fi + + cleanmodes_default="git none dpkg-source dpkg-source-d" + cleanmodes_all="$cleanmodes_default git-ff check" + cleanmodes="$cleanmodes_default" } bm-guess-e-source-e-targets () { @@ -38,6 +40,8 @@ bm-guess-e-source-e-targets () { *" -A") e_source=false; e_targets='build-indep binary-indep' ;; *" -S") e_source=true; e_targets=' ' ;; *" -F") e_source=true; e_targets='build binary' ;; + *" -G") e_source=true; e_targets='build-arch binary-arch' ;; + *" -g") e_source=true; e_targets='build-indep binary-indep' ;; *) e_source=true; e_targets='build binary' ;; esac } @@ -93,23 +97,27 @@ bm-compute-expected () { } bm-run-one () { - local args="--clean=$cleanmode $real_act" + local args="$DGIT_TEST_BM_BASEARGS --clean=$cleanmode $real_act" + + bmid="$act,$cleanmode,$branch" + bmid=${bmid// /_} - heading="===== [$counter $branch $cleanmode $act] dgit $args =====" + heading="===== [$bmid] dgit $args =====" - bmlog=$tmp/run-$counter-output - bmexp=$tmp/run-$counter-expected - bmgot=$tmp/run-$counter-results + bmlog=$tmp/run.$bmid.output + bmexp=$tmp/run.$bmid.expected + bmgot=$tmp/run.$bmid.results bm-compute-expected git checkout $branch + git clean -xdf # since we might not do any actual cleaning dsc='../example_1.0.dsc' rm -f $dsc set +o pipefail - t-dgit --git=$tmp/stunt-git $args 2>&1 | tee $bmlog + t-dgit --rm-old-changes --git=$tmp/stunt-git $args 2>&1 | tee $bmlog local ps="${PIPESTATUS[*]}" set -o pipefail @@ -140,16 +148,20 @@ bm-run-one () { $bm_quirk_before_diff [ $actual_status = failure ] || diff -U10 $bmexp $bmgot - - counter=$(( $counter + 1 )) } bm-act-iterate () { - for cleanmode in git none dpkg-source dpkg-source-d; do - # git-ff check removed because they're really very similar + for cleanmode in $cleanmodes; do for branch in indep-arch bad-build-deps; do bm-run-one done done : bm-act-iterate done. } + +bm-alwayssplit () { + local t=${0##*/} + DGIT_TEST_BM_BASEARGS+=' --always-split-source-build' + export DGIT_TEST_BM_BASEARGS + t-chain-test "${t%%-asplit}" +}