chiark / gitweb /
git-debrebase: test suite: New gdr-merge test
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 11 Aug 2018 08:58:05 +0000 (09:58 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 11 Aug 2018 09:31:16 +0000 (10:31 +0100)
This still has a lot of xxx's, but as it is right now it passes,
despite all the bugs.  This seems like a reasonable baseline for more
work.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
debian/tests/control
tests/tests/gdr-merge [new file with mode: 0755]

index e3274f2..1a4f510 100644 (file)
@@ -20,7 +20,7 @@ Tests: gdr-diverge-nmu gdr-diverge-nmu-dgit gdr-edits gdr-import-dgit gdr-import
 Tests-Directory: tests/tests
 Depends: dgit, dgit-infrastructure, devscripts, debhelper (>=8), fakeroot, build-essential, chiark-utils-bin, bc, git-debrebase, git-buildpackage, faketime
 
-Tests: gdr-newupstream gdr-viagit
+Tests: gdr-merge gdr-newupstream gdr-viagit
 Tests-Directory: tests/tests
 Depends: chiark-utils-bin, git-debrebase, git-buildpackage, faketime
 
diff --git a/tests/tests/gdr-merge b/tests/tests/gdr-merge
new file mode 100755 (executable)
index 0000000..7a6ffdb
--- /dev/null
@@ -0,0 +1,70 @@
+#!/bin/bash
+set -e
+autoimport=
+. tests/lib
+
+t-dependencies NO-DGIT GDR
+
+t-tstunt-parsechangelog
+t-setup-import gdr-convert-gbp-noarchive
+
+: 'set up so t-git-debrebase runs gdr via git'
+
+case "$DGIT_GITDEBREBASE_TEST" in
+''|git-debrebase)      ;;
+*)
+       t-tstunt
+       st=$tmp/tstunt/git-debrebase
+       export DGIT_GITDEBREBASE_TEST_REAL="$DGIT_GITDEBREBASE_TEST"
+       cat <<'END' >$st
+#!/bin/sh
+set -x
+exec "$DGIT_GITDEBREBASE_TEST_REAL" "$@"
+END
+       chmod +x $st
+       ;;
+esac
+
+DGIT_GITDEBREBASE_TEST='git debrebase'
+
+: 'do a simple test'
+
+cd $p
+
+t-gdr-prep-new-upstream 2.1
+git tag v2.1 upstream
+
+t-some-changes before
+t-git-debrebase quick
+
+git checkout -b other
+t-some-changes other '' -other
+
+git checkout master
+t-some-changes us-1 '' -us
+t-git-debrebase new-upstream 2.1
+t-some-changes us-2 '' -us
+t-git-debrebase quick
+
+git merge other
+
+t-some-changes after
+# xxx ^ commenting out this line produces an internal error
+
+t-expect-fail E:'general two-parent merge' \
+t-git-debrebase
+
+export GIT_DEBREBASE_EXPERIMENTAL_MERGE=1
+
+t-git-debrebase
+
+# xxx want to check that we DTRT if we start out unstitched -
+# xxx should consider our ffq-prev as a parent
+# xxx or should we ?  it's not a parent of the merge is it ?
+# xxx => user should prefer to make merges when stitched ?
+# xxx think about this later
+
+# t-gdr-good laundered
+# xxx ^ this does not work
+
+t-ok