June CPAN PR Challenge: App::DPath

Having recovered a small slice of free time, I signed up for the CPAN Pull Request Challenge again and drew App::DPath.  I started by looking for things to do:

That gave me a couple things to work on.


  1.  Installed Strawberry Perl 5.22.0 64-bit on my Windows 7 desktop machine.
  2.  Forked the App::DPath github repo and cloned my repo onto my machine.
  3.  Installed the Dist::Zilla ecosystem so I can test the module.  Surprising Dist::Zilla works just fine under Strawberry Perl.  I was a bit worried.

Windows CPAN Testers Failures

First, I confirmed the error exists on my machine, then I went digging.  t/app_dpath.t includes a check function that builds a dpath command line invocation for each test case, but does not capture error output so I wasn't getting any feedback from the command invocation. I brute forced things by printing the built-up command string to stdout so I could see what the test was trying to run.  The test invocation includes a complex Data::DPath selector string and I thought maybe Windows was misinterpreting that string.  I confirmed this by running the test invocation manually using a simpler DPath selector successfully.

I suspecteda quoting problem, so I switched up how single and double quotes were used in t/app_dpath.t and quickly found a set of simple changes that allowed the tests to run successfully. I committed those changes on a branch, pushed it to github, then cloned and successsfully tested my changes on a linux box to make sure I didn't break break anything with my fix.  I created an issue on the github repo for the CPAN Testers failures, and a pull request to fix them.  One task down!

Remove use of convert_blessed_universally

I read the bug report, and the bug report it referenced.  Seemed like a good idea so I tackled it.  This one was very simple: Use JSON::MaybeXS in place of the call to use JSON -convert_blessed_universally and make sure the tests still pass.  Another issue created and pull request.  Task two down!

All in, a nice evenings work.