Thread (9 messages) 9 messages, 2 authors, 2024-05-20

Re: chainlint test failing on Linux sparc64

From: Eric Sunshine <hidden>
Date: 2024-05-20 08:21:13

On Mon, May 20, 2024 at 3:56 AM John Paul Adrian Glaubitz
[off-list ref] wrote:
quoted hunk ↗ jump to hunk
the chainlint test is failing on sparc64 (see below) and I'm wondering if anyone
can tell me how to run tests manually. I suspect there might be an unaligned access
which causes a crash on sparc64 only.

rm -f -r 'test-results'
--- chainlinttmp/expect 2024-05-19 12:26:50.051507198 +0000
+++ chainlinttmp/actual 2024-05-19 12:26:50.051507198 +0000
@@ -1,955 +0,0 @@
-# chainlint: chainlinttmp/tests
-# chainlint: arithmetic-expansion
-(
-       foo &&
-       bar=$((42 + 1)) &&
-       baz
-) &&
[...snip...]
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?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help