chiark / gitweb /
Test suite: Add t-tstunt-parsechangelog to a couple of tests
[dgit.git] / tests / tests / inarchivecopy
index c3c06b8..e87baaf 100755 (executable)
@@ -2,16 +2,60 @@
 set -e
 . tests/lib
 
-t-restrict x-dgit-unfinished
-
 t-setup-import examplegit
+t-tstunt-parsechangelog
 
-cat aq/package.sid.$p >>aq/package.stable.example
+cd $p
+git checkout -b dgit/stable dgit/dgit/stable
+cd ..
 
-t-archive-updated stable $p
+t-inarchive-copy () {
+       local vm=$1
+       local from=${2:-sid}
+       local to=${3:-stable}
+       egrep "^${vm//./\\.}" aq/package.$from.$p >>aq/package.$to.$p
+       t-archive-updated stable $p
+}
 
-cd $p
+copy-check-good () {
+       git diff $vtag
+       t-refs-same refs/remotes/dgit/dgit/stable
+       t-ref-head
+}
+
+copy-check () {
+       local vm=$1
+       t-inarchive-copy $vm
+
+       vtag=$(v=$vm t-v-tag)
+
+       cd $p
+        t-refs-same-start
+        t-ref-same $vtag^1
+
+        t-dgit fetch stable
+        git merge --ff-only dgit/dgit/stable
+
+        copy-check-good
+        local fetched=$(t-sametree-parent HEAD)
+       cd ..
+
+       rm -rf example.cloned
+       t-dgit clone $p stable example.cloned
+
+       cd example.cloned
+        t-refs-same-start
+        copy-check-good
+        local cloned=$(t-sametree-parent HEAD)  
+       cd ..
+
+       t-refs-same-start
+       t-ref-same-val fetched $fetched
+       t-ref-same-val cloned $cloned
+}
+
+copy-check 2.0
 
-t-dgit fetch stable
+copy-check 2.1
 
-xxx rest of test
+echo ok.