RFC: CPAN::AutoTestReporter
SYNOPSIS
I propose a module that will automatically allow a distribution author and
the CPAN Testers group to receive a configuration summary and testing
report (ala cpantest) of the testing process of a distribution build.
Participation in this process would be strictly optional.
Note: I've searched through the [EMAIL PROTECTED] archive, the
[EMAIL PROTECTED] archive as well as comp.lang.perl.modules and found
virtually no relevant prior discussion on this topic.
TESTERS.CPAN.ORG
testers.cpan.org states "CPAN Testers can always use more people willing
to spend the time and effort testing new modules as CPAN keeps growing
daily."
What better way to accomplish this than by involving the community
at large by allowing them participation in the process in a behind-the-
scenes, automated manner?
testers.cpan.org also states "The ultimate goal is to improve the
portability of the distributions on CPAN, and provide good feedback to
the authors."
We have thousands of thousands of people already testing these
distributions on a frequent basis and we don't get their test results! Is
it just me or is something wrong here? Shouldn't we be taking advantage
of all this "unreported" testing to achieve our goal?
DESCRIPTION
The module would do things approximating the following:
* Allow an end-user (i.e. someone building a distribution) to have their
perl configuration summary (perl -V) and test report (output of make
test) automatically collected and submitted. The report would be sent
via e-mail to [EMAIL PROTECTED] and the distribution author and
would contain the same information that cpantest does
* Their testing process would be monitored and processed as follows:
- If Test::Harness/Test reports all tests passed it will generate the
same e-mail as cpantest does under the same condition
- If Test::Harness/Test reports that not all tests passed it will generate
the same e-mail as cpantest does under the same condition and place
the output of 'make test' in the comments field
- If there are no tests defined, it will generate the same e-mail as
cpantest does under the same condition, -or- we could leave this
case unhandled and "force" distribution authors to include tests if
they want statistics and perl configuration summary data in return
- 'na' would not be handled, and is probably best left to manual
testing via CPAN Testers
INTERFACE
The user building the module could get something like:
"For the purpose of improving the quality and support of this distribution,
the CPAN Testing service and the author of this distribution are collecting
the test data and configuration details of this distributions testing
process. This information will be sent via e-mail to the CPAN Testing
service and the distribution author. The only information that will be sent
is the output of 'make test' and your perl configuration summary (perl -V).
This does not interfere with the distribution in any way, nor receives
any information back. We are interested in this information for statistical
purposes and to improve support for various operating systems. You are not
required to contribute to this effort."
Report your configuration details and make test output (yes/no) ?"
RATIONALE
There are several reason why I think this would be rather useful:
* It benefits the distribution author, by letting the author know:
- How widely used their distribution is by the general public. They could
use this information to prioritize how they spend their development time
- Which versions of their distribution are getting used by the general
public
- Which platforms their distribution is being used on by the general
public. They could use this information to add better support and tests
for various platforms
- What versions of perl their distribution is running on by the general
public. They could use this information to better support old perls.
* It benefits the CPAN Testing service for the following reasons:
- Gives us a veritable army of potential new testers, and we could
certainly use the assistance
- This module fits perfectly into the already established framework
- Supplements the manual work that we CPAN Tester's do
- Lends more automation to the testing process, which is something we
are striving to accomplish
* Distribution authors have been asking for something like this for quite
some time. They get automatic feedback, and some statistics on usage and
we get tests results. Everyone wins.
TESTING CATEGORIES
We are currently bringing many resources to bear on the testing and quality
issues. We currently have tools that fit into three categories. Manual
testing (eg: cpantest), semi automated testing (eg: CPAN::Report), and
fully automated testing (the smoke modules). These categories are all
extremely important yet operate with very few actual testers, and could be
well supplemented by the semi automated testing of hundreds, or thousands
of users
CAVEATS
Obviouslly, this module would require that the machine that the module
is being built on has a network connection and could send mail.
FAQ
"If a distribution author wants some usage statistics, just have them put
'If you use this distribution, send an email to [EMAIL PROTECTED]' in the
POD of their distribution"
Infact, this is precisely what happens. The only difference is that it's
automated. When was the last time you got an e-mail from someone just to
say they were using your module? The benefit is that a person doesn't
have to spend the (albeit miniscule) amount of time to send an e-mail
and that the e-mail will contain useful information.
"How does this differ from what the CPAN Testers already do?"
It expands our pool of testers. It supplements what we do manually.
It strives to achieve more automation in the testing process. It
allows the community at large to contribute to the quality of CPAN.
"If people want to participate in the testing process, they should just go
to testers.cpan.org, subscribe to the mailing list, download the script
and start sending in test results"
Many people don't have the time or inclination to become a CPAN tester
and test as many modules as they possibly can on as many platforms as they
possibly can. Many people don't want the hordes of mail from the list.
However, most people who build modules seem to be willing to submit the
test results for the modules that they build. The beauty of this process
is that it's all done automatically, behind the scenes, and all the
involvement they have is typing "yes" at the prompt.
THE NAMESPACE
If someone has a better suggestion than CPAN::AutoTestReporter, I'm
all ears.
CONCLUSION
Thoughts? Comments? Suggestions? Feedback? Thanks for reading!
--
Adam J. Foxson
CPAN Tester for Darwin/MacOS X