http://www.perlmonks.org?node_id=1004535


in reply to Re: Silence CPAN Testers on obviously broken platforms?
in thread Silence CPAN Testers on obviously broken platforms?

don't you rather mean "exit with non-zero status"? zero means success. if you want to get an UNKNOWN report, you shouldn't return zero...
  • Comment on Re^2: Silence CPAN Testers on obviously broken platforms?

Replies are listed 'Best First'.
Re^3: Silence CPAN Testers on obviously broken platforms?
by Anonymous Monk on Nov 19, 2012 at 15:46 UTC

    Nope, see http://wiki.cpantesters.org/wiki/CPANAuthorNotes

    exit 0 means Makefile.PL succeeded , so rating could PASS ,FAIL, or UNKNOWN, depends on subsequent steps

    exit 2 means Makefile.PL died , so rating could be FAIL or NA depending on message

    exit 0 and 'Makefile' not created , rating is UNKNOWN

    exit 0 and 'Makefile' created, rating depends 'make' and 'make test' to determine PASS or FAIL

    Now at one point the cpan testers reporting service mixed up these conventions I described, started treating NA as FAIL and UNKNOWN as NA or some such mix of results (not important now)...

    So follow CPANAuthorNotes, to avoid FAIL, exit 0 to get UNKNOWN, or Devel::AssertOS to get NA

    UNKNOWN is safer than NA, cause some Win32 modules can run on linux, and some day they might all run on linux :)

    NA is like the faulty practice of parsing user-agent-string or testing browser version details to determine if the client supports cookies and ajax

    UNKNOWN is like trying to set a cookie to see if cookies are supported or checking if document.XMLHttpRequest is available to know if ajax is supported

      Excellent summary, that somehow derives a greater degree of clarity out of the CPAN Testers documentation than the documentation itself manages. This thread just got added to my Personal Nodelet. :)


      Dave

Re^3: Silence CPAN Testers on obviously broken platforms?
by Tux (Canon) on Nov 19, 2012 at 15:44 UTC

    No, the FAQ explicitly states:

    "How can I stop getting FAIL reports for missing libraries or other non-Perl dependencies?"

    If you have some special dependencies and don't want to get CPAN Testers reports if a dependency is not available, just exit from the Makefile.PL or Build.PL normally (with an exit code of 0) before the Makefile or Build file is created.

    exit 0 unless some_dependency_is_met ();
    

    Enjoy, Have FUN! H.Merijn