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

Re: [PATCH 1/1] commit-graph: define GIT_TEST_COMMIT_GRAPH

From
Derrick Stolee <stolee@gmail.com>
Date
Oct 8, 2018, 14:45 UTC
Message-ID
<a2299be9-0840-da69-ebeb-f64ebe66db5a@gmail.com>
In-Reply-To
<87bm84a70p.fsf@evledraar.gmail.com>
On 10/8/2018 9:43 AM, Ævar Arnfjörð Bjarmason wrote:
Show 44 quoted lines
> On Tue, Aug 28 2018, Derrick Stolee via GitGitGadget wrote:
>
>> From: Derrick Stolee <dstolee@microsoft.com>
>>
>> The commit-graph feature is tested in isolation by
>> t5318-commit-graph.sh and t6600-test-reach.sh, but there are many
>> more interesting scenarios involving commit walks. Many of these
>> scenarios are covered by the existing test suite, but we need to
>> maintain coverage when the optional commit-graph structure is not
>> present.
>>
>> To allow running the full test suite with the commit-graph present,
>> add a new test environment variable, GIT_TEST_COMMIT_GRAPH. Similar
>> to GIT_TEST_SPLIT_INDEX, this variable makes every Git command try
>> to load the commit-graph when parsing commits, and writes the
>> commit-graph file after every 'git commit' command.
>>
>> There are a few tests that rely on commits not existing in
>> pack-files to trigger important events, so manually set
>> GIT_TEST_COMMIT_GRAPH to false for the necessary commands.
>>
>> There is one test in t6024-recursive-merge.sh that relies on the
>> merge-base algorithm picking one of two ambiguous merge-bases, and
>> the commit-graph feature changes which merge-base is picked.
>>
> The test feature itself seems fine, but this consistently fails ever
> since it got introduced (a reset --hard on the commit merged to msater
> in git.git):
>
>      GIT_TEST_COMMIT_GRAPH=true prove -j$(parallel --number-of-cores) t5500-fetch-pack.sh t6001-rev-list-graft.sh t6050-replace.sh
>      Test Summary Report
>      -------------------
>      t6001-rev-list-graft.sh (Wstat: 256 Tests: 14 Failed: 6)
>        Failed tests:  3, 5, 7, 9, 11, 13
>        Non-zero exit status: 1
>      t6050-replace.sh       (Wstat: 256 Tests: 35 Failed: 9)
>        Failed tests:  12-16, 24-25, 30, 35
>        Non-zero exit status: 1
>      t5500-fetch-pack.sh    (Wstat: 256 Tests: 357 Failed: 1)
>        Failed test:  351
>        Non-zero exit status: 1
>
> This is on Linux/Debian 4.17.0-1-amd64. Can you reproduce this? If not I
> can provide more info (-x output etc..).

I see these failures, too, but I believe they are due to ds/commit-graph-with-grafts not being merged to 'next' yet. The purpose of that branch is to fix these test breaks. The environment variable got merged a lot faster.

I just built & tested the 'jch' branch at 515d82d9 with GIT_TEST_COMMIT_GRAPH=1 and they all passed.

Thanks, -Stolee

Previous: Ævar Arnfjörð BjarmasonNext: Ævar Arnfjörð Bjarmason
Message 8 of 18 in “Define GIT_TEST_COMMIT_GRAPH for commit-graph test coverage”
  1. 0/1 Define GIT_TEST_COMMIT_GRAPH for commit-graph test coverageDerrick Stolee via GitGitGadget, Aug 28, 2018
  2. 1/1 commit-graph: define GIT_TEST_COMMIT_GRAPHDerrick Stolee via GitGitGadget, Aug 28, 2018
  3. Stefan BellerAug 28, 2018
  4. Derrick StoleeAug 28, 2018
  5. Eric SunshineAug 28, 2018
  6. Derrick StoleeAug 29, 2018
  7. Ævar Arnfjörð BjarmasonOct 8, 2018
  8. Derrick StoleeOct 8, 2018
  9. Ævar Arnfjörð BjarmasonOct 8, 2018
  10. Derrick StoleeOct 8, 2018
  11. Junio C HamanoOct 9, 2018
  12. Stefan BellerAug 28, 2018
  13. Derrick StoleeAug 28, 2018
  14. 0/1 Define GIT_TEST_COMMIT_GRAPH for commit-graph test coverageDerrick Stolee via GitGitGadget, Aug 29, 2018
  15. 1/1 commit-graph: define GIT_TEST_COMMIT_GRAPHDerrick Stolee via GitGitGadget, Aug 29, 2018
  16. Duy NguyenSep 4, 2018
  17. Derrick StoleeSep 4, 2018
  18. Duy NguyenSep 4, 2018

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.