/perl-package-tests

Tests for perl packages I'm always creating in some way or other.

Primary LanguagePerlMIT LicenseMIT

perl-package-tests

Tests for perl packages I'm always creating in some way or other.

Why?

Dist::Zilla does a lot of work for you, including creating tests.

But Dist::Zilla doesn't enforce any standards for the tests, and I frequently work on projects where I'm not able to use Dist::Zilla for one reason or another.

I found myself copying tests from various places, and not always the right ones, or all of the tests I needed to include to make good code. So, I created this repository.

Install

XXX: There is a way to just export the xt directory ... need to include instructions here.

Maybe this has something.

Tests

Currently included tests are listed and described below but the actual contents of the xt directory are authoritative, not this document.

Check the individual files for details on what each test is checking for.

I'm trying to follow the definitions from The Lancaster Consensus for different types of tests.

These tests are not necessarily categorized according to these definitions. I'm working on fixing that.

Author Tests

AUTHOR_TESTING: if true, tests are being run as part of an author's personal development process; such tests may or may not be run prior to release. CPAN clients must not set this variable. Distribution packagers (ppm, deb, rpm, etc.) should not set this variable.

Release Tests

RELEASE_TESTING: if true, tests are being run as part of a release QA process; CPAN clients must not set this variable.

Automated Tests

AUTOMATED_TESTING: if true, tests are being run by an automated testing facility and not as part of the installation of a module; CPAN smokers must set this to true; CPAN clients must not set this.

Non-interactive Tests

NONINTERACTIVE_TESTING: if true, tests should not attempt to interact with a user; output may not be seen and prompts will not be answered.

Extended Tests

EXTENDED_TESTING: if true, the user or process running tests is willing to run optional tests that may take extra time or resources to complete. Such tests must not include any development or QA tests. Only tests of runtime functionality should be included.