API Consistency

Download Report

Transcript API Consistency

How to be a CPAN tester
An extended Lightning Talk
How to be a CPAN tester
1. Install CPAN::Reporter
$ perl -MCPAN -e ‘install qw(CPAN::Reporter)’
How to be a CPAN tester
1. Install CPAN::Reporter
$ perl -MCPAN -e ‘install qw(CPAN::Reporter)’
2. Configure CPAN::Reporter
$ perl -MCPAN -e shell
CPAN> o conf init test_report
Email test reports if CPAN::Reporter is installed (yes/no)?
…
How to be a CPAN tester
1. Install CPAN::Reporter
$ perl -MCPAN -e ‘install qw(CPAN::Reporter)’
2. Configure CPAN::Reporter
$ perl -MCPAN -e shell
CPAN> o conf init test_report
Email test reports if CPAN::Reporter is installed (yes/no)?
…
CPAN> o conf commit
CPAN> exit
How to be a CPAN tester
1. Install CPAN::Reporter
$ perl -MCPAN -e ‘install qw(CPAN::Reporter)’
2. Configure CPAN::Reporter
$ perl -MCPAN -e shell
CPAN> o conf init test_report
Email test reports if CPAN::Reporter is installed (yes/no)?
…
CPAN> o conf commit
CPAN> exit
3. Subscribe to the CPAN testers mailing list
http://lists.cpan.org/showlist.cgi?name=cpan-testers
How to be a CPAN tester
1. Install CPAN::Reporter
$ perl -MCPAN -e ‘install qw(CPAN::Reporter)’
2. Configure CPAN::Reporter
$ perl -MCPAN -e shell
CPAN> o conf init test_report
Email test reports if CPAN::Reporter is installed (yes/no)?
…
CPAN> o conf commit
CPAN> exit
3. Subscribe to the CPAN testers mailing list
http://lists.cpan.org/showlist.cgi?name=cpan-testers
4. Test it!
$ perl -MCPAN -e ‘test qw(Some::Module)’
How to be a CPAN tester
1. Install CPAN::Reporter
$ perl -MCPAN -e ‘install qw(CPAN::Reporter)’
2. Configure CPAN::Reporter
$ perl -MCPAN -e shell
CPAN> o conf init test_report
Email test reports if CPAN::Reporter is installed (yes/no)?
…
CPAN> o conf commit
CPAN> exit
3. Subscribe to the CPAN testers mailing list
http://lists.cpan.org/showlist.cgi?name=cpan-testers
4. Test it!
$ perl -MCPAN -e ‘test qw(Some::Module)’
Here endeth the Lightning Talk
How to be a prolific CPAN tester
Or how I learned to automate it all
and test 10,000 modules a month
(This is the extended bit)
How to be a prolific CPAN tester
1. Use my hideous shell scripts
http://cpantest.grango.org/cgi-bin/pages.cgi?act=wiki-page&pagename=CPANTesting
How to be a prolific CPAN tester
1. Use my hideous shell scripts
http://cpantest.grango.org/cgi-bin/pages.cgi?act=wiki-page&pagename=CPANTesting
http://shorterlink.org/3506
How to be a prolific CPAN tester
1. Use my hideous shell scripts
http://cpantest.grango.org/cgi-bin/pages.cgi?act=wiki-page&pagename=CPANTesting
http://shorterlink.org/3506
2. Get annoyed at modules that ask you questions
This package comes with some sample programs that I can try
to install in /usr/bin.
Note that you can avoid these questions by passing
the '-n' option to 'Makefile.PL'.
Do you want to install lwp-request? [y]
Do you want to install lwp-mirror? [y]
Do you want to install lwp-rget? [y]
Do you want to install lwp-download? [y]
The lwp-request program will use the name it is invoked with to
determine what HTTP method to use. I can set up alias for the most
common HTTP methods. These alias are also installed in
/usr/bin.
Do you want to install the GET alias? [n]
Do you want to install the HEAD alias? [n]
Do you want to install the POST alias? [n]
How to be a prolific CPAN tester
3. Install Expect
$ perl -MCPAN -e ‘install qw(Expect)’
How to be a prolific CPAN tester
3. Install Expect
$ perl -MCPAN -e ‘install qw(Expect)’
4. Write some CPAN distribution preferences files
See ‘distroprefs’ in the CPAN.pm manpage
How to be a prolific CPAN tester
3. Install Expect
$ perl -MCPAN -e ‘install qw(Expect)’
4. Write some CPAN distribution preferences files
See ‘distroprefs’ in the CPAN.pm manpage
5. Automate away the annoying questions
--comment: "Auto-test libwww-perl"
match:
distribution: "^GAAS/libwww-perl-5.8"
pl:
eexpect:
mode: anyorder
reuse: 1
talk:
- "Do you want to"
- "\n"
How to be a prolific CPAN tester
6. Automate away annoying authors!
--comment: "Ignore this whiny bitch"
match:
distribution: ”DCANTRELL/"
disabled: 1
How to be a prolific CPAN tester
6. Automate away annoying authors!
--comment: "Ignore this whiny bitch"
match:
distribution: ”DCANTRELL/"
disabled: 1
7. Automate away annoying installers!
My Module::Install killer is too big to fit in the
margin of this slide.
How to be a prolific CPAN tester
6. Automate away annoying authors!
--comment: "Ignore this whiny bitch"
match:
distribution: ”DCANTRELL/"
disabled: 1
7. Automate away annoying installers!
My Module::Install killer is too big to fit in the
margin of this slide.
8. Expect email from authors
Thanks to …
Super Dimension Fortress <http://sdf.lonestar.org/>
Josh Boyd
Bill Bradford <http://sunhelp.org/>
cray-cyber.org
See also
The cpan-testers-discuss mailing list
#cpantesters-discuss on irc.perl.org
The CPAN-testers wiki: http://cpantest.grango.org/