chiark / gitweb /
TODO.BRANCH: Synthetic ff is not to do with $tag, really
[dgit.git] / tests / lib
index 6b31c9d8635504862328ffbb750e677b4c4da42e..bd83be70a69d930a54af356a763c4ad2071718e0 100644 (file)
--- a/tests/lib
+++ b/tests/lib
@@ -62,6 +62,8 @@ incoming              = $tmp/incoming
 run_dinstall           = 0
 END
 
+: ${tagpfx:=test-dummy}
+
 t-git-next-date () {
        GIT_COMMITTER_DATE="$(( ${GIT_COMMITTER_DATE%% *} + 1 )) ${GIT_COMMITTER_DATE#* }"
        GIT_AUTHOR_DATE="$GIT_COMMITTER_DATE"
@@ -251,7 +253,8 @@ t-archive-updated () {
                        "filename" => "$4",
                };
                END {
-                       print to_json \@v or die $!;
+                       my $json = JSON->new->canonical();
+                       print $json->encode(\@v) or die $!;
                }
        '
 }
@@ -399,7 +402,8 @@ t-ref-same-val () {
        case "$t_ref_val" in
        '')             ;;
        "$val")         ;;
-       *)              fail "ref varies: $name: $val != $t_ref_val" ;;
+       *)              fail "ref varies: $name:\
+ ${val:-nothing} != ${t_ref_val:-nothing}" ;;
        esac
        t_ref_val="$val"
 }
@@ -426,7 +430,7 @@ t-refs-notexist () {
 }
 
 t-v-tag () {
-       echo refs/tags/test-dummy/${v//\~/_}
+       echo refs/tags/$tagpfx/${v//\~/_}
 }
 
 t-check-pushed-master () {
@@ -590,6 +594,7 @@ t-drs () {
  t-git-config dgit-distro.test-dummy.git-url "ext::$troot/drs-git-ext %S "
  t-git-config dgit-distro.test-dummy.git-check true
  t-git-config dgit-distro.test-dummy.git-create true
+ t-git-config dgit-distro.test-dummy.dgit-tag-format old,new
        cp $troot/gnupg/{dd.gpg,dm.gpg,dm.txt} $tmp/.
        cp $troot/suites $tmp/.
        cp $troot/suites $tmp/suites-master
@@ -611,6 +616,14 @@ t-drs () {
        ln -sf /bin/true $drs_dispatch/policy-hook
 }
 
+t-newtag () {
+ export tagpfx=archive/test-dummy
+ t-git-config dgit-distro.test-dummy.dgit-tag-format new
+}
+t-oldtag () {
+ t-git-config dgit-distro.test-dummy.dgit-tag-format old
+}
+
 t-dsd () {
        t-drs
  t-git-config dgit-distro.test-dummy.ssh "$troot/dsd-ssh"