GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
TAP::Harness::JUnit(3) User Contributed Perl Documentation TAP::Harness::JUnit(3)

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

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

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.

This module inherits all functions from TAP::Harness.

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.

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.)

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>.

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

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.

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 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.

2022-04-09 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.