On Mon, Jun 2, 2014 at 9:22 AM, Jens Rehsack <rehs...@gmail.com> wrote:
> Web-Search for "CPAN Testers magic strings" doesn't provide suitable
> results - is there a list of those magic results?

http://wiki.cpantesters.org/wiki/CPANAuthorNotes

> If I would know what is expected, I will make Config::AutoConf behave.
> Devel::CheckLib doesn't work at all - but I don't want to send pull
> requests using C::AC until I'm sure that C::AC doesn't introduce
> more pitfalls than it solves ;)

Here's what I think is important to understand:

* PASS/FAIL reports are only supposed to happen if tests actually run
(e.g. "make test", etc.).  These should not be sent if a cpan
reporting client can detect that perl prereqs are missing.

* UNKNOWN reports are supposed to happen when the dist never reaches
the test stage (e.g. "Makefile.PL" or "make" fails) or if there are no
test files to run.  This means "I don't know if your tests pass or
fail because I never got that far"

* NA reports are supposed to happen when there is no possible way for
tests to ever succeed.  Generally this is for platform/OS issues, like
Win32::Job will never succeed on Unix, or something that needs threads
will never run on a non-threaded perl.  I've seen it used and used it
myself for situations where some configuration issue prevents success
-- e.g. you're running on OpenBSD and your perl is neither threaded or
single-threaded-but-linking-libpthead.

* "exit 0" from Makefile.PL has a coincidentally useful behavior that
CPAN Testers exploits.  The CPAN clients happened to all check for
"Makefile" being created even if "Makefile.PL" returned exit code zero
and bailed out if it didn't exist.  That allowed a way to let
Makefile.PL abort without triggering a CPAN Testers report message.
This turned out to be really useful for non-perl dependencies (e.g.
compiler, C libraries, external program, etc.)

David

Reply via email to