Firepear Informatics
Are we there yet, Papa Smurf?

Catechesis is almost ready for its initial release; all that’s left is doc cleanup and packaging.

When processing this file, which is a test suite against this specification, this output is produced:

$ catechist -s examples/math.pl examples/test_suite.txt
# Running the standard Catechesis test suite!
1..11
# These tests should succeed if you have implemented the spec commands correctly
ok 1 Simple addition
ok 2 Subtraction
ok 3 Multiplication
ok 4 Division
# These should pass if you have implemented spec error handling correctly
ok 5 Null send produces "no command" err
ok 6 Bad command
ok 7 'operands' is not list
ok 8 Missing operands 1
ok 9 Missing operands 2
ok 10 Non-integer operands
ok 11 Division by zero

Which pretty much looks like TAP. But you don’t have to take my word for it.

$ prove --exec='catechist -s examples/math.pl' examples/test_suite.txt
examples/test_suite.txt .. ok
All tests successful.
Files=1, Tests=11, 0 wallclock secs ( 0.03 usr 0.01 sys + 0.06 cusr 0.02 csys = 0.12 CPU)
Result: PASS

I have to admit that I wanted to either cry or do a little dance the first time I saw that. It’s been a long time since I’ve had any new software actually be born. Usually it just manages to prove some new ideas and pass a couple hundred unit tests before being sent back for disassembly and use as fodder for the next design iteration.

Speaking of unit tests, Catechesis itself has plenty.

All tests successful.
Files=6, Tests=185,  0 wallclock secs...
Result: PASS

That’s 185 tests for 370 SLOC, representing 98.4% test coverage (which can, and will be pulled up very slightly).

So yeah. It’s almost time. Look for it on a CPAN near you, soon.