PITA::Scheme - PITA Testing Schemes


  # Have the scheme load up from the provided config
  my $scheme = PITA::Scheme->new(
      injector => $injector,
      workarea => $workarea,
  # Prepare to run the tests
  # Run the tests


While most of the PITA system exists outside the guest testing images and tries to have as little interaction with them as possible, there is one part that needs to be run from inside it.

PITA::Scheme objects live inside the image and does three main tasks.

1. Unpack the package and prepare the testing environment

2. Run the sequence of commands to execute the tests and capture the results.

3. Package the results as a PITA::XML::Report and send it to the PITA::Host::ResultServer.

This functionality is implemented in a module structure that is highly subclassable. In this way, PITA can support multiple different testing schemes for multiple different languages and installer types.

Setting up a Testing Image

Each image that will be set up will require a bit of customisation, as the entire point of this type of testing is that every environment is different.

However, by keeping most of the functionality in the PITA::Scheme objects, all you should need to do is to arrange for a simple Perl script to be launched, that feeds some initial configuration to the PITA::Scheme object.

And it should do the rest. Or die... but we'll cover that later.


Please excuse the lack of details for now...



Bugs should be reported via the CPAN bug tracker at

For other issues, contact the author.


Adam Kennedy <>,


The Perl Image Testing Architecture (

PITA, PITA::XML, PITA::Host::ResultServer


Copyright 2005 - 2011 Adam Kennedy.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

The full text of the license can be found in the LICENSE file included with this module.