The Perl modules for automating tests seem to be built for testing other modules, not programs.
First of all I'm not an expert wrt these issues, and I apologize in advance if I'm about to say something utterly stupid, but a possibility that springs to mind would be to write a wrapper sub for your program
that would return the output of the latter as, say, returned by qx//
and check that.
eval 'use Test::Simple tests => 3;';
ok(double(2) == 4);
ok(double(-3) == -6);
ok(double(0) == 0);
So you want to run tests dependently from a cmd line switch. I don't think this is a common practice, but I don't see anything patently wrong with it. Though, incidentally, I'd try to avoid string eval
and resort to a require
, if possibly slightly more verbose...