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

Re: [PATCH] tests: mark two failing tests under FAIL_PREREQS

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
Jun 21, 2019, 18:26 UTC
Message-ID
<87a7ea94m9.fsf@evledraar.gmail.com>
In-Reply-To
<nycvar.QRO.7.76.6.1906212000580.44@tvgsbejvaqbjf.bet>
On Fri, Jun 21 2019, Johannes Schindelin wrote:
Show 24 quoted lines
> Hi Ævar,
>
> On Thu, 20 Jun 2019, Ævar Arnfjörð Bjarmason wrote:
>
>> Fix a couple of tests that would potentially fail under
>> GIT_TEST_FAIL_PREREQS=true.
>>
>> I missed these when annotating other tests in dfe1a17df9 ("tests: add
>> a special setup where prerequisites fail", 2019-05-13) because on my
>> system I can only reproduce this failure when I run the tests as
>> "root", since the tests happen to depend on whether we can fall back
>> on GECOS info or not. I.e. they'd usually fail to look up the ident
>> info anyway, but not always.
>
> I had to read the commit message (in particular the oneline) a couple of
> times, and I have to admit that I wish it was a bit clearer...
>
> From the explanation, I would have assumed that those two test cases fail
> often, anyway, so they shouldn't care whether `FAIL_PREREQS` is in effect.
>
> The only reason why they should be exempt from the `FAIL_PREREQS` mode
> that I can think of is that later test cases would depend on them, but how
> can they? Those test cases would also have to have the `AUTOIDENT` prereq,
> and they would be skipped under `FAIL_PREREQS`, too, no?

The test doesn't depend on "AUTOIDENT", but "!AUTOIDENT", i.e. the negated version. The effect of the FAIL_PREREQS mode is to set all prereqs to false, and therefore "test_have_prereq AUTOIDENT" is false, but "test_have_prereq !AUTOIDENT" is true.

So this test that would otherwise get skipped gets run.

I honestly didn't think much about these cases when I wrote dfe1a17df9 ("tests: add a special setup where prerequisites fail", 2019-05-13), and now I'm not quite sure whether it should be considered a bug or a feature, but in the meantime this un-breaks the test suite under this mode.

Show 44 quoted lines
> In other words, I struggle to understand why this patch is necessary.
>
> Could you help me understand?
>
> Ciao,
> Dscho
>
>>
>> Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
>> ---
>>  t/t0007-git-var.sh          | 2 +-
>>  t/t7502-commit-porcelain.sh | 2 +-
>>  2 files changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/t/t0007-git-var.sh b/t/t0007-git-var.sh
>> index 5868a87352..1f600e2cae 100755
>> --- a/t/t0007-git-var.sh
>> +++ b/t/t0007-git-var.sh
>> @@ -17,7 +17,7 @@ test_expect_success 'get GIT_COMMITTER_IDENT' '
>>  	test_cmp expect actual
>>  '
>>
>> -test_expect_success !AUTOIDENT 'requested identites are strict' '
>> +test_expect_success !FAIL_PREREQS,!AUTOIDENT 'requested identites are strict' '
>>  	(
>>  		sane_unset GIT_COMMITTER_NAME &&
>>  		sane_unset GIT_COMMITTER_EMAIL &&
>> diff --git a/t/t7502-commit-porcelain.sh b/t/t7502-commit-porcelain.sh
>> index 5733d9cd34..14c92e4c25 100755
>> --- a/t/t7502-commit-porcelain.sh
>> +++ b/t/t7502-commit-porcelain.sh
>> @@ -402,7 +402,7 @@ echo editor started >"$(pwd)/.git/result"
>>  exit 0
>>  EOF
>>
>> -test_expect_success !AUTOIDENT 'do not fire editor when committer is bogus' '
>> +test_expect_success !FAIL_PREREQS,!AUTOIDENT 'do not fire editor when committer is bogus' '
>>  	>.git/result &&
>>
>>  	echo >>negative &&
>> --
>> 2.22.0.455.g172b71a6c5
>>
>>
Previous: Johannes SchindelinNext: Junio C Hamano
Message 26 of 27 in “What's cooking in git.git (May 2019, #01; Thu, 9)”
  1. Junio C HamanoMay 8, 2019
  2. Denton LiuMay 8, 2019
  3. Elijah NewrenMay 8, 2019
  4. Phillip WoodMay 9, 2019
  5. Johannes SchindelinMay 10, 2019
  6. Phillip WoodMay 13, 2019
  7. Duy NguyenMay 9, 2019
  8. en/fast-export-encoding, was Re: What's cooking in git.git (May 2019, #01; Thu, 9)Johannes Schindelin, May 9, 2019
  9. Elijah NewrenMay 10, 2019
  10. Johannes SixtMay 10, 2019
  11. Johannes SchindelinMay 10, 2019
  12. nd/merge-quit, was Re: What's cooking in git.git (May 2019, #01; Thu, 9)Johannes Schindelin, May 9, 2019
  13. Duy NguyenMay 10, 2019
  14. Johannes SchindelinMay 13, 2019
  15. Johannes SchindelinMay 13, 2019
  16. Eric SunshineMay 13, 2019
  17. Johannes SchindelinMay 13, 2019
  18. tests: add a special setup where prerequisites failÆvar Arnfjörð Bjarmason, May 13, 2019
  19. Johannes SchindelinMay 14, 2019
  20. Ævar Arnfjörð BjarmasonMay 14, 2019
  21. Johannes SchindelinMay 14, 2019
  22. Ævar Arnfjörð BjarmasonMay 14, 2019
  23. Johannes SchindelinMay 14, 2019
  24. tests: mark two failing tests under FAIL_PREREQSÆvar Arnfjörð Bjarmason, Jun 20, 2019
  25. Johannes SchindelinJun 21, 2019
  26. Ævar Arnfjörð BjarmasonJun 21, 2019
  27. Junio C HamanoJun 21, 2019

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.