Le 2012-03-31 00:14:48, DOHERTY a écrit :
Show quoted text> This test injects a test into the dist that'll be uploaded to PAUSE. If
> an end-user runs the test, I don't see why it should fail if they don't
> already have Test::EOL installed - I think skipping is the right
> behaviour there.
EOL problems are not the problem of the final user. They are problems of
the author that he has to fix before a release.
The test must be skipped on the user machine indepently of wether or not
Test::EOL is installed or not.
This behavior is correct.
Show quoted text> If you're working on the module, it is your responsibility to have
> Test::EOL installed. To that end, I think the Dist::Zilla plugin should
> require Test::EOL (because, if you don't have it then how will you run
> your tests prior to release in a meaningful way?).
That's my point, and here are the problems:
- dependencies are wrong in META.yml: Test::EOL and Test::Requires are
missing from the dependencies of DZPTE, so they are not installed on the
author machine when he installs DZPTE. The test will fail not because
the author has wrong EOL, but because he doesn't have Test::Requires
- Test::Requires will skip the test if Test::EOL instead of enforcing
its presence. So once the author manually installs Test::Requires
(because the problem above), the test succeed, but not because all EOL
are fine. Instead it is because Test::EOL is missing so nothing has been
tested, but a success is still reported.
The fix:
- drop Test::Requires usage as Test::EOL is mandatory for the author
- add Test::EOL in dependencies