Re: Testsuite failure on s390x and sparc64 after 6840fe9ee2
- From
Todd Zullinger <tmz@pobox.com>
- Date
- Mar 28, 2025, 14:08 UTC
- Message-ID
- <Z-atRMGXHilZRTEL@teonanacatl.net>
- In-Reply-To
- <4276c8d0b72f11f325482756d3bc251327d0ac47.camel@physik.fu-berlin.de>
John Paul Adrian Glaubitz wrote:
Show 59 quoted lines
> Hi Patrick,
>
> On Fri, 2025-03-28 at 10:29 +0100, Patrick Steinhardt wrote:
>>> I reported this during the rc period. I didn't hear back on
>>> it, but hopefully your message will arrive at a more
>>> convenient time. :)
>>>
>>> https://lore.kernel.org/git/Z8HW6petWuMRWSXf@teonanacatl.net/
>>
>> Copy-pasting the test logs from that mail:
>>
>> expecting success of 5620.4 'do partial clone 2, backfill min batch size':
>> git clone --no-checkout --filter=blob:none \
>> --single-branch --branch=main \
>> "file://$(pwd)/srv.bare" backfill2 &&
>> GIT_TRACE2_EVENT="$(pwd)/batch-trace" git \
>> -C backfill2 backfill --min-batch-size=20 &&
>> # Batches were used
>> test_trace2_data promisor fetch_count 20 <batch-trace >matches &&
>> test_line_count = 2 matches &&
>> test_trace2_data promisor fetch_count 8 <batch-trace &&
>> # No more missing objects!
>> git -C backfill2 rev-list --quiet --objects --missing=print HEAD >revs2 &&
>> test_line_count = 0 revs2
>> +++ pwd
>> ++ git clone --no-checkout --filter=blob:none --single-branch --branch=main 'file:///tmp/git-t.sYdo/trash directory.t5620-backfill/srv.bare' backfill2
>> Cloning into 'backfill2'...
>> +++ pwd
>> ++ GIT_TRACE2_EVENT='/tmp/git-t.sYdo/trash directory.t5620-backfill/batch-trace'
>> ++ git -C backfill2 backfill --min-batch-size=20
>> ++ test_trace2_data promisor fetch_count 20
>> ++ grep -e '"category":"promisor","key":"fetch_count","value":"20"'
>> error: last command exited with $?=1
>> not ok 4 - do partial clone 2, backfill min batch size
>>
>> It would be nice to learn what the file contains instead of the expected
>> string, which might give us a bit more of a hint what's wrong. You can
>> for example apply the following patch:
>>
>> diff --git a/t/test-lib-functions.sh b/t/test-lib-functions.sh
>> index 79377bc0fc2..197494cd28c 100644
>> --- a/t/test-lib-functions.sh
>> +++ b/t/test-lib-functions.sh
>> @@ -1975,7 +1975,7 @@ test_region () {
>> # GIT_TRACE2_EVENT="$(pwd)/trace.txt" git pack-objects ... &&
>> # test_trace2_data pack-objects reused N <trace2.txt
>> test_trace2_data () {
>> - grep -e '"category":"'"$1"'","key":"'"$2"'","value":"'"$3"'"'
>> + test_grep -e '"category":"'"$1"'","key":"'"$2"'","value":"'"$3"'"'
>> }
>>
>> # Given a GIT_TRACE2_EVENT log over stdin, writes to stdout a list of URLs
>>
>> If you then re-run the test with `-ix` we should end up printing the
>> contents of that non-matching file.
>
> Could you please post the complete command line? I have no clue where to pass "-ix".
>
> I was previously running the tests with "make test".You'd do something like:
cd t && ./t5620-backfill.sh -ix
Though the patch to change grep to test_grep is incomplete, I believe. Using that, you get an error:
error: bug in the test script: test_grep requires a file
to read as the last parameterI don't have a lot of time to poke at this today, but I'll make another test run on an s390x build host without that patch, but where I can save the output and post it somewhere.
For the Fedora packaging, it will be something like this:
make -C t all || {
(cd t && ./t5620-backfill.sh -ix);
./print-failed-test-output;
}Where print-failed-test-output is a script¹ which snarfs up the output files in t/test-results and the test directory, since there is not direct shell access to the build host(s).
¹ https://src.fedoraproject.org/rpms/git/raw/0af3adf/f/print-failed-test-output
-- Todd