From: Junio C Hamano Date: Fri, 22 Apr 2016 21:39:28 GMT Subject: Re: [PATCH v5 2/4] format-patch: add '--base' option to record base tree info Message-ID: In-Reply-To: <1461303756-25975-3-git-send-email-xiaolong.ye@intel.com> Xiaolong Ye writes: > diff --git a/t/t4014-format-patch.sh b/t/t4014-format-patch.sh > index eed2981..a6ce727 100755 > --- a/t/t4014-format-patch.sh > +++ b/t/t4014-format-patch.sh > @@ -1460,4 +1460,19 @@ test_expect_success 'format-patch -o overrides format.outputDirectory' ' > test_path_is_dir patchset > ' > > +test_expect_success 'format-patch --base' ' > + git checkout side && > + git format-patch --stdout --base=HEAD~~~ -1 >patch && > + grep -e "^base-commit:" -A3 patch >actual && > + echo "base-commit: $(git rev-parse HEAD~~~)" >expected && HEAD~3 would be easier to read (and HEAD~2 is easier than HEAD~~). > + echo "prerequisite-patch-id: $(git show --patch HEAD~~ | git patch-id --stable | awk "{print \$1}")" >>expected && > + echo "prerequisite-patch-id: $(git show --patch HEAD~ | git patch-id --stable | awk "{print \$1}")" >>expected && > + test_cmp expected actual > +' > + > +test_expect_success 'format-patch --base error handling' ' > + ! git format-patch --base=HEAD~ -2 && > + ! git format-patch --base=HEAD~ -3 > +' When making sure that "git" exits with a failure in a controlled way (i.e. you want to consider "git" that segfaults as not passing the test), do not use "! git cmd", but use "test_must_fail git cmd" instead. You now have a quite elaborate logic in base validation in this round. Is the topology of the history used in this test still complex enough to make sure the logic is being tested?