Slash Boxes
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

petdance (2468)

AOL IM: petdance (Add Buddy, Send Message)
Yahoo! ID: petdance (Add User, Send Message)

I'm Andy Lester, and I like to test stuff. I also write for the Perl Journal, and do tech edits on books. Sometimes I write code, too.

Journal of petdance (2468)

Friday July 18, 2003
02:09 PM

Testing Ponie

[ #13544 ]
Ponie has renewed my faith in the Perl 6 effort. I've never been comfortable with the idea of Perl 6 being two, two, two projects in one: Perl 6 and Parrot. Now we can have two separate and distinct goals.

Having Ponie and Parrot as two deliverables means we can have twice the faith in the correctness of the code. Without this setup, we might not know if a problem lies with Parrot or Perl 6. Now, we'll be able to isolate some of our problems.

Once I started thinking about the project (and talking with Leon Brocard over gin & tonics), I realized how much automated testing would be required to verify that Ponie works as advertised. I put on my Testing Evangelist hat and started hatching plans for how to make use of the existing Perl 5 tests, as well as the tests for the top 20% of CPAN (following the 80/20 rule), to help verify the correctness of Ponie. Not all modules have great test suites, so I'm going to work with those authors to see how we can beef them up, and increase the coverage, both for the module and for Ponie.

Automated testing is a low-cost, high-payback benefit. Cycles are cheap, and it makes sense to let the machine be watching over your shoulder as much as possible. I'd like to see daily, or even hourly, builds of Ponie to make sure that nothing's been broken.

(Mirrored at

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
More | Login | Reply
Loading... please wait.
  • Andy, I'll help you in this. I am interested in contributing something other than book reviews.
  • I'm just curious how you are going to find what modules are in top 20%. This list could be interesting on its own.

    Ilya Martynov ( [])

  • OK, so it's not one of the top modules, but if you have any suggestions for a sane way to test File::Find::Rule::Permissions, I'm all ears.
    • First off, throw away Create a t/ directory.

      Here's t/readable.t to check that the permissions actually work for the current user at least.

      use warnings;
      use strict;

      use Test::More tests => 3;
      use_ok( 'File::Find::Rule::Permissions' );

      # Could easily check all 512 possibilities
      my @readable = qw( 777 644 600 700 400 );
      my @unreadable = qw( 000 222 333 );

      my $scratch = "t/scratch";

      # Clean up any leftovers from previous tests
      mkdir $scratch;
      my @leftovers = <$scratch/*>;
      chmod 0777, @leftovers;