chiark / gitweb /
Test suite: finalise replay prevention
[dgit.git] / tests / lib
index 1a9b0420c48426b72739698751ab5ed379a81f63..836ce2e2d23967140c30aaee95bcadba9b40cd3f 100644 (file)
--- a/tests/lib
+++ b/tests/lib
@@ -323,20 +323,35 @@ t-822-field () {
        ' <$file
 }
 
+t-stunt-envvar () {
+       local var=$1
+       local tstunt=$2
+       eval '
+               case "'$var'" in
+               "$tstunt:"*)    ;;
+               *":$tstunt:"*)  ;;
+               *)              '$var'="$tstunt:$'$var'" ;;
+               esac
+       '
+}
+
 t-tstunt () {
        local tstunt=$tmp/tstunt
-       mkdir -p $tstunt
-       case "$PATH" in
-       "$tstunt:"*)    ;;
-       *":$tstunt:"*)  ;;
-       *)              PATH="$tstunt:$PATH" ;;
-       esac
+       t-stunt-envvar PATH $tstunt
+       t-stunt-envvar PERLLIB $tstunt
        local f
        for f in "$@"; do
-               ln -sf "$troot/tstunt/$f" "$tstunt"/.
+               f="./$f"
+               local d="$tstunt/${f%/*}"
+               mkdir -p $d
+               ln -sf "$troot/tstunt/$f" "$d"/.
        done
 }
 
+t-tstunt-parsechangelog () {
+       t-tstunt dpkg-parsechangelog Dpkg/Changelog/Parse.pm
+}
+
 t-ref-dsc-dgit () {
        local dsc=${p}_${v}.dsc
        local val=`t-822-field $tmp/incoming/$dsc Dgit`