YAPC::NA 2007

June 25-27, Houston, TX

Component-Focused Testing: The Case of the Parrot Build Tools

Component-Focused Testing: The Case of the Parrot Build Tools

By James E Keenan (‎kid51‎) from NY.pm
Date: Wednesday, June 27, 2007 09:00 AM
Duration: 50 minutes

Installation of an open-source software package such as Perl or a CPAN module generally follows a 4-step process: configure, build, test, install. Although 'make test' is usually thought of as the place where all the testing happens, the successful completion of each of the other stages implicitly constitutes the passing of a functional test. But does there exist a place for a type of test which is not included in the 'test' target but instead is run either before the 'configure' stage or between the 'configure' and 'build' stages?

In this talk, I argue that there is a role for such tests and I describe how I have implemented a number of test suites, run post-configure but pre-build, for those of Parrot's build tools written in Perl 5. Such tests encourage provide more rapid feedback on the results of refactoring than 'make test' can. Indeed, they encourage Phalanx-style refactoring which makes the build tools more maintainable over the long run.