From 404b824d7a46eee9fe76398fda6a44a7e9cf3681 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sat, 11 Aug 2018 09:58:05 +0100 Subject: [PATCH] git-debrebase: test suite: New gdr-merge test 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 --- debian/tests/control | 2 +- tests/tests/gdr-merge | 70 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 71 insertions(+), 1 deletion(-) create mode 100755 tests/tests/gdr-merge diff --git a/debian/tests/control b/debian/tests/control index e3274f22..1a4f5103 100644 --- a/debian/tests/control +++ b/debian/tests/control @@ -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 index 00000000..7a6ffdb6 --- /dev/null +++ b/tests/tests/gdr-merge @@ -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 -- 2.30.2