Hi POD People

I've created a bit of a storm by adding the new warning to Pod::Simple
which is emitted if the source POD contains non-ASCII characters but
does not include an =encoding POD command.

This has "broken CPAN" because a number of CPAN distributions (including
DBI and Dancer) include a call to Test::Pod in their main test suite.
Test::POD's role is to assert that parsing the POD produces no warnings
or errors.

While my patch adds a warning, in combination with Test::Pod it is
effectively elevated to a fatal error which blocks a clean installation
of affected distributions.

The "correct" answer is for people who use Test::Pod to only run those
tests on the author's system - i.e. pre release rather than pre install.
(And ideally add the missing -=encoding too). Of course it might be a
bit inconvenient for some maintainers to rush out a new release for that
reason alone.

I'm considering a patch to make Test::Pod treat the new "missing
=encoding" warning differently to other warnings.  The current behaviour
is to fail the test if any warnings were generated.  Instead we could
patch it as per the following pseudo code:

  if no warnings
      pass test
  else if exactly one warning AND it's the new =encoding message
      spit out a warning via test diag output
      pass test
  else
      fail test

This would mean that an end-user having trouble with failing tests at
install time could work around it by upgrading Test::Pod.

I asked David Wheeler whether this was a) sensible and b) worth doing.
He confessed to not having much of an opinion on the matter and
suggested I post here.

Opinions?

Regards
Grant


Reply via email to