Skip Menu |

This queue is for tickets about the Carp-Always CPAN distribution.

Report information
The Basics
Id: 115841
Status: resolved
Priority: 0/
Queue: Carp-Always

People
Owner: Nobody in particular
Requestors: SREZIC [...] cpan.org
Cc: ANDK [...] cpan.org
NHORNE [...] cpan.org
AdminCc:

Bug Information
Severity: (no value)
Broken in: 0.13
Fixed in: 0.14



CC: NHORNE [...] cpan.org, ANDK [...] cpan.org
Subject: Race condition while running pod test
It seems that t/099pod.t may fail if the test suite is run in parallel (with HARNESS_OPTIONS=j...). Sample fail reports: * http://www.cpantesters.org/cpan/report/0eb82868-4030-11e6-a1f4-fada5bc2a771 * http://www.cpantesters.org/cpan/report/374d4218-b4c1-11e5-acf6-b916fa003568 My guess what's happening here: Test::Pod first has to find out all the perl files in the distribution to run the pod test on. The test-block.pl file is just transient, and exists only in this phase, but is already vanished when Test::Pod is about to run the checks. Maybe it would be better to create test-block.pl in a temporary directory, or the Test::Pod call should exclude this file.
On 2016-07-03 11:30:49, SREZIC wrote: Show quoted text
> It seems that t/099pod.t may fail if the test suite is run in parallel > (with HARNESS_OPTIONS=j...). Sample fail reports: > * http://www.cpantesters.org/cpan/report/0eb82868-4030-11e6-a1f4- > fada5bc2a771 > * http://www.cpantesters.org/cpan/report/374d4218-b4c1-11e5-acf6- > b916fa003568 > > My guess what's happening here: Test::Pod first has to find out all > the perl files in the distribution to run the pod test on. The test- > block.pl file is just transient, and exists only in this phase, but is > already vanished when Test::Pod is about to run the checks. Maybe it > would be better to create test-block.pl in a temporary directory, or > the Test::Pod call should exclude this file.
While this test failure is indeed an issue that should be corrected, please don't allow pod, critic or kwalitee tests to run for normal user installs, as they make the installation fail unnecessarily when newer versions of the tester module introduces errors that you cannot anticipate. Also spelling tests are dependent on what dictionaries are installed locally, and critic tests use all plugins that are installed, both of which cannot be predicted in advance. Either move them to xt/, or guard them with: plan skip_all => "These tests are for authors only!" unless $ENV{AUTHOR_TESTING} or $ENV{RELEASE_TESTING};
Release 0.14 should have taken care of that - two related changes have introduced: * we no longer test POD files other than under lib/ * the POD tests will run only if AUTHOR_TESTING has been set