Discussion:
TPF Devel::Cover grant report Week 19
Paul Johnson
2012-10-08 00:18:50 UTC
Permalink
In accordance with the terms of my grant from TPF this is the report for
week 19 of my work on improving Devel::Cover.

This report covers 22.09 to 28.09.

This week I released Devel::Cover versions 0.95 and 0.96.

I spent some time tracking down a strange bug. Christian Walde reported in
https://github.com/pjcj/Devel--Cover/issues/29 that Devel::Cover was going
into an infinite loop running the Moo test suite, and in particular on one of
the xt/ tests. (It was xt/super-jenga.t.)

I was unable to repeat the problem, so Christian allowed me to login to his
machine. There I could repeat the problem, but copying Devel/Cover.pm locally
and running with -I . to use the local file caused the problem not to occur.

It turned out that during global destruction a file-scoped lexical variable
had already been destroyed when a subroutine using it was called. This
strange situation caused the infinite loop in that subroutine.

I wanted to fix the problem by checking ${^GLOBAL_PHASE} but, unfortunately,
that variable doesn't exist before 5.14, so I ended up just checking that the
lexical variable wasn't false. (The variable holds a regex.)


Closed Github tickets:

29 cover -test on windows loops endlessly
27 Newer versions assume $^X is always pointing to Perl executable

Merged pull requests:

28 You are sat next to me so I guess this is ok
(I was sat next to him, and forgot that I would use the title here.)

You can see the commits at https://github.com/pjcj/Devel--Cover/commits/master

Hours worked:

22.09 1:45
24.09 7:10

Total 8:55
--
Paul Johnson - ***@pjcj.net
http://www.pjcj.net
Loading...