Provided by: libtap-harness-junit-perl_0.42-2_all bug

NAME

       TAP::Harness::JUnit - Generate JUnit compatible output from TAP results

SYNOPSIS

           use TAP::Harness::JUnit;
           my $harness = TAP::Harness::JUnit->new({
               xmlfile => 'output.xml',
               package => 'database',
               # ...
           });
           $harness->runtests(@tests);

DESCRIPTION

       The only difference between this module and TAP::Harness is that this module adds the
       optional arguments 'xmlfile', 'package', and 'namemangle' that cause the output to be
       formatted into XML in a format similar to the one that is produced by the JUnit testing
       framework.

METHODS

       This module inherits all functions from TAP::Harness.

   new
       These options are added (compared to TAP::Harness):

       xmlfile
           Name of the file XML output will be saved to. If this argument is omitted, the default
           of "junit_output.xml" is used and a warning is issued.

           Alternatively, the name of the output file can be specified in the $JUNIT_OUTPUT_FILE
           environment variable

       package
           The Hudson/Jenkins continuous-integration systems support separating test results into
           "packages". By default any number of output xml files will be merged into the default
           package "(root)".

           Setting a package name will place all test results from the current run into that
           package. You can also set the environment variable $JUNIT_PACKAGE to do the same.

       notimes (DEPRECATED)
           If provided (and true), test case times will not be recorded.

       namemangle
           Specify how to mangle testcase names. This is sometimes required to interact with
           buggy JUnit consumers that lack sufficient validation.

           Alternatively, this value can be set in the environment variable $JUNIT_NAME_MANGLE.

           Available values are:

           hudson
               Replace anything but alphanumeric characters with underscores. This is the default
               for historic reasons.

           perl (RECOMMENDED)
               Replace slashes in the directory hierarchy with dots so that the filesystem layout
               resembles a Java class hierarchy.

               This is the recommended setting and may become the default in future.

           none
               Do not perform any transformations.

ENVIRONMENT VARIABLES

       The name of the output file can be specified in the $JUNIT_OUTPUT_FILE environment
       variable

       The package name that Hudson/Jenkins use to categorise test results can be specified in
       $JUNIT_PACKAGE.

       The name mangling mechanism used to rewrite test names can be specified in
       $JUNIT_NAME_MANGLE. (See namemangle documentation for available values.)

SEE ALSO

       TAP::Formatter::JUnit at <https://metacpan.org/pod/TAP::Formatter::JUnit>

       The JUnit XML schema was obtained from
       <http://jra1mw.cvs.cern.ch:8180/cgi-bin/jra1mw.cgi/org.glite.testing.unit/config/JUnitXSchema.xsd?view=markup>.

ACKNOWLEDGEMENTS

       This module was partly inspired by Michael Peters's TAP::Harness::Archive.  It was
       originally written by Lubomir Rintel (GoodData) "<lubo.rintel@gooddata.com>" and includes
       code from several contributors.

       The following people (in no specific order) have reported problems or contributed code to
       TAP::Harness::JUnit:

       David Ritter
       Jeff Lavallee
       Andreas Pohl
       Ton Voon
       Kevin Goess
       Richard Huxton
       David E. Wheeler
       Malcolm Parsons
       Finn Smith
       Toby Broyles

BUGS

       The comments that are above the "ok" or "not ok" are considered the output of the test.
       This, though being more logical, is against TAP specification.

       XML::Simple is used to generate the output. This is suboptimal and involves some hacks.

       During testing the resulting files are not tested against the schema. This would be a good
       thing to do.

CONTRIBUTING

       Source code for TAP::Harness::JUnit is kept in a public Git repository.  Visit
       <https://github.com/jlavallee/tap-harness-junit>.

       Bug reports and feature enhancement requests are tracked at
       <https://rt.cpan.org/Public/Dist/Display.html?Name=TAP-Harness-JUnit>.

COPYRIGHT & LICENSE

       Copyright 2008, 2009, 2010, 2011, 2012, 2013 TAP::Harness::JUnit contributors. All rights
       reserved.

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