In accordance with the terms of my grant from TPF this is the monthly report for my work on improving Devel::Cover covering August 2013.
This month I released Devel::Cover versions 1.07 and 1.08. Version 1.07 was primarily concerned with getting Devel::Cover to work with recent Perl releases: 5.18.1, 5.19.1, 5.19.2 and 5.19.3. The main problem was with 5.18.1 which is a stable, maintenance release of Perl and which was causing Devel::Cover the fail its tests rather dramatically. And the tests were showing up a real problem which stopped Devel::Cover working with Perl 5.8.1 at all. The original bug report against Perl, filed by Jim Keenan, is RT #119351: Perl 5.18.1 breaks Devel::Cover. And the analysis of the problem is at https://rt.perl.org/rt3//Public/Bug/Display.html?id=119351#txn-1245355 The minimal test case is: $ perl5.18.0 -MB -E 'say B::main_cv->GV // "undef"' B::SPECIAL=SCALAR(0x7b58e0) $ perl5.18.1 -MB -E 'say B::main_cv->GV // "undef"' undef which shows the regression from 5.18.0 and, indeed, from every stable version since 5.6.1, which is the first version that Devel::Cover works with and, I think, the first version which supported this construct. The reason that Devel::Cover has, and always had, a minimum requirement of Perl 5.6.1 was because that was the first version of Perl which supported sufficient introspection capabilities (B::) to make Devel::Cover possible. The offending commit was e6c4c33, which was an important fix for a crash related to lexical subroutines, but which had this unfortunate and unintended consequence. Further discussion in RT #119413: Reconsider e6c4c33 to ext/B/ in light of test failures, suggests that we will see a Perl 5.18.2 release fixing this regression sooner rather than later. On a personal note, I'm annoyed that I didn't test any of the 5.18.1 release candidates against Devel::Cover. Doing so could have prevented 5.18.1 being released with this regression. I do usually test the release candidates against all the modules I use personally or in my work, but this release caught me during a rather busy time. In any case, irrespective of what happens with upcoming Perl releases, Devel::Cover 1.07 and later work with every stable version from 5.6.1 to 5.18.1, and should work with 5.18.2 whether or not this regression is fixed. The same regression, unsurprisingly, was in bleadperl, and was causing Devel::Cover to fail with recent development releases. The fix for 5.18.1 also worked for the development releases, but Perl 5.19.2 and 5.19.3 had another problem. The problem was that line numbers reported for certain constructs changed and whilst Devel::Cover still worked, the tests were failing because the line numbers against which coverage was reported didn't match. This problem was reported in Perl RT #118931 and shows that the problem started with 2179133 and was fixed with bf1b738. But since there are some cpantesters running 5.19.2 and 5.19.3, I caused the problematic tests to be skipped on those versions. So as of the end of August, The current version of Devel::Cover should pass its tests against all stable versions of Perl since 5.6.1 and all 5.19.x development releases. As usual, there were also some patches applied, pull requests merged, and other bugs fixed. As I mentioned in previous reports, I'm still rather busy with other work, but I hope that I will be able to start devoting more time to Devel::Cover towards the end of September. Closed Github tickets: 66 test failed on Perl 5.18.1 67 typo fixes 68 Devel::Cover 1.06: many test failures with Perl 5.18.1 Merged pull requests: 67 typo fixes Closed RT tickets: #88027 [PATCH] POD encoding Fixed cpantesters reports: http://www.cpantesters.org/cpan/report/f55d93ca-ef02-11e2-86a0-c002f2ff63fb http://www.cpantesters.org/cpan/report/30be31c6-f1b6-11e2-afc2-f2e1da45041b http://www.cpantesters.org/cpan/report/064f36d0-f1eb-11e2-bf5c-b8f3f1ff63fb http://www.cpantesters.org/cpan/report/fbc3b37c-f356-11e2-9ec7-5be4f1ff63fb http://www.cpantesters.org/cpan/report/8cb777fe-f3d6-11e2-a1a6-d9e588f30751 http://www.cpantesters.org/cpan/report/01337d58-f576-11e2-bcc8-eaa4f1ff63fb http://www.cpantesters.org/cpan/report/d9066a0a-f4be-11e2-ac5a-1eb5f1ff63fb http://www.cpantesters.org/cpan/report/cd493678-fdf3-11e2-bc11-107f5388eb25 http://www.cpantesters.org/cpan/report/d1eb5ae0-038d-11e3-acb5-a176cd95e79a http://www.cpantesters.org/cpan/report/48e7199c-03c3-11e3-8a37-e2882d12fa71 http://www.cpantesters.org/cpan/report/0a95b548-041f-11e3-8a37-e2882d12fa71 http://www.cpantesters.org/cpan/report/f17470be-0418-11e3-935d-85093788882e http://www.cpantesters.org/cpan/report/33dc0f64-0560-11e3-8a37-e2882d12fa71 http://www.cpantesters.org/cpan/report/c535a3e6-0752-11e3-bc0a-b75d6d822b3f http://www.cpantesters.org/cpan/report/56faf65a-0767-11e3-8b51-dc8ed8c219ae http://www.cpantesters.org/cpan/report/0f4fba8e-eff2-11e2-85ee-142989f30751 http://www.cpantesters.org/cpan/report/c0f0efc6-efd7-11e2-8541-50faf1ff63fb http://www.cpantesters.org/cpan/report/bea64e9c-f2a1-11e2-b883-7597f1ff63fb http://www.cpantesters.org/cpan/report/7e018316-f61b-11e2-9843-3cfc88f30751 You can see the commits at https://github.com/pjcj/Devel--Cover/commits/master Hours worked: 21.08 5:20 24.08 4:15 Total 9:35 Total hours worked on grant: 294:30 -- Paul Johnson - p...@pjcj.net http://www.pjcj.net