Re: chainlint test failing on Linux sparc64
From: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Date: 2024-05-20 08:24:44
Hi Eric, On Mon, 2024-05-20 at 04:21 -0400, Eric Sunshine wrote:
The thing failing here is chainlint's own self-test, which you don't
actually need if you're merely building Git. You'd only care about
chainlint (let alone its self-test) if you're modifying tests or
creating new ones. You can bypass chainlint altogether by setting
environment variable GIT_TEST_CHAIN_LINT=0.
That said, chainlint is just a Perl script, and you can manually run
the self-test like this:
cd t
make check-chainlint
The output you posted is coming from this line in t/Makefile:
diff -u '$(CHAINLINTTMP_SQ)'/expect '$(CHAINLINTTMP_SQ)'/actual
Based upon what you pasted, it looks like the "actual" file has no
content. That might suggest a problem with this line which immediately
precedes it:
$(CHAINLINT) --emit-all '$(CHAINLINTTMP_SQ)'/tests | \
sed -e 's/^[1-9][0-9]* //' >'$(CHAINLINTTMP_SQ)'/actual && \
"actual" might end up empty if the Perl script isn't emitting anything
for some reason, or if `sed` isn't emitting anything. Presumably you
have a working `sed` installed(?), but do you have Perl installed?Thanks a lot for the elaborate answer! I think the problem seems to be that the testsuite is not properly invoked at all. When I run the testsuite with v2.37.7, all tests are run and pass, but starting with v2.38.0, it only runs the chainlint test and exists. I am trying to bisect this now. Adrian -- .''`. John Paul Adrian Glaubitz : :' : Debian Developer `. `' Physicist `- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913