Re: [PATCH 12/16] t3504: don't use `test_must_fail test_cmp`

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux