Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login | Reply
Loading... please wait.
  • At the end of every test, report %INC and at the end of the test run, report every module in %INC, which version is was released with and if it's not core, check if it's listed as a dependency.

    Woah there! I agree this would be a nice author test, but it's is much harder than just using %INC.

    1) Testing for core status
    --> For what version of perl? Needs to know what's the minimum version of perl this module runs on. I think since there is no META.yml attribute which is reliable and agreed upon, this needs
    • For what version of perl?

      Module::CoreList [cpan.org]

      I have no idea what compells you to mention PPI in this context.

      I think this sort of module would only do good if it had a robust implementation and that is probably very hard.

      You think a simple implementation that gets us ¾ of the value of a completely airtight implementation is worthless? Why?

      • I have no idea what compells you to mention PPI in this context.

        That's because you misunderstood me. Given a distribution to be tested, you need to know the minimum perl version it's compatible with to be able to USE Module::CoreList at all. To get a list of core modules, you need a perl version, remember? I mention PPI because it's used to implement Perl::MinimumVersion.

        You think a simple implementation that gets us ¾ of the value of a completely airtight implementation is worthless? Why?

        Because suppose there is a "Test::Dependencies" which works akin to Test::Pod or so. In that case, spurious failures would mean it's useless. That's the case I was thinking about.

        If you implement it as a separate make/Build target so the author can run it if he likes and gets a full report as Ovid or Andy suggested, that may be useful.

        • Given a distribution to be tested, you need to know the minimum perl version it’s compatible with

          Ah. I can see that in your previous comment now, but you weren’t quite explicit enough about the point, so I didn’t understand you correctly on first read.

          If you implement it as a separate make/Build target

          I thought it was a given that checking the dependency list is done before you upload to PAUSE. This sort of test would be useless if it ran after your distro ship had sailed.

          • I thought it was a given that checking the dependency list is done before you upload to PAUSE. This sort of test would be useless if it ran after your distro ship had sailed.

            How touchingly naive :-) It's amazing how many people don't bother checking. Aside from plain and simple coding errors, undeclared dependencies are one of the most common problems with modules. It's hard to blame the authors though. If you use LWP::UserAgent every day it's hard to remember that it's not core. Even harder to remem

            • No, what I meant is that I thought it was a given that any automatic depency list checker would be for use before, not after, uploading.

              If anyone thought people always checked the list themselves, we wouldn’t even be having this discussion…