Paul Johnson
2013-08-31 23:02:48 UTC
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
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 - ***@pjcj.net
http://www.pjcj.net
Paul Johnson - ***@pjcj.net
http://www.pjcj.net