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

Re: [PATCH 7/9] t9902: fix completion tests for log.d* to match log.diffMerges

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
Apr 8, 2021, 19:50 UTC
Message-ID
<87sg40imit.fsf@evledraar.gmail.com>
In-Reply-To
<875z0wdekf.fsf@osv.gnss.ru>
On Thu, Apr 08 2021, Sergey Organov wrote:
Show 52 quoted lines
> Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:
>
>> On Thu, Apr 08 2021, Sergey Organov wrote:
>>
>>> There were 3 completion tests failures due to introduction of
>>> log.diffMerges configuration variable that affected the result of
>>> completion of log.d. Fixed them accordingly.
>>>
>>> Signed-off-by: Sergey Organov <sorganov@gmail.com>
>>> ---
>>>  t/t9902-completion.sh | 3 +++
>>>  1 file changed, 3 insertions(+)
>>>
>>> diff --git a/t/t9902-completion.sh b/t/t9902-completion.sh
>>> index 04ce884ef5ac..4d732d6d4f81 100755
>>> --- a/t/t9902-completion.sh
>>> +++ b/t/t9902-completion.sh
>>> @@ -2306,6 +2306,7 @@ test_expect_success 'git config - variable name' '
>>>  	test_completion "git config log.d" <<-\EOF
>>>  	log.date Z
>>>  	log.decorate Z
>>> +	log.diffMerges Z
>>>  	EOF
>>>  '
>>>  
>>> @@ -2327,6 +2328,7 @@ test_expect_success 'git -c - variable name' '
>>>  	test_completion "git -c log.d" <<-\EOF
>>>  	log.date=Z
>>>  	log.decorate=Z
>>> +	log.diffMerges=Z
>>>  	EOF
>>>  '
>>>  
>>> @@ -2348,6 +2350,7 @@ test_expect_success 'git clone --config= - variable name' '
>>>  	test_completion "git clone --config=log.d" <<-\EOF
>>>  	log.date=Z
>>>  	log.decorate=Z
>>> +	log.diffMerges=Z
>>>  	EOF
>>>  '
>>
>> Commits should be made in such a way as to not break the build/tests
>> partway through a series, which it seems is happening until this
>> fixup.
>
> Yep.
>
> Could these tests be somehow written in a more robust manner, to be
> protected against future additions of configuration variables that are
> unrelated to the features being tested? If so, I'd prefer to fix them as
> a prerequisite to the series rather than adding fixes to unrelated 
> existing tests into my patches.

Hrm? I mean if you have a commit fixing up failing tests in an earlier commit then that change should in one way or the other be made as part of that earlier change.

Yes we can skip the tests or something in the meantime, which we do sometimes as part of some really large changes, but these can just be squashed, no?

Show 10 quoted lines
>> Having read this far most of what you have in this 9 patch series
>> could/should be squashed into something much smaller, e.g. tests being
>> added for code added in previous steps, let's add the tests along with
>> the code since this isn't such a large change.
>
> In general, I try to make commits as small as possible, but if you
> prefer tests to be included with the code in the same commit, – that's
> fine with me too.
>
> Will meld new tests into code commits for the next re-roll.

I'm probably the last person to give advice on this list about not overly splitting up ones commits :)

Having said that, some sage advice:

It's really helpful to split commits into discrete understandable pieces when it aids in reviewing/understanding the code.

But something like say your 8/9 is IMNSHO a step to far, you're just adding a feature earlier and then docs for it later. That doesn't help to review or understand the change, now you just need to look in two places for what's one logical change.

Ditto for e.g. the 5/9 here. That's just a test for a feature added earlier. So let's add it to the commit where we add that feature.

There *are* cases where it helps to split up these changes, but they're things like adding tests for existing behavior before changing something, as an aid to demonstrate what the behavior was before & after.

In those cases it's a lot better to split the commits, because nobody wants to waste time discerning what's a test for existing v.s. new behavior.

Previous: Sergey OrganovNext: Sergey Organov
Message 22 of 47 in “git log: configurable default format for merge diffs”
  1. 0/9 git log: configurable default format for merge diffsSergey Organov, Apr 7, 2021
  2. 1/9 diff-merges: introduce --diff-merges=defSergey Organov, Apr 7, 2021
  3. Philip OakleyApr 8, 2021
  4. Sergey OrganovApr 8, 2021
  5. Junio C HamanoApr 8, 2021
  6. Sergey OrganovApr 8, 2021
  7. 2/9 diff-merges: refactor set_diff_merges()Sergey Organov, Apr 7, 2021
  8. 3/9 diff-merges: introduce log.diffMerges config variableSergey Organov, Apr 7, 2021
  9. SZEDER GáborApr 8, 2021
  10. SZEDER GáborApr 8, 2021
  11. Junio C HamanoApr 8, 2021
  12. Sergey OrganovApr 8, 2021
  13. 4/9 diff-merges: adapt -m to enable default diff formatSergey Organov, Apr 7, 2021
  14. 5/9 t4013: add test for --diff-merges=defSergey Organov, Apr 7, 2021
  15. 6/9 t4013: add tests for log.diffMerges configSergey Organov, Apr 7, 2021
  16. Ævar Arnfjörð BjarmasonApr 7, 2021
  17. Junio C HamanoApr 7, 2021
  18. Sergey OrganovApr 8, 2021
  19. 7/9 t9902: fix completion tests for log.d* to match log.diffMergesSergey Organov, Apr 7, 2021
  20. Ævar Arnfjörð BjarmasonApr 7, 2021
  21. Sergey OrganovApr 8, 2021
  22. Ævar Arnfjörð BjarmasonApr 8, 2021
  23. Sergey OrganovApr 8, 2021
  24. SZEDER GáborApr 8, 2021
  25. Sergey OrganovApr 8, 2021
  26. 8/9 doc/diff-options: document new --diff-merges featuresSergey Organov, Apr 7, 2021
  27. 9/9 doc/config: document log.diffMergesSergey Organov, Apr 7, 2021
  28. 0/5 git log: configurable default format for merge diffsSergey Organov, Apr 10, 2021
  29. 1/5 diff-merges: introduce --diff-merges=defaultSergey Organov, Apr 10, 2021
  30. 2/5 diff-merges: refactor set_diff_merges()Sergey Organov, Apr 10, 2021
  31. 3/5 diff-merges: adapt -m to enable default diff formatSergey Organov, Apr 10, 2021
  32. 4/5 diff-merges: introduce log.diffMerges config variableSergey Organov, Apr 10, 2021
  33. 5/5 doc/diff-options: document new --diff-merges featuresSergey Organov, Apr 10, 2021
  34. Junio C HamanoApr 11, 2021
  35. Sergey OrganovApr 11, 2021
  36. Junio C HamanoApr 11, 2021
  37. Sergey OrganovApr 11, 2021
  38. Sergey OrganovApr 11, 2021
  39. 0/5 git log: configurable default format for merge diffsSergey Organov, Apr 13, 2021
  40. 1/5 diff-merges: introduce --diff-merges=onSergey Organov, Apr 13, 2021
  41. Junio C HamanoApr 13, 2021
  42. 2/5 diff-merges: refactor set_diff_merges()Sergey Organov, Apr 13, 2021
  43. 3/5 diff-merges: adapt -m to enable default diff formatSergey Organov, Apr 13, 2021
  44. 4/5 diff-merges: introduce log.diffMerges config variableSergey Organov, Apr 13, 2021
  45. Junio C HamanoApr 15, 2021
  46. Sergey OrganovApr 16, 2021
  47. 5/5 doc/diff-options: document new --diff-merges featuresSergey Organov, Apr 13, 2021

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.