Après avoir lu Joyeux anniversaire cURL ! (23 ans aujourd'hui), je me suis rappelé de 2018, curl a vingt ans, en particulier la partie Curlception qui avait amené une correction sur la suite de tests. Et si on retestait ?
$ curl -o curl-7.75.0.tar.xz https://curl.se/download/curl-7.75.0.tar.xz
$ curl -o curl-7.75.0.tar.xz.asc https://curl.se/download/curl-7.75.0.tar.xz.asc
$ gpg --keyserver hkps://keyserver.ubuntu.com --recv-key 0x27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2 # ce keyserver par exemple pour contourner le "new key but contains no user ID - skipped"
$ gpg --verify curl-7.75.0.tar.xz.asc # signature OK mais je n'ai pas de chemin de confiance jusqu'à l'auteur
$ tar xvJf curl-7.75.0.tar.xz
$ sudo apt install autoconf automake ca-certificates groff-base libbrotli-dev libgnutls28-dev libidn2-dev libkrb5-dev libldap2-dev libnghttp2-dev libnss3-dev libpsl-dev librtmp-dev libssh2-1-dev libssl-dev libtool openssh-server python3:native python3-impacket quilt stunnel4 zlib1g-dev # basé sur les dépendances du paquet Debian curl-7.74
$ ./configure # constater que tout n'est pas activé, or on ne fait pas des trucs pour s'amuser pour en plus ne pas tout avoir...
$ sudo apt install libzstd-dev # il en faut un peu plus
# snif pas ECH, ni HTTP3 via ngtcp2/quiche, pas empaquetés Debian
$ ./configure --with-libssh2 --with-zstd --with-gssapi=/usr --enable-sspi --with-nghttp2 --with-zsh-functions-dir=/usr/share/zsh/vendor-completions --with-lber-lib=lber
(...)
curl version: 7.75.0
SSL: enabled (OpenSSL)
SSH: enabled (libSSH2)
zlib: enabled
brotli: enabled (libbrotlidec)
zstd: enabled (libzstd)
GSS-API: enabled (MIT Kerberos/Heimdal)
TLS-SRP: enabled
resolver: POSIX threaded
IPv6: enabled
Unix sockets: enabled
IDN: enabled (libidn2)
Build libcurl: Shared=yes, Static=yes
Built-in manual: enabled
--libcurl option: enabled (--disable-libcurl-option)
Verbose errors: enabled (--disable-verbose)
Code coverage: disabled
SSPI: no (--enable-sspi)
ca cert bundle: /etc/ssl/certs/ca-certificates.crt
ca cert path: no
ca fallback: no
LDAP: enabled (OpenLDAP)
LDAPS: enabled
RTSP: enabled
RTMP: enabled (librtmp)
Metalink: no (--with-libmetalink)
PSL: enabled
Alt-svc: enabled
HTTP1: enabled (--with-hyper)
HTTP2: enabled (nghttp2)
HTTP3: no (--with-ngtcp2, --with-quiche)
ECH: no (--enable-ech)
Protocols: DICT FILE FTP FTPS GOPHER GOPHERS HTTP HTTPS IMAP IMAPS LDAP LDAPS MQTT POP3 POP3S RTMP RTSP SCP SFTP SMB SMBS SMTP SMTPS TELNET TFTP
Features: AsynchDNS GSS-API HTTP2 HTTPS-proxy IDN IPv6 Kerberos NTLM NTLM_WB PSL SPNEGO SSL TLS-SRP UnixSockets alt-svc brotli libz zstd
$ make -j8
$ make check
(...)
TESTDONE: 1171 tests out of 1223 reported OK: 95%
TESTFAIL: These test cases failed: 165 582 600 601 602 603 604 605 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 633 634 635 636 637 638 639 640 641 642 664 665 962 963 964 965 966 967 1188 1446 1448 2004 2046 2047
Ne reste plus qu'à déboguer les tests donc.
# 52 tests en erreur
Posté par Benoît Sibaud (site web personnel) . Évalué à 10. Dernière modification le 20 mars 2021 à 19:11.
52 tests en erreur regroupables ainsi a priori :
- 41 semblent être des soucis liés à la partie libssh2 "SSH public key authentication failed: Callback returned error".
- 10 semblent liés à des soucis de conversion de chaîne de type "Info: Failed to convert åäö.se to ACE; could not convert string to UTF-8"
- après le lancement initial et un autre lancement pour avoir des logs (tous deux en erreur donc), le suivant a marché sur le lancement suivant, ainsi que sur la centaine de suivants pour vérifier si c'était une instabilité… Là je me rappelle que j'ai passé la locale à C avant de lancer les derniers tests. Bingo.
Bon a priori, ça c'est fait. Plus que 51.
[^] # 51 tests en erreur
Posté par Benoît Sibaud (site web personnel) . Évalué à 8.
Les 10 sur les conversions viennent du fait que le test impose la locale
en_US.UTF-8
(pas de chance, sur cette machine il n'y avait queen_GB.UTF-8
). Une fois cette locale ajoutée (sudo dpkg-reconfigure locales
), les 10 passent. Je ne sais pas si ça mérite un rapport de bug (ni quoi proposer en solution en fait). Mais en tout cas, plus que 41.[^] # 41 tests en erreur
Posté par Benoît Sibaud (site web personnel) . Évalué à 5. Dernière modification le 21 mars 2021 à 13:31.
Et personne pour râler parce que je n'ai pas testé depuis la version de développement ? (ma correction pour le premier test que j'ai corrigé était inutile pour la version de développement, où le test avait été réécrit différemment…) Je m'auto-blâme seul dans mon coin alors (de toute façon cher moi et cher journal, nous sommes en tête à tête ici a priori).
Bon c'est les 41 mêmes désormais…
[^] # Re: 51 tests en erreur
Posté par Babelouest (site web personnel) . Évalué à 5.
Je ne vois pas de mention de locale imposée dans le README des tests.
À mon avis ça mériterait d'ouvrir un rapport de bug…
[^] # Re: 51 tests en erreur
Posté par Benoît Sibaud (site web personnel) . Évalué à 7.
Fait, merci pour ce retour.
# Pas Debian Buster mais Debian Bullseye
Posté par Benoît Sibaud (site web personnel) . Évalué à 4.
Rectification du titre : le test est fait sur une Debian testing Bullseye
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.