in reply to Testing - General Questions

As jbert said, tests are in ./t and have the .t extension because they are infact a suite of regression tests that test new features and check for the introduction of new bugs.

Of the modules that I play around with, I go a step further and have an actual ./tinderbox directory. These scripts are for my own use, and are .pls. I also use lib '../lib';, so that I can test during development with out have to make test

The purpose of these files is to test for new/old bugs, /and/ to stress the application. For example, my tinderbox tests take days to run versus under 30 seconds for what is in ./t. My *.t tests, however, are subsets of these tinderbox tests, and excercise parts of the code and functionality that I have deemed important.

You can never test too much, and I for one am greatful that there is a convention, and I am more than happy to follow it.

Regarding AS Perl, as far as I know perl -MCPAN -e shell still works under it. I suggest you build (and test) your module(s) using the CPAN convention. I can't imagine that it is too difficult to repackages for ppm, and I find it even more unlikely that there is no facilitiy for automated testing....of course, I could be wrong.

update: blazar properly pointed out that I meant use base when all I wanted was use lib.

Replies are listed 'Best First'.
Re^2: Testing - General Questions
by blazar (Canon) on Nov 22, 2007 at 10:49 UTC
Re^2: Testing - General Questions
by dynamo (Chaplain) on Nov 24, 2007 at 01:38 UTC
    I'd never heard of this notion of having a 'tinderbox' directory before, or the concept behind it - having a superset of tests from which the quick / essential ones are drawn (into .t)

    That's a great idea! I'd always wondered where to store things that were too time consuming to put in tests but too re-usable to just throw away. Thank you for explaining your system.

    where did the word 'tinderbox' come from?

      Glad it could help. I didn't invent it. I see it used in projects like FreeBSD and, of course, Parrot. It is just a bunch of regression tests that I run whenever I make a non-trivial change in the code - or when I am bored and just like to see them run :)

      All I did was create a directory to store them all.