AnyEvent: t/80_ssltest.t: Fails on FreeBSD when Net::SSLeay is previously installed

James E Keenan jkeenan at pobox.com
Sun Mar 1 03:27:23 CET 2020


Today I had occasion to try to install AnyEvent version 7.17 against 
Perl 5 blead on FreeBSD-13, using cpanm as the installer and specifying 
no other modules as arguments to cpanm.

#####
[AnyEvent-7.17] $ uname -mrs
FreeBSD 13.0-CURRENT amd64

$ openssl version
OpenSSL 1.1.1-freebsd  11 Sep 2018

[AnyEvent-7.17] $ bleadperl -v | head -2 | tail -1
This is perl 5, version 31, subversion 10 (v5.31.10 
(v5.31.9-32-gae01c992e1)) built for amd64-freebsd-thread-multi

[AnyEvent-7.17] $ bleadperl -V:config_args
config_args='-des -Dusedevel -Uversiononly 
-Dprefix=/home/jkeenan/testing/blead -Dman1dir=none -Dman3dir=none 
-Duseithreads -Doptimize=-O2 -pipe -fstack-protector -fno-strict-aliasing';
#####

The installation succeeded.

#####
[blead] $ ./bin/cpanm AnyEvent
--> Working on AnyEvent
Fetching 
http://www.cpan.org/authors/id/M/ML/MLEHMANN/AnyEvent-7.17.tar.gz ... OK
==> Found dependencies: Canary::Stability
--> Working on Canary::Stability
Fetching 
http://www.cpan.org/authors/id/M/ML/MLEHMANN/Canary-Stability-2013.tar.gz 
... OK
Configuring Canary-Stability-2013 ... OK
Building and testing Canary-Stability-2013 ... OK
Successfully installed Canary-Stability-2013
Configuring AnyEvent-7.17 ... OK
Building and testing AnyEvent-7.17 ... OK
Successfully installed AnyEvent-7.17
2 distributions installed
#####

However, on closer inspection I realized that 'make test' did not 
exercise test file t/80_ssltest.t.

#####
[AnyEvent-7.17] $ bleadperl -Ilib -Iblib/lib t/80_ssltest.t
1..0 # SKIP no usable Net::SSLeay
#####

I then successfully installed Net::SSLeay version 1.88

#####
[blead] $ ./bin/cpanm Net::SSLeay
--> Working on Net::SSLeay
Fetching 
http://www.cpan.org/authors/id/C/CH/CHRISN/Net-SSLeay-1.88.tar.gz ... OK
Configuring Net-SSLeay-1.88 ... OK
Building and testing Net-SSLeay-1.88 ... OK
Successfully installed Net-SSLeay-1.88
1 distribution installed
#####

I then re-tested AnyEvent-7.17.  This time, t/80_ssltest.t was run -- 
but it failed one test.

#####
[blead] $ ./bin/cpanm --test-only AnyEvent
--> Working on AnyEvent
Fetching 
http://www.cpan.org/authors/id/M/ML/MLEHMANN/AnyEvent-7.17.tar.gz ... OK
Configuring AnyEvent-7.17 ... OK
Building and testing AnyEvent-7.17 ... FAIL
! Testing AnyEvent failed. See 
/home/jkeenan/.cpanm/work/1583026907.14938/build.log for details. Retry 
with --force to force install it.
#####

Trimmed output from running that file with a 'prove' built against the 
blead perl:

#####
[AnyEvent-7.17] $ bleadprove -vb t/80_ssltest.t
t/80_ssltest.t ..
1..415
ok 1 - mode 1
ok 2 - client_connect 1
ok 3 - server_connect 1
ok 4 - client_drain
ok 5 - line 1 <1>
not ok 6 - server_error <Connection reset by peer>

#   Failed test 'server_error <Connection reset by peer>'
#   at t/80_ssltest.t line 37.
ok 7 - mode 2
ok 8 - client_connect 2
ok 9 - server_connect 2
...
ok 414 - client_drain 5
ok 415 - server_eof
# Looks like you failed 1 test of 415.
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/415 subtests

Test Summary Report
-------------------
t/80_ssltest.t (Wstat: 256 Tests: 415 Failed: 1)
   Failed test:  6
   Non-zero exit status: 1
Files=1, Tests=415,  9 wallclock secs ( 0.09 usr  0.05 sys +  0.23 cusr 
0.09 csys =  0.45 CPU)
Result: FAIL
#####

I got similar results when I tried this process on FreeBSD-12.

These results are consistent with certain CPANtesters reports on 
AnyEvent filed by Slaven Rezić.  Slaven got a PASS when he tested 
AnyEvent-7.17 against blead on FreeBSD-13.0-current in this report:

#####
http://www.cpantesters.org/cpan/report/62353d08-592e-11ea-9b36-da1c1f24ea8f
#####

... but that test was apparently run without Net::SSLeay having already 
been installed, leading to t/80_ssltest.t being skipped.

#####
t/80_ssltest.t ............. skipped: no usable Net::SSLeay
#####

However, on a CPANtesters rig on FreeBSD osvers=12.1-stable where 
Net::SSLeay apparently already was installed, t/80_ssltest.t was run and 
incurred the 1 test failure I reported above:

#####
http://www.cpantesters.org/cpan/report/c87e791a-5552-11ea-b981-16351f24ea8f

t/70_uv_09_multi.t ......... skipped: PERL_ANYEVENT_LOOP_TESTS not true

#   Failed test 'server_error <Connection reset by peer>'
#   at t/80_ssltest.t line 37.
# Looks like you failed 1 test of 415.
t/80_ssltest.t .............
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/415 subtests
t/81_hosts.t ............... ok
t/handle/01_readline.t ..... ok
t/handle/02_write.t ........ ok
t/handle/03_http_req.t ..... skipped: PERL_ANYEVENT_NET_TESTS 
environment variable not set
t/handle/04_listen.t ....... ok

Test Summary Report
-------------------
t/80_ssltest.t           (Wstat: 256 Tests: 415 Failed: 1)
   Failed test:  6
   Non-zero exit status: 1
Files=83, Tests=672, 14 wallclock secs ( 0.33 usr  0.27 sys +  1.99 cusr 
  0.51 csys =  3.09 CPU)
Result: FAIL
Failed 1/83 test programs. 1/672 subtests failed.
*** Error code 255

Stop.
make: stopped in /usr/home/cpansand/.cpan/build/2020022201/AnyEvent-7.17-0
#####

The test appears to fail only when '$mode == 1'.  Please let me know if 
there is any other information I can supply which will be helpful in 
resolution of this issue.

Thank you very much.
Jim Keenan





More information about the anyevent mailing list