Devel::Cover Grant Report for July

In accordance with the terms of my grant from TPF this is the monthly report for my work on improving Devel::Cover covering July 2012.

This month I released Devel::Cover 0.90, 0.91 and 0.92.

I wasn't able to spend as much time working on Devel::Cover this month as I had hoped to. The time I did spend was primarily on working through RT and github tickets, resolving those I could and merging pull requests.

RT 62423 concerns Devel::Cover failing its tests when it is built in a directory containing spaces, which appears to be the default when building with cpan on OSX. I couldn't build on OSX, but I did fix things up so that Devel::Cover should now work in directories which
contain spaces. (But if you prefer your life to be easier, I suggest you don't do that.)

I made a change I've been considering for quite some time, which is to get the @INC directories from perl itself.

At build time we put the @INC directories in @Devel::Cover::Inc::Inc so that we will be able to ignore them by default at runtime. That works well normally, but sometimes the build environment differs from the run environment which can result in default coverage of core modules.

The solution is to shell out to perl and ask it what its @INC is. Of course it's not quite that easy.

And shelling out isn't very nice, but when the new V module for introspection is in place we can use that instead.

I knew this was a risky commit, but cpantesters didn't show any problems. Nevertheless, I had broken things for people using local::lib. Thankfully, Olivier Mengué noticed and patched it up for me.

I also fixed up a n earlier change I had made which made all the tests fail on Windows. Devel::Cover itself still worked, but almost all of the tests didn't. Christian Walde's cpantesters smoker detected the problem quickly and we diagnosed the problem together on IRC. So I eventually got around to installing Perl on Windows (which turned out to be pretty simple) and then it was just a matter of getting the quoting such that both *nix and Windows were happy, and hoping that other platforms work too.

(On which note, does anyone use Devel::Cover on anything other than *nix and Windows?)

As usual, I made other various fixes and updates.

The work I have completed in the time covered by this report is:

Closed RT tickets:

  • 75565 cover -test fails Writing HTML output on Windows
  • 62423 Devel::Cover 0.73 tests fail due to unescaped path
  • 57173 Devel::Cover 0.66 is causing Moose constraint failures
  • 70115 "malformed JSON string" errors when gcov2perl is ran for XS distributions
  • 39162 Devel::Cover test 't/at2.t' failure
  • 38765 1 test fails (acond_branch.t) on Cygwin 1.5.25 / Perl 5.10
  • 38453 Devel::Cover - Use of uninitialized value in sprintf
  • 68991 t/e2e epic fail when prefix for perl is not the physical location
  • 76528 Devel/Cover/ contains temporary install destination DESTDIR
  • 66881 Symlinked directories can cause ignore functionality to fail
  • 37349 /usr/local/* ommitted in Inc
  • 32345 Devel::Cover 0.63 fails 1 test under Perl 5.8.7, Ubuntu 6.06

Closed Github tickets:

  • 23 RE list with spaces doesn't work
  • 24 protect slashes on windows
  • 25 Fix inc directories when working with local::lib

Merged pull requests:

  • 24 protect slashes on windows
  • 25 Fix inc directories when working with local::lib

Fixed cpantesters reports:

  • 373d4b5
  • fede0e8

You can see the commits at

**Hours worked: 25:20
Total hours works on grant: 88:50**

About TPF

The Perl Foundation - supporting the Perl community since 2000. Find out more at

About this Entry

This page contains a single entry by mdk published on August 9, 2012 10:35 AM.

Spanish Localization of the Perl Core Documentation - Grant Report #2 was the previous entry in this blog.

2012Q3 Grant Proposal: Improve WriteAt suite by exporting books to pdf and epub formats is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.


OpenID accepted here Learn more about OpenID
Powered by Movable Type 6.2.2