Front page | perl.perl5.porters |
Postings from August 2019
CPAN river 3000: status as of perl-5.31.3 release
From:
James E Keenan
Date:
August 22, 2019 02:23
Subject:
CPAN river 3000: status as of perl-5.31.3 release
Message ID:
20190822022254.27051.qmail@lists-nntp.develooper.com
You can find data from a test run of the "CPAN-river-3000"
against all releases in the current (perl-5.31) development
cycle here:
#####
http://thenceforward.net/perl/misc/cpan-river-3000.perl-5.31.master.psv.gz
#####
In addition, please find attached a file in CSV format
holding data about those CPAN distributions which received a
grade other than 'PASS' during the most recent monthly run
or whose grade changed between the two most recent runs.
#####
changes-5.31.2-to-5.31.3.csv
#####
I. General Comments
The data in these files are intended to be used in the
assessment of the impact which Perl 5 development is having
on the installability of an important set of CPAN
distributions. These are not the only data which can be
used or which ought to be used in that assessment.
The following items should be noted:
1. During the current 5.31 development cycle we are testing
3000 CPAN distributions.
2. The analysis is being conducted on FreeBSD-12:
#####
$ uname -mrs
FreeBSD 12.0-RELEASE amd64
$ clang --version
FreeBSD clang version 6.0.1 (tags/RELEASE_601/final 335540) (based on
LLVM 6.0.1)
Target: x86_64-unknown-freebsd12.0
Thread model: posix
InstalledDir: /usr/bin
#####
By doing so, we hope to avoid a monoculture of operating
systems and call attention to the fact that the impact of
blead on CPAN can differ across platforms.
3. The list of modules selected is curated so that the
automated test-against-dev program can run smoothly over its
more-than-six-hours length. That means excluding modules
that require interactive configuration, modules that make
excessive demands with respect to external prerequisites,
modules that require too much network access, modules that
are subject to timeouts, and so forth. The list of modules
was calculated on July 12 2019.
4. On the other hand, the list of modules selected has not
been filtered to exclude modules which, notwithstanding the
fact that other CPAN distributions depend on them, have been
failing tests for years.
5. The test-against-dev process is built on top of
Miyagawa's 'cpanm' and Breno G. de Oliveira's CPAN library
App::cpanminus::reporter. It therefore benefits from the
strengths, and suffers from the flaws, of those two
excellent libraries. In particular, if distribution XYZ has
a dependency on distribution ABC and if, earlier in the
process, ABC has failed, the test-against-dev process will
steer clear of attempting to fully test XYZ and will fail to
write a report for it. So some modules will "not be
reached" and will not show up in the output data until such
time as their upstream dependencies are fixed.
6. There are certain CPAN distributions whose prerequisites
I have not yet figured out how to install on the platform
being used. Those distributions are likely to have a grade
of UNKNOWN and their reverse dependencies will not be
reached. Tk is a long-standing instance of this problem as
its tests require a GUI (or a simulation of a GUI).
If you would like further information about this project or
to help it along, please contact me off-list.
II. Specific Comments
As of the date of this posting, I have not been able to
attribute any of the non-PASS grades in the list of CPAN
distributions tested to changes in Perl 5 blead between
5.31.2 and 5.31.3. I have created bug tickets as needed.
One specific problem I faced this month was a hang and
timeout after 30 minutes in one of WWW-Mechanize's tests.
This caused WWW::Mechanize to be graded FAIL, which in turn
prevented all of its 30+ reverse dependencies in the CPAN
River 3000 to not be reached for testing. This failure is
the subject of ongoing discussions with WWW-Mechanize's
maintainers.
Some good news: In response to bug tickets which Slaven,
myself and other testers have filed, five CPAN distributions
in the 3000 were updated on CPAN since the 5.31.2 release,
meaning that they now PASS and that their reverse
dependencies can be reached via automated testing. Thanks
go to:
SYBER CPP-panda-lib-1.2.10
TURNSTEP DBD-Pg-3.9.1
PRBRENAN Data-Table-Text-20190815
AFAN Serge-1.4
ETHER asa-1.04
III. Acknowledgements
This project benefited from discussion at the Perl 5 Core
Hackathon held in Amsterdam in October 2017, so thanks to
participants in that event and to the organizations which
sponsored it.
This project also benefits from the generous donation of a
server by the New York City BSD Users Group (NYCBUG) and the
system administration expertise of Mark Saad and George
Rosamond.
This project also benefits from the system administration
expertise of Andrew Villano of New York Perlmongers. Andrew
Villano and I made a presentation on this project at a joint
meeting of NYCBUG and New York Perlmongers (ny.pm) on
November 7 2018. See below for links.
IV. References
See my presentation at the North American Perl Conference
held in Salt Lake City in June 2018:
http://thenceforward.net/perl/tpc/TPC-NA-2018/test-against-dev.pdf
Text of the Nov 07 2018 NYCBUG/ny.pm presentation can be
found at
http://thenceforward.net/perl/talks/nycbug-presentation-20181107.html;
slides at
http://thenceforward.net/perl/talks/nycbug-presentation-20181107.odp
(LibreOffice Impress).
Thank you very much.
Jim Keenan
-
CPAN river 3000: status as of perl-5.31.3 release
by James E Keenan