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

Re: chainlint test failing on Linux sparc64

From: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Date: 2024-05-20 09:56:28

Hi Eric,

On Mon, 2024-05-20 at 05:36 -0400, Eric Sunshine wrote:
That's the point at which chainlint.sed was replaced with
chainlint.pl. It also leads to the same supposition expressed earlier
that the "actual" file seems to be empty for some reason, perhaps
because one of the commands which creates it is failing somehow. At
that point in time, the creation command for "actual" in t/Makefile
was:

    $(CHAINLINT) --emit-all '$(CHAINLINTTMP_SQ)'/tests | \
        grep -v '^[ ]*$$' >'$(CHAINLINTTMP_SQ)'/actual && \

which uses `grep` rather than the `sed` used in the present-day
t/Makefile. This may imply that Perl is somehow suspect or that
PERL_PATH or PERL_PATH_SQ in t/Makefile are incorrectly set, or that
t/chainlint.pl itself is not generating any output for some reason.

After running:

    cd t
    make check-chainlint

what is the output of:

    ls -l chainlinttmp
(sid_sparc64-dchroot)glaubitz@stadler:~/git/t$ ls -l chainlinttmp
total 32
-rw-r--r-- 1 glaubitz glaubitz     0 May 20 09:54 actual
-rw-r--r-- 1 glaubitz glaubitz 14797 May 20 09:54 expect
-rw-r--r-- 1 glaubitz glaubitz 15086 May 20 09:54 tests
(sid_sparc64-dchroot)glaubitz@stadler:~/git/t$
For me the output using the latest "master" branch is:

    % ls -l chainlinttmp
    -rw-------  1 me  me  14797 May 20 05:26 actual
    -rw-------  1 me  me  14797 May 20 05:26 expect
    -rw-------  1 me  me  15086 May 20 05:26 tests

My suspicion is that "actual" will have size 0 for you. If that's the
case, I'd suggest running the commands from the "check-chainlint"
target in t/Makefile manually one at a time to see if you can figure
out which is failing. For instance:

    % ./chainlint.pl --emit-all chainlinttmp/tests
It does not generate any output for me:

(sid_sparc64-dchroot)glaubitz@stadler:~/git/t$ ./chainlint.pl --emit-all chainlinttmp/tests
(sid_sparc64-dchroot)glaubitz@stadler:~/git/t$
If that produces output, then that's a good sign. Try capturing that
output and feeding it to the `sed` command:

    % ./chainlint.pl --emit-all chainlinttmp/tests >lint.out
    % sed -e 's/^[1-9][0-9]* //' lint.out

If that produces output, then something else is going wrong (such as
PERL_PATH or PERL_PATH_SQ being incorrect).
Adrian

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer
`. `'   Physicist
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help