PITA::XML::Request - A request for the testing of a software package


  # Create a request specification
  my $dist = PITA::XML::Request->new(
      scheme    => 'perl5',
      distname  => 'PITA-XML',
      # The package to test
      file      => PITA::XML::File->new(
          filename  => 'Foo-Bar-0.01.tar.gz',
          digest    => 'MD5.0123456789ABCDEF0123456789ABCDEF',
      # Optional fields for repository-based requests
      authority => 'cpan',
      authpath  => '/id/A/AD/ADAMK/Foo-Bar-0.01.tar.gz',


PITA::XML::Request is an object for holding information about a request for a distribution to be tested. It is created most often as part of the parsing of a PITA::XML XML file.

It holds the testing scheme, name of the distribition, file information, and authority information (if the distribution was sourced from a repository such as CPAN)



The id accessor returns the unique identifier of the request, if it has one. This should be some form of Data::UUID string.

Returns the identifier as a string, or undef if the request has not been assigned an id.


The scheme accessor returns the name of the testing scheme that the distribution is to be tested under.

In this initial implementation, the following schemes are supported.


Perl 5 general testing scheme.

Auto-detect the specific sub-scheme (currently either perl5.makefile or


Traditional Perl 5 testing scheme.

Executes perl Makefile.PL, make, make test, make install.

Module::Build Perl 5 testing scheme.

Executes perl Build.PL, Build, Build test, Build install.


Perl 6 general testing scheme.

Specifics are yet to be determined.


The distname accessor returns the name of the request as a string.

Most often, this would be something like 'Foo-Bar' with a primary focus on the class Foo::Bar.


The file accessor returns the PITA::XML::File that contains the package to test.


If present, the authority accessor returns the name of the package authority. For example, CPAN distributions use the authority 'cpan'.


When testing distributions , the authpath returns the path for the Request file within the CPAN.

For non-CPAN distributions, returns false (the null string).

find_file $base

The find_file method takes a file or directory as a param (which must exist) and tries to locate the actual file on disk at a location within or relative to the passed path.

Returns the merge path to the file (if it exists) or undef if not.


Bugs should be reported via the CPAN bug tracker at

For other issues, contact the author.


Adam Kennedy <>,



The Perl Image-based Testing Architecture (


Copyright 2005 - 2013 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.