chiark / gitweb /
Test suite: t-commit: Permit specification of the suite in $3
[dgit.git] / tests / lib
index 38605bd9359e2f9200b1d4737ef3f235f60887e7..cebe10d9452e79d649662f42404f3b80847c0152 100644 (file)
--- a/tests/lib
+++ b/tests/lib
@@ -63,6 +63,7 @@ run_dinstall          = 0
 END
 
 : ${tagpfx:=test-dummy}
+: ${suitespecs:=sid:unstable}
 
 t-git-next-date () {
        GIT_COMMITTER_DATE="$(( ${GIT_COMMITTER_DATE%% *} + 1 )) ${GIT_COMMITTER_DATE#* }"
@@ -208,30 +209,43 @@ t-prep-newpackage () {
 
 t-archive-none () {
        t-select-package $1
-       mkdir -p $tmp/aq $tmp/mirror/pool/main
+       mkdir -p $tmp/aq/dsc_in_suite $tmp/mirror/pool/main
 
-       local suite=sid
+       : >$tmp/aq/suites
+       local jsondelim="["
 
-       >$tmp/aq/package.$suite.$p
-       t-archive-updated $suite $p
+       local suitespec
+       for suitespec in $suitespecs; do
+               local suite=${suitespec%%:*}
+               local sname=${suitespec#*:}
+
+               >$tmp/aq/package.$suite.$p
+               t-archive-updated $suite $p
 
-       >$tmp/aq/package.new.$p
-       t-archive-updated new $p
+               >$tmp/aq/package.new.$p
+               t-archive-updated new $p
 
-       ln -s sid $tmp/aq/dsc_in_suite/unstable
-       cat <<'END' >$tmp/aq/suites
-[
+               ln -s $suite $tmp/aq/dsc_in_suite/$sname
+
+               cat <<END >>$tmp/aq/suites
+$jsondelim
    {
       "archive" : "ftp-master",
-      "codename" : "sid",
+      "codename" : "$suite",
       "components" : [
          "main",
          "contrib",
          "non-free"
       ],
-      "name" : "unstable",
-      "dakname" : "unstable"
-   }
+      "name" : "$sname",
+      "dakname" : "$sname"
+END
+
+               jsondelim="   },"
+
+       done
+       cat <<END >>$tmp/aq/suites
+    }
 ]
 END
 }
@@ -253,7 +267,8 @@ t-archive-updated () {
                        "filename" => "$4",
                };
                END {
-                       print to_json \@v or die $!;
+                       my $json = JSON->new->canonical();
+                       print $json->encode(\@v) or die $!;
                }
        '
 }
@@ -443,17 +458,18 @@ t-check-pushed-master () {
 
 t-pushed-good () {
        local branch=$1
+       local suite=${2:-sid}
        t-ref-dsc-dgit
        t-refs-same \
                refs/heads/$branch \
                `t-v-tag` \
-               refs/remotes/dgit/dgit/sid
+               refs/remotes/dgit/dgit/$suite
        t-refs-notexist \
                refs/heads/dgit/unstable \
                refs/remotes/dgit/dgit/unstable
        (set -e; cd $dgitrepo
         t-refs-same \
-               refs/dgit/sid \
+               refs/dgit/$suite \
                `t-v-tag`
         ${t_check_pushed_master:- : NOT-DRS-NO-CHECK-PUSHED-MASTER}
         t-refs-notexist \
@@ -577,8 +593,8 @@ t-gbp-example-prep () {
 
 t-commit () {
        local msg=$1
-       v=${2-1.$revision}
-       dch -v$v --distribution unstable "$1"
+       v=${2:-1.$revision}
+       dch -v$v --distribution ${3:-unstable} "$1"
        git add debian/changelog
        debcommit
        revision=$(( ${revision-0} + 1 ))
@@ -593,6 +609,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