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

Re: [PATCH v2 04/21] t: use test_cmp_rev() where appropriate

From
Eric Sunshine <sunshine@sunshineco.com>
Date
Apr 11, 2016, 00:07 UTC
Message-ID
<CAPig+cS+4G22ARfwxDnfPPS6A+oFHYtOD-99vh9EOt=qwLoZSg@mail.gmail.com>
In-Reply-To
<1460294354-7031-5-git-send-email-s-beyer@gmx.net>
On Sun, Apr 10, 2016 at 9:18 AM, Stephan Beyer <s-beyer@gmx.net> wrote:
Show 15 quoted lines
> test_cmp_rev() from t/test-lib-functions.sh is used to make many
> tests clearer.
>
> Signed-off-by: Stephan Beyer <s-beyer@gmx.net>
> ---
> diff --git a/t/t3310-notes-merge-manual-resolve.sh b/t/t3310-notes-merge-manual-resolve.sh
> @@ -537,8 +537,8 @@ EOF
>         test -f .git/NOTES_MERGE_WORKTREE/$commit_sha3 &&
>         test -f .git/NOTES_MERGE_WORKTREE/$commit_sha4 &&
>         # Refs are unchanged
> -       test "$(git rev-parse refs/notes/m)" = "$(git rev-parse refs/notes/w)" &&
> -       test "$(git rev-parse refs/notes/y)" = "$(git rev-parse NOTES_MERGE_PARTIAL^1)" &&
> +       test_cmp_rev refs/notes/m refs/notes/w &&
> +       test_cmp_rev refs/notes/y NOTES_MERGE_PARTIAL^1 &&
>         test "$(git rev-parse refs/notes/m)" != "$(git rev-parse NOTES_MERGE_PARTIAL^1)" &&
Does this one deserve the same type of treatment (but prefixed with !)?
    ! test_cmp_rev refs/notes/m NOTES_MERGE_PARTIAL^1

I could understand avoiding this conversion if temp_cmp_rev was still noisy upon failure, however patch 3/21 silenced it.

Aside: Would make sense for test_cmp_rev to accept an optional ! as
its first argument to signify that the revs should not match?
Show 9 quoted lines
>         # Mention refs/notes/m, and its current and expected value in output
>         grep -q "refs/notes/m" output &&
> diff --git a/t/t7003-filter-branch.sh b/t/t7003-filter-branch.sh
> @@ -354,8 +354,8 @@ test_expect_success '--remap-to-ancestor with filename filters' '
> -       test $(git rev-parse moved-foo) = $(git rev-parse moved-bar) &&
> -       test $(git rev-parse moved-foo) = $(git rev-parse master^) &&
> +       test_cmp_rev moved-foo moved-bar &&
> +       test_cmp_rev moved-foo master^ &&
>         test $orig_invariant = $(git rev-parse invariant)

At other places in this patch, you also converted lines such as the above, so why not here?

    test_cmp_rev invariant $orig_invariant
Show 8 quoted lines
>  '
>
> @@ -372,8 +372,8 @@ test_expect_success 'automatic remapping to ancestor with filename filters' '
> -       test $(git rev-parse moved-foo2) = $(git rev-parse moved-bar2) &&
> -       test $(git rev-parse moved-foo2) = $(git rev-parse master^) &&
> +       test_cmp_rev moved-foo2 moved-bar2 &&
> +       test_cmp_rev moved-foo2 master^ &&
>         test $orig_invariant = $(git rev-parse invariant2)
Ditto.
Show 15 quoted lines
>  '
>
> diff --git a/t/t7601-merge-pull-config.sh b/t/t7601-merge-pull-config.sh
> @@ -79,17 +79,16 @@ test_expect_success 'merge c1 with c2 and c3 (recursive in pull.octopus)' '
>  test_expect_success 'merge c1 with c2 and c3 (recursive and octopus in pull.octopus)' '
>         git reset --hard c1 &&
>         git config pull.octopus "recursive octopus" &&
>         git merge c2 c3 &&
> -       test "$(git rev-parse c1)" != "$(git rev-parse HEAD)" &&
> -       test "$(git rev-parse c1)" = "$(git rev-parse HEAD^1)" &&
> -       test "$(git rev-parse c2)" = "$(git rev-parse HEAD^2)" &&
> -       test "$(git rev-parse c3)" = "$(git rev-parse HEAD^3)" &&
> +       test_cmp_rev c1 HEAD^1 &&
> +       test_cmp_rev c2 HEAD^2 &&
> +       test_cmp_rev c3 HEAD^3 &&
This drops the check:
    ! test_cmp_rev c1 HEAD &&

