[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Author tests and IPC::System::Simple

G'day Gregor / debian-perl,

gregor herrmann wrote:

> Thanks for preparing both packages.
> I have to admit that I couldn't resists changing some minor issues :)
> (Note for Paul: if I add libbsd-resource-perl to Build-Depends-Indep,
> as required by t/08_core.t, I get:


I trust this is only if you add libbsd-resource-perl *AND* you set
TEST_AUTHOR=1 in your environment because you want the extra tests.  All the
TEST_AUTHOR tests make (potentially wrong) assumptions about your system or
other configuration, which is why they're disabled by default.

In particular 08_core.t assumes that zapping a process with a SIGABRT will
cause your process to dump core.  If you're running on a system where
SIGABRT doesn't cause a core dump, or have a system where core-dumps have
been disabled using a mechanism other than ulimit-style resource limiting,
then I'd expect to see the failure you've reported[1].

In a similar vein, the Perl::Critic tests can potentially fail if it uses a
different .perlcriticrc file than the one supplied with IPC::System::Simple,
or a (future) version of Perl::Critic that is more picky about my code. ;)
The 05_multi_capture.t author tests may incorrectly fail on non-English systems.

As such, if any of the author tests fail, it indicates there *may* be a bug,
as opposed to  if any of the main tests which, which indicate that there is
definitely a bug.

I don't know how this translates to the building of Debian packages.  For
regular users doing an 'apt-get source' to build their own .debs, the author
tests should definitely be disabled -- leaving them on will cause far too
many false positives due to variation between systems.  For an actual Debian
maintainer who is building packages on a known environment, it may be
reasonable to have them enabled, since they'll be able to properly triage
any failures reported by them.  Even so, I'd be inclined to leave them off
by default.



[1] However having done some investigation, the test checks to see if it's
able to enable core dumps before running.  In the case of a system running
with 'ulimit -c 0' it should skip the core dump tests.  If you *are*
actually getting a core dump, but the test is failing, then you have found
an honest to goodness bug, and I'll start quizzing you for more information
about your system. ;)

Paul Fenwick <pjf@perltraining.com.au> | http://perltraining.com.au/
Director of Training                   | Ph:  +61 3 9354 6001
Perl Training Australia                | Fax: +61 3 9354 2681

Reply to: