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