Subject: | CHI::Test system a bit messy for dependency resolution |
1. CHI::Test and friends are currently expressly "no-indexed", so they can't be depended upon.
2. =~ Autoprereq generators are thus "right", but need hand adjustment to work.
3. Dependencies of CHI::Test are not considered Runtime dependencies, But Test dependencies.
This is true for CHI itself to an extent, but for anything *consuming* CHI::Test, those Test dependencies should be considered "CHI::Test runtime dependencies"
The net result of these have some unfortunate side effects:
For instance, if I'm testing a module prior to ship with travis, all the dependencies themselves will be installed with '--notest', which means CHI's TEST_REQUIRES don't get pulled, because they're deemed not needed. ( Because we're not testing CHI itself, only a thing that *uses* CHI )
And then they'll execute CHI::Test and friends as part of the test, and fail due to the dependencies being missing:
https://travis-ci.org/kentnl/CHI-Driver-LMDB/jobs/35110807 # Fails because Test::Deep is not installed
https://travis-ci.org/kentnl/CHI-Driver-LMDB/jobs/35110803 # Fails because Date::Parse is not installed
This essentially means everyone who consumes CHI::Test has to also forwards declare CHI::Test's dependencies, and that doesn't seem very perlish to me =).