Is that intentional? I suppose the argument is that if c1 == HEAD^1 passes, then c1 is certainly not == HEAD?

Show 14 quoted lines
> diff --git a/t/t7603-merge-reduce-heads.sh b/t/t7603-merge-reduce-heads.sh
> @@ -46,11 +46,10 @@ test_expect_success 'setup' '
>  test_expect_success 'merge c1 with c2, c3, c4, c5' '
>         git reset --hard c1 &&
>         git merge c2 c3 c4 c5 &&
> -       test "$(git rev-parse c1)" != "$(git rev-parse HEAD)" &&
> -       test "$(git rev-parse c1)" = "$(git rev-parse HEAD^1)" &&
> -       test "$(git rev-parse c2)" = "$(git rev-parse HEAD^2)" &&
> -       test "$(git rev-parse c3)" = "$(git rev-parse HEAD^3)" &&
> -       test "$(git rev-parse c5)" = "$(git rev-parse HEAD^4)" &&
> +       test_cmp_rev c1 HEAD^1 &&
> +       test_cmp_rev c2 HEAD^2 &&
> +       test_cmp_rev c3 HEAD^3 &&
> +       test_cmp_rev c5 HEAD^4 &&
Ditto.
Show 13 quoted lines
> @@ -69,11 +68,10 @@ test_expect_success 'merge c1 with c2, c3, c4, c5' '
>  test_expect_success 'pull c2, c3, c4, c5 into c1' '
>         git reset --hard c1 &&
>         git pull . c2 c3 c4 c5 &&
> -       test "$(git rev-parse c1)" != "$(git rev-parse HEAD)" &&
> -       test "$(git rev-parse c1)" = "$(git rev-parse HEAD^1)" &&
> -       test "$(git rev-parse c2)" = "$(git rev-parse HEAD^2)" &&
> -       test "$(git rev-parse c3)" = "$(git rev-parse HEAD^3)" &&
> -       test "$(git rev-parse c5)" = "$(git rev-parse HEAD^4)" &&
> +       test_cmp_rev c1 HEAD^1 &&
> +       test_cmp_rev c2 HEAD^2 &&
> +       test_cmp_rev c3 HEAD^3 &&
> +       test_cmp_rev c5 HEAD^4 &&
Ditto.
Show 10 quoted lines
> diff --git a/t/t7605-merge-resolve.sh b/t/t7605-merge-resolve.sh
> @@ -30,9 +30,8 @@ test_expect_success 'setup' '
>  test_expect_success 'merge c1 to c2' '
>         git reset --hard c1 &&
>         git merge -s resolve c2 &&
> -       test "$(git rev-parse c1)" != "$(git rev-parse HEAD)" &&
> -       test "$(git rev-parse c1)" = "$(git rev-parse HEAD^1)" &&
> -       test "$(git rev-parse c2)" = "$(git rev-parse HEAD^2)" &&
> +       test_cmp_rev c1 HEAD^1 &&
> +       test_cmp_rev c2 HEAD^2 &&
Ditto.
Previous: Stephan BeyerNext: Junio C Hamano
Message 10 of 56 in “git bisect improvements”
  1. 00/21 git bisect improvementsStephan Beyer, Apr 10, 2016
  2. 01/21 bisect: write about `bisect next` in documentationStephan Beyer, Apr 10, 2016
  3. 02/21 bisect: allow 'bisect run' if no good commit is knownStephan Beyer, Apr 10, 2016
  4. 03/21 t/test-lib-functions.sh: generalize test_cmp_revStephan Beyer, Apr 10, 2016
  5. Eric SunshineApr 11, 2016
  6. Junio C HamanoApr 15, 2016
  7. Stephan BeyerApr 24, 2016
  8. Junio C HamanoApr 25, 2016
  9. 04/21 t: use test_cmp_rev() where appropriateStephan Beyer, Apr 10, 2016
  10. Eric SunshineApr 11, 2016
  11. Junio C HamanoApr 15, 2016
  12. 05/21 t6030: generalize test to not rely on current implementationStephan Beyer, Apr 10, 2016
  13. Torsten BögershausenApr 10, 2016
  14. Junio C HamanoApr 10, 2016
  15. Stephan BeyerApr 10, 2016
  16. Eric SunshineApr 11, 2016
  17. Junio C HamanoApr 15, 2016
  18. 06/21 bisect: add test for the bisect algorithmStephan Beyer, Apr 10, 2016
  19. Junio C HamanoApr 15, 2016
  20. 07/21 bisect: plug the biggest memory leakStephan Beyer, Apr 10, 2016
  21. Junio C HamanoApr 15, 2016
  22. 08/21 bisect: make bisect compile if DEBUG_BISECT is setStephan Beyer, Apr 10, 2016
  23. Junio C HamanoApr 15, 2016
  24. 09/21 bisect: make algorithm behavior independent of DEBUG_BISECTStephan Beyer, Apr 10, 2016
  25. Junio C HamanoApr 15, 2016
  26. 10/21 bisect: get rid of recursion in count_distance()Stephan Beyer, Apr 10, 2016
  27. Junio C HamanoApr 15, 2016
  28. 11/21 bisect: use struct node_data array instead of int arrayStephan Beyer, Apr 10, 2016
  29. Christian CouderApr 12, 2016
  30. Junio C HamanoApr 15, 2016
  31. 12/21 bisect: replace clear_distance() by unique markersStephan Beyer, Apr 10, 2016
  32. Christian CouderApr 12, 2016
  33. Junio C HamanoApr 15, 2016
  34. 13/21 bisect: use commit instead of commit list as arguments when appropriateStephan Beyer, Apr 10, 2016
  35. Junio C HamanoApr 15, 2016
  36. 14/21 bisect: extract get_distance() function from code duplicationStephan Beyer, Apr 10, 2016
  37. Junio C HamanoApr 15, 2016
  38. 15/21 bisect: introduce distance_direction()Stephan Beyer, Apr 10, 2016
  39. Junio C HamanoApr 15, 2016
  40. 16/21 bisect: make total number of commits globalStephan Beyer, Apr 10, 2016
  41. Christian CouderApr 13, 2016
  42. Junio C HamanoApr 15, 2016
  43. Junio C HamanoApr 16, 2016
  44. 17/21 bisect: rename count_distance() to compute_weight()Stephan Beyer, Apr 10, 2016
  45. Christian CouderApr 13, 2016
  46. Junio C HamanoApr 15, 2016
  47. 18/21 bisect: prepare for different algorithms based on find_allStephan Beyer, Apr 10, 2016
  48. Junio C HamanoApr 15, 2016
  49. 19/21 bisect: use a bottom-up traversal to find relevant weightsStephan Beyer, Apr 10, 2016
  50. Christian CouderApr 13, 2016
  51. Junio C HamanoApr 15, 2016
  52. Junio C HamanoApr 15, 2016
  53. Junio C HamanoApr 26, 2016
  54. 20/21 bisect: compute best bisection in compute_relevant_weights()Stephan Beyer, Apr 10, 2016
  55. 21/21 bisect: get back halfway shortcutStephan Beyer, Apr 10, 2016
  56. Junio C HamanoApr 15, 2016

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.