How to be a CPAN tester

Barbie

David Golden

Who We Are

Barbie

Who We Are

David Golden

What is CPAN testing?

Who benefits from CPAN testing?

Who benefits from CPAN testing?

Who benefits from CPAN testing?

How does CPAN testing work?

How does CPAN testing work?

How does CPAN testing work?

How does CPAN testing work?

How does CPAN testing work?

How does CPAN testing work?

How does CPAN testing work?

Types of Reports

What to test?


My-Module-0.01.tar.gz
My-Module-0.01.tar.bz2
My-Module-0.01.tgz
My-Module-0.01.zip

My-Module.tar.gz
My-Module-0.01.tar
My-Module-0.01.par
    

What to report?


PASS My-Module-0.01 i386-freebsd 5.1-current
PASS My-Module-0.01 i686-linux 2.4.13

My-Module.tar.gz Failed
FAIL My-Module
FAIL My-Module MSWin32-x86-multi-thread 4.0
FAIL My-Module-0.01.tar.gz sun4-solaris 2.8
    

Two styles of CPAN testing

Two styles of CPAN testing

CPAN::Reporter

Getting started with CPAN::Reporter

Super quick-start version...


 $ cpan

 cpan> install CPAN::Reporter

 cpan> reload CPAN

 cpan> o conf init test_report
    

Getting started with CPAN::Reporter

CPAN::Reporter Configuration

CPAN::Reporter Config Options

 email_from
 cc_author
 edit_report
 send_report
 send_duplicates
 smtp_server
 email_to
 editor
 debug

CPAN::Reporter Config Example

 [CONFIG]
 email_from="John Doe" <johndoe@example.com>
 edit_report=default:ask/no pass:no
 cc_author=default:yes pass:no
 send_report=default:ask/yes pass:yes na:no
 send_duplicates=default:no
 smtp_server=127.0.0.1
 email_to=cpan-testers@perl.org
 editor=vi
 debug=0

Benefits of CPAN::Reporter

The future for CPAN::Reporter

CPAN::YACSmoke

Getting started with CPAN::YACSmoke

CPAN::YACSmoke Configuration

CPAN::YACSmoke Config Options

 exclude_dists
 test_max
 fail_max
 allow_retries
 suppress_extracted
 flush_flag
 database_type
 database_file
 list_from
 audit_log
 config_file
 basedir
exclude_dists - distros to be excluded from testing test_max - distros to be tested (default 100) fail_max - versions of a distro to be tested (default 3) allow_retries - retest distros (default UNGRADED and ABORTED) suppress_extracted - suppress CPANPLUS 'Extracted' messages flush_flag - used by purge() database_type - database plugin (default SDBM_File) database_file - local cpansmoke DB (default cpansmoke.dat) list_from - source plugin (default Recent) audit_log - progress log file config_file - alternate INI file basedir - base directory for config file, (defaults to the home directory)

CPAN::YACSmoke Config Example

 [CONFIG]
 debug=0
 verbose=1
 cpantest=1
 allow_retries=none
 suppress_extracted=1
 test_max=6

 exclude_dists=<<HERE
 DBD
 Distributed-Process
 Term-ReadLine-Gnu
 HERE

CPAN::YACSmoke Database Plugins

CPAN::YACSmoke Source Plugins

CPAN::YACSmoke CLI

  yacsmoke [options] [dist]
  Usage: perl yacsmoke.pl
      [-t|--test <distribution>]
      [-l|--list <source>:<param_name>=<value>]
      [-f|--filter <filter>:<filter>:<filter>]
      [-a|--audit <audit file>]
      [-c|--config <configuration file>]
      [-s|--smokedb <smoke database file>]
      [-d|--database <database>]
      [-h|--help]

CPAN::YACSmoke OO Style

 my $smoker = CPAN::YACSmoke->new(%conf);
 $smoker->test();

Benefits of CPAN::YACSmoke

The future for CPAN::YACSmoke

Closing the loop

Closing the loop

CPAN Testers

CPAN Testers

CPAN Testers

CPAN Testers Statistics

CPAN Testers Statistics

CPAN Testers Statistics

CPAN Testers Statistics

CPAN Testers Statistics

CPAN Testers Statistics

CPAN Testers Statistics

A Request

The ALL NEW ...

CPAN Testers Wiki

CPAN Testers Wiki

CPAN Testers Wiki

The future for CPAN Testers

PRIVACY WARNING

Test reports include information about environment variables and special Perl variables that could be affecting test results in order to help module authors interpret the results of the tests. This includes information about paths, terminal, locale, user/group ID, installed toolchain modules (e.g. ExtUtils::MakeMaker) and so on.

These have been intentionally limited to items that should not cause harmful personal information to be revealed -- it does not include your entire environment. Nevertheless, if you are concerned about any disclosure of this information as part of your test report, you are advised to review this information and, if necessary, edit the report prior to sending it.

Questions?



Questions

Thanks for listening.