On 10/8/2018 9:43 AM, Ævar Arnfjörð Bjarmason wrote:
On Tue, Aug 28 2018, Derrick Stolee via GitGitGadget wrote:
From: Derrick Stolee <dsto...@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