[gnutls-devel] How to get more verbosity from 'make check'

Tim Rühsen tim.ruehsen at gmx.de
Sun Oct 22 12:23:26 CEST 2017


On Sonntag, 22. Oktober 2017 01:57:26 CEST Jeffrey Walton wrote:
> Hi Everyone,
> 
> I'm working through some failed self tests for GnuTLS 3.5.15. The
> project was configured with Autotools:
> 
>    --prefix=/usr/local
>    --libdir=/usr/local/lib64
> 
> The Autotools configuration also includes
> 
>    CPPFLAGS="-I/usr/local/include -DNDEBUG"
>    ...
>    LDFLAGS="-Wl,-rpath,/usr/local/lib64 -L/usr/local/lib64"
> 
> When I examine the output artifacts, I see gnutls-cli is using the
> expected libraries:
> 
>    $ LD_LIBRARY_PATH="lib/.libs" ldd src/.libs/gnutls-cli
>    linux-vdso.so.1 (0x00007ffdcdf51000)
>    libgnutls.so.30 => lib/.libs/libgnutls.so.30 (0x00007fc618237000)
>    libgnutls-dane.so.0 => not found
>    libidn2.so.0 => /usr/local/lib64/libidn2.so.0 (0x00007fc618019000)
>    libc.so.6 => /lib64/libc.so.6 (0x00007fc617c48000)
>    libz.so.1 => /usr/local/lib64/libz.so.1 (0x00007fc617a2a000)
>    libp11-kit.so.0 => /usr/local/lib64/libp11-kit.so.0 (0x00007fc6177bd000)
>    libunistring.so.2 => /usr/local/lib64/libunistring.so.2
> (0x00007fc617435000) libiconv.so.2 => /usr/local/lib64/libiconv.so.2
> (0x00007fc617145000) ...
> 
> I have not been able to run `make install` because the library has not
> passed `make check`.
> 
> I can't tell if the self tests and programs like gnutls-cli are being
> run with LD_LIBRARY_PATH="lib/.libs". I ran them with `make check V=1`
> but I don't see the output other than PASS? or FAIL. For example:
> 
>    $ make check V=1
>    ...
>    PASS: tls-rehandshake-cert-2
>    PASS: custom-urls
>    ../build-aux/test-driver: line 107: 29109 Segmentation fault
> (core dumped) "$@" > $log_file 2>&1
>    FAIL: set_x509_key_mem
>    ../build-aux/test-driver: line 107: 29119 Segmentation fault
> (core dumped) "$@" > $log_file 2>&1
>    FAIL: set_x509_key_file
>    PASS: mini-chain-unsorted
>    PASS: x509-verify-with-crl
>    PASS: mini-dtls-mtu
>    ../build-aux/test-driver: line 107: 29158 Segmentation fault
> (core dumped) "$@" > $log_file 2>&1
>    FAIL: privkey-verify-broken
>    PASS: mini-dtls-record-asym
>    PASS: openpgp-callback
> 
> The lack of verbosity makes it hard to determine what file is being
> run, and determine the environment its being run in. If I knew what
> file was being run and its environment like LD_LIBRARY_PATH, then I
> could do things like run it myself under a debugger.
> 
> How do I have `make check` display its output verbosely ?

Hi Jeff,

make [check] V=1 switches verbose output on just for the build steps (e.g. 
compile + link commands).

To see the logs from the test run, cd into the appropriate test directory and 
e.g. 'more set_x509_key_file.log'.

If that isn't enough, build everything with -g (include debug symbols) and run 
the tests again with valgrind: 'make check LOG_COMPILER=valgrind'. But AFAIR, 
gnutls uses valgrind by default (see ./configure --help|grep valgrind).

You can even run single tests:
- cd into the appropriate test directory
- e.g. 'make check TESTS=set_x509_key_file'

Regards, Tim
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part.
URL: <https://lists.gnupg.org/pipermail/gnutls-devel/attachments/20171022/1a3ffc28/attachment.sig>


More information about the Gnutls-devel mailing list