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

Re: Git Test Coverage Report (Thursday, May 30th)

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
May 31, 2019, 18:59 UTC
Message-ID
<nycvar.QRO.7.76.6.1905312050330.1775@tvgsbejvaqbjf.bet>
In-Reply-To
<0d7dbfe6-53df-1df8-ac94-4dfab85bbc9f@gmail.com>
Hi Stolee,
On Fri, 31 May 2019, Derrick Stolee wrote:
Show 31 quoted lines
> On 5/30/2019 2:24 PM, Derrick Stolee wrote:
> > Further, these tests failed
> >
> > t3400-rebase.sh                           (Wstat: 256 Tests: 28 Failed: 2)
> >   Failed tests:  20, 28
> >   Non-zero exit status: 1
> > t3420-rebase-autostash.sh                 (Wstat: 256 Tests: 38 Failed: 6)
> >   Failed tests:  6, 13, 16, 23, 26, 33
> >   Non-zero exit status: 1
> > t3404-rebase-interactive.sh               (Wstat: 256 Tests: 110 Failed: 5)
> >   Failed tests:  3, 9-10, 100-101
> >   Non-zero exit status: 1
> > t5521-pull-options.sh                     (Wstat: 256 Tests: 19 Failed: 1)
> >   Failed test:  3
> >   Non-zero exit status: 1
> > t5551-http-fetch-smart.sh                 (Wstat: 256 Tests: 37 Failed: 1)
> >   Failed test:  26
> >   Non-zero exit status: 1
> >
> > They don't fail locally, so perhaps we shouldn't blindly trust the coverage data
> > until I work out why these errors occurred. (Many of the cases I called out
> > above I couldn't hit locally with a die() statement.)
>
> These tests all failed during the second run that set optional GIT_TEST
> environment variables. Specifically, GIT_TEST_REBASE_USE_BUILTIN=false
> caused these tests to break. We now output this message:
>
> 	warning: the rebase.useBuiltin support has been removed!
> 	See its entry in 'git help config' for details.
>
> I'm removing that variable from the build definition.

Would it make sense to have a file in t/ (or a script-let in ci/) specifying all of the `GIT_TEST_*` variables that are currently supported (and that actually make sense to be set)?

I saw a similar issue recently in a now-defunct Azure Pipeline that also tried to replicate what half of the `linux-gcc` job [*1*] does: to run the test suite with those variables overriding the defaults. That Pipeline broke for the exact same reason you mentioned: we now handle `GIT_TEST_REBASE_USE_BUILTIN` by showing that warning.

And issues like this could easily be avoided if we had, say, `ci/non-standard-settings.sh` that simply set all those `GIT_TEST_*` variables in the way that the `linux-gcc` job does (and of course, this job should then source that file instead of duplicating those assignments).

What do you think? Dscho

Footnote *1*: It is a thorn in my side ever since I started work on our Azure Pipeline support that the `linux-gcc` job actually runs *two* jobs: it runs the vanilla test suite, and then it runs it again after setting all supported `GIT_TEST_*` variables to the non-default settings. This almost doubles the running time of that job, often making it the very last job to finish, and it also makes it unclear whether a test failure stems from said `GIT_TEST_*` settings or not.

I got so annoyed by this, in fact, that I finally broke down and opened https://github.com/gitgitgadget/git/issues/242.

Previous: Derrick StoleeNext: Michael Platings
Message 4 of 11 in “Git Test Coverage Report (Thursday, May 30th)”
  1. Derrick StoleeMay 30, 2019
  2. Derrick StoleeMay 30, 2019
  3. Derrick StoleeMay 31, 2019
  4. Johannes SchindelinMay 31, 2019
  5. Michael PlatingsJun 1, 2019
  6. Barret RhodenJun 3, 2019
  7. Derrick StoleeJun 3, 2019
  8. Barret RhodenJun 4, 2019
  9. Barret RhodenJun 4, 2019
  10. Derrick StoleeJun 5, 2019
  11. Barret RhodenJun 10, 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.