Playing with Alias' new CPANDB
5 comments
Comment from: Adam Kennedy Visitor

One minor improvement to this would be to ignore any dependencies where the source isn't Test (So that you factor out Test -> Test deps).
So perhaps add in a
r.distribution NOT LIKE '%Test'
Comment from: robin Member

Changed to:
SELECT d.author, count(r.module) AS test_namespace_used_in_runtime_phase
FROM requires r JOIN distribution d ON r.distribution = d.distribution
WHERE r.module LIKE 'Test::%'
AND r.phase = 'runtime'
AND r.distribution NOT LIKE 'Test%'
GROUP BY d.author
ORDER BY test_namespace_used_in_runtime_phase DESC
LIMIT 20
Results:
NUFFIN 119
LUSHE 78
ANDYA 72
RJBS 66
LBROCARD 65
BDFOY 62
MARKOV 62
MIYAGAWA 53
ISHIGAKI 48
SIMONW 45
TOKUHIROM 37
NKH 36
LEOCHARRE 34
DAVEBAIRD 32
KARMAN 31
MCMAHON 31
PETDANCE 28
SALVA 28
SMUELLER 26
AMBS 25
Not much difference in the report after this correction.

In my case, I check at runtime as some functionality can be enabled/disabled by knowing which optional modules are available. This is particularly true for many of the plugin frameworks I've written.
Comment from: robin Member

@Barbie: Should the module actually be listed as a required dependency if you check for its existence at (test) runtime? I thought that was what the recommended list was for.
Comment from: Adam Kennedy Visitor

Looking some some of NUFFIN's modules, it's probably because he's using raw ExtUtils::MakeMaker (which doesn't natively support anything other than a run-time requires).