CPAN is all broken, now
I am not sure whose fault is, but Test::Pod now verifies for characters outside ASCII, and complains a missing =encoding
directive. I like this check to be done, but I do not think that breaking half of the CPAN is a good idea. It would be better to just carp for the error, but not make it fail. This would give time to authors to fix their modules. In a later release, this could be a fatal error.
Now, we have Dancer, DBI and a lot of other modules broken, not installing cleanly from CPAN.
As I can see the latest version of Test::Pod is 3 months old. (1.45 released on Mar 09, 2011) Are you sure that's the source of the problems you see?
Oh and Dancer-1.3095 tests pass for me with Test::Pod installed.
Try installing the new Podlators... as I said, not sure whose fault is (yet).
That's why it's best to put Test::Pod type stuff in "xt" instead of "t". :-)
Exactly what Toby Inkster said. The problem is running POD syntax tests when you install the module.
Those are clearly author tests, that should be run at release time, not at install time.
Fix the real problem.
The modules are there already. I do not own them all. You are seeing the problem the other way around.
If you want to change all modules on CPAN to make these tests author only, I can also fix them all, and therefore I would not complain :P
If you're looking for someone to blame - I guess that would be me.
Historically both search.cpan.org and metacpan.org have had difficulty displaying non-ASCII data in POD where the author has not specified an encoding. My patch to Pod::Simple targets POD documents that include non-ASCII characters but no =encoding. One part of the patch implements a heuristic to guess the encoding and allow the characters to be rendered properly. The other part generates the parse warning that you're seeing. Both of these changes implement things that have long been documented in the perlpodspec.
As Toby says, the real problem is that some CPAN authors have included POD tests that are run at install time rather than simply as author tests run at release time (I'm probably guilty of this myself).
I agree on complaining. Just think it should not die, at least, not now. Just after some months of carping :)
Test::Pod has always failed on warnings, IIRC. There is just a new warning.
Alberto: The new message from Pod::Simple is just a warning.
The Test::Pod module (which has not been changed) treats any warnings from the POD::Parser as a test failure. This is reasonable in an author-only test but not a test run at install time.
In that case, I would consider your changes to be broken.
See: http://www.cpantesters.org/cpan/report/33267be8-a901-11e1-b995-c5a3320db69d
Now have a look at the POD in that file, it's all ASCII. There is a UTF-8 character in the file, but not in the POD.
That was a bug in the 3.21 release of Pod::Simple and should be fixed in 3.22. I can't tell from that report which version was being used.
Can someone tell me what to roll back so that I can use CPAN again?
What actually changed?
rm'ing Test/Pod.pm makes everything better. Hooray!