git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

From
Junio C Hamano <gitster@pobox.com>
Date
Dec 27, 2019, 22:48 UTC
Message-ID
<xmqqpng9idut.fsf@gitster-ct.c.googlers.com>
In-Reply-To
<41175b96-37d7-f550-b9c2-41d569145b91@kdbg.org>
Johannes Sixt <j6t@kdbg.org> writes:
Show 15 quoted lines
> 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-<.

Show 34 quoted lines
> 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@kdbg.org>
> ---
>  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
Previous: Johannes SixtNext: Denton Liu
Message 21 of 54 in “t: replace incorrect test_must_fail usage (part 2)”
  1. 00/16 t: replace incorrect test_must_fail usage (part 2)Denton Liu, Dec 27, 2019
  2. 01/16 t2018: remove trailing space from test descriptionDenton Liu, Dec 27, 2019
  3. 02/16 t2018: add space between function name and ()Denton Liu, Dec 27, 2019
  4. Eric SunshineDec 27, 2019
  5. 04/16 t2018: teach do_checkout() to accept `!` argDenton Liu, Dec 27, 2019
  6. Eric SunshineDec 28, 2019
  7. 03/16 t2018: use test_must_fail for failing git commandsDenton Liu, Dec 27, 2019
  8. Eric SunshineDec 28, 2019
  9. Jakub NarebskiDec 30, 2019
  10. 06/16 t2018: replace "sha" with "oid"Denton Liu, Dec 27, 2019
  11. 05/16 t2018: don't lose return code of git commandsDenton Liu, Dec 27, 2019
  12. Eric SunshineDec 27, 2019
  13. Denton LiuJan 1, 2020
  14. Eric SunshineJan 1, 2020
  15. Junio C HamanoJan 2, 2020
  16. 07/16 t3030: use test_path_is_missing()Denton Liu, Dec 27, 2019
  17. 10/16 t3415: increase granularity of test_auto_{fixup,squash}()Denton Liu, Dec 27, 2019
  18. 09/16 t3415: stop losing return codes of git commandsDenton Liu, Dec 27, 2019
  19. 12/16 t3504: don't use `test_must_fail test_cmp`Denton Liu, Dec 27, 2019
  20. Johannes SixtDec 27, 2019
  21. Junio C HamanoDec 27, 2019
  22. 13/16 t3507: fix indentationDenton Liu, Dec 27, 2019
  23. 15/16 t4124: only mark git command with test_must_failDenton Liu, Dec 27, 2019
  24. 16/16 t4124: let sed open its own filesDenton Liu, Dec 27, 2019
  25. Jakub NarebskiDec 30, 2019
  26. Junio C HamanoDec 30, 2019
  27. Denton LiuJan 1, 2020
  28. Eric SunshineJan 1, 2020
  29. Denton LiuJan 1, 2020
  30. 11/16 t3419: stop losing return code of git commandDenton Liu, Dec 27, 2019
  31. 14/16 t3507: use test_path_is_missing()Denton Liu, Dec 27, 2019
  32. 08/16 t3310: extract common no_notes_merge_left()Denton Liu, Dec 27, 2019
  33. Eric SunshineDec 28, 2019
  34. Jakub NarebskiDec 30, 2019
  35. 00/16 t: replace incorrect test_must_fail usage (part 2)Denton Liu, Jan 7, 2020
  36. 01/16 t2018: remove trailing space from test descriptionDenton Liu, Jan 7, 2020
  37. 02/16 t2018: add space between function name and ()Denton Liu, Jan 7, 2020
  38. 03/16 t2018: improve style of if-statementDenton Liu, Jan 7, 2020
  39. 04/16 t2018: use test_expect_code for failing git commandsDenton Liu, Jan 7, 2020
  40. Eric SunshineJan 12, 2020
  41. t2018: be more discerning when checking for expected exit codesDenton Liu, Jan 26, 2020
  42. 05/16 t2018: teach do_checkout() to accept `!` argDenton Liu, Jan 7, 2020
  43. 06/16 t2018: don't lose return code of git commandsDenton Liu, Jan 7, 2020
  44. 07/16 t2018: replace "sha" with "oid"Denton Liu, Jan 7, 2020
  45. 09/16 t3310: extract common notes_merge_files_gone()Denton Liu, Jan 7, 2020
  46. 10/16 t3415: stop losing return codes of git commandsDenton Liu, Jan 7, 2020
  47. 14/16 t3507: fix indentationDenton Liu, Jan 7, 2020
  48. 16/16 t4124: only mark git command with test_must_failDenton Liu, Jan 7, 2020
  49. 13/16 t3504: do check for conflict marker after failed cherry-pickDenton Liu, Jan 7, 2020
  50. 12/16 t3419: stop losing return code of git commandDenton Liu, Jan 7, 2020
  51. 15/16 t3507: use test_path_is_missing()Denton Liu, Jan 7, 2020
  52. 08/16 t3030: use test_path_is_missing()Denton Liu, Jan 7, 2020
  53. 11/16 t3415: increase granularity of test_auto_{fixup,squash}()Denton Liu, Jan 7, 2020
  54. Eric SunshineJan 10, 2020

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.