Johannes Sixt <j6t@xxxxxxxx> writes: > This is VERY suspicious. It is not reliable to check that something > is not exactly equal to something else. > > Feel free to replace this patch by the following. > > ----- 8< ----- > t3504: do check for conflict marker after failed cherry-pick > > The test with disabled rerere should make sure that the cherry-picked > result does not have the conflict replaced with a recorded resolution. > > It attempts to do so by ensuring that the file content is _not_ equal > to some other file. That by itself is a very dubious check because just > about every random result of an incomplete cherry-pick would satisfy > the condition. Good thinking. Thanks for catching the bogosity of the original test, which dates back to more than 10 years ago X-<. > In this case, the intent was to check that the conflicting file does > _not_ contain the resolved content. But the check actually uses the > wrong reference file, but not the resolved content. Needless to say > that the non-equality is satisfied. And, on top of it, it uses a commit > that does not even touch the file that is checked. > > Do check for the expected result, which is content from both sides of > the merge and merge conflicts. (The latter we check for just the > middle separator for brevity.) > > As a side-effect, this also removes an incorrect use of test_must_fail. > > Signed-off-by: Johannes Sixt <j6t@xxxxxxxx> > --- > t/t3504-cherry-pick-rerere.sh | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/t/t3504-cherry-pick-rerere.sh b/t/t3504-cherry-pick-rerere.sh > index a267b2d144..80a0d08706 100755 > --- a/t/t3504-cherry-pick-rerere.sh > +++ b/t/t3504-cherry-pick-rerere.sh > @@ -94,8 +94,10 @@ test_expect_success 'cherry-pick --rerere-autoupdate more than once' ' > > test_expect_success 'cherry-pick conflict without rerere' ' > test_config rerere.enabled false && > - test_must_fail git cherry-pick master && > - test_must_fail test_cmp expect foo > + test_must_fail git cherry-pick foo-master && > + grep ===== foo && > + grep foo-dev foo && > + grep foo-master foo > ' > > test_done