Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test suite failing with recent Devel::Declare #307

Open
pghmcfc opened this issue May 7, 2020 · 1 comment
Open

Test suite failing with recent Devel::Declare #307

pghmcfc opened this issue May 7, 2020 · 1 comment

Comments

@pghmcfc
Copy link
Contributor

pghmcfc commented May 7, 2020

Devel::Declare was recently updated to address compilation issues with blead, and the resulting new version does not work with perl5i's test suite:

t/Meta/linear_isa.t .......... ok
Couldn't find declarator 'func' at /usr/lib64/perl5/vendor_perl/Devel/Declare/Context/Simple.pm line 47.
        Devel::Declare::Context::Simple::skip_declarator(perl5i::2::Signatures=HASH(0x563bf587ae10)) called at /usr/lib64/perl5/vendor_perl/Devel/Declare/MethodInstaller/Simple.pm line 62
        Devel::Declare::MethodInstaller::Simple::parser(perl5i::2::Signatures=HASH(0x563bf587ae10), "func", 4, 1) called at /usr/lib64/perl5/vendor_perl/Devel/Declare/MethodInstaller/Simple.pm line 25
        Devel::Declare::MethodInstaller::Simple::__ANON__("func", 4) called at /usr/lib64/perl5/vendor_perl/Devel/Declare.pm line 277
        Devel::Declare::linestr_callback("const", "func", 4) called at
t/Meta/methods.t line 115
t/Meta/methods.t ............. 
Dubious, test returned 255 (wstat 65280, 0xff00)
No subtests run 
[...]
Test Summary Report
-------------------
t/Meta/methods.t           (Wstat: 65280 Tests: 0 Failed: 0)
  Non-zero exit status: 255
  Parse errors: No plan found in TAP output
t/command_line_wrapper.t   (Wstat: 65280 Tests: 0 Failed: 0)
  Non-zero exit status: 255
  Parse errors: No plan found in TAP output
t/each.t                   (Wstat: 65280 Tests: 0 Failed: 0)
  Non-zero exit status: 255
  Parse errors: No plan found in TAP output
t/everything_is_an_object.t (Wstat: 0 Tests: 2 Failed: 0)
  TODO passed:   2
t/foreach.t                (Wstat: 65280 Tests: 0 Failed: 0)
  Non-zero exit status: 255
  Parse errors: No plan found in TAP output
t/map.t                    (Wstat: 65280 Tests: 0 Failed: 0)
  Non-zero exit status: 255
  Parse errors: No plan found in TAP output
t/pick.t                   (Wstat: 65280 Tests: 0 Failed: 0)
  Non-zero exit status: 255
  Parse errors: No plan found in TAP output
t/signature.t              (Wstat: 65280 Tests: 0 Failed: 0)
  Non-zero exit status: 255
  Parse errors: No plan found in TAP output
t/signatures.t             (Wstat: 65280 Tests: 0 Failed: 0)
  Non-zero exit status: 255
  Parse errors: No plan found in TAP output
Files=101, Tests=1016, 36 wallclock secs ( 0.34 usr  0.17 sys + 25.49 cusr 3.11 csys = 29.11 CPU)
Result: FAIL
Failed 8/101 test programs. 0/1016 subtests failed.

This was mentioned at https://rt.cpan.org/Public/Bug/Display.html?id=131226 and it doesn't look likely to be fixed:

I hope no one is waiting for bated breath for a fix, because none is on the horizon. Karl Williamson graciously provided the fix in 020 and advises that it is not straightforward to fix the remaining issues that the other modules are experiencing, and I am not familiar with this area at all. What Devel::Declare is doing in the parser is highly fragile and it's a miracle things have held together this far. This fragility is exactly why there are now much better hooks into the parser to achieve similar goals -- namely PL_keyword_plugin (see perldoc perlapi). Syntax::Keyword::Try (and other projects by Paul Evans) are good places to look for modern examples of its use.

@ivanfreeside
Copy link

Currently, perl5i will not be included in the upcoming Debian 11 release. It has been included in Debian releases since 6.0 in 2011. If there was a fix available, there might be time to get the package back in before release (the release is not in "full freeze" yet), but time is definitely running short.

(I did the original work to upload perl5i and dependencies to Debian, but I have not been involved with updating those packages in the last decade.)

Looking at the larger picture, there has not been a release since 2016 or bug activity from MSCHWERN since 2017. If perl5i isn't going to be updated to use current best-practice tooling, is the perl5i experiment over? It would be hard to consider using it for new projects at this time (no offense).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants