XylotrechusZ
�
���g}- � � � d Z ddlZddlZddlZddlZddlZddlZddlZddlm Z ddl
m
Z
ddlmZ ddl
mZ ddlmZ ddlmZmZ ej( d � Z ej( d
� Zd� Zd� Zd
� Zd� Zd� Z G d� de� Z G d� de� Zy)aU This plugin provides test results in the standard XUnit XML format.
It's designed for the `Jenkins`_ (previously Hudson) continuous build
system, but will probably work for anything else that understands an
XUnit-formatted XML representation of test results.
Add this shell command to your builder ::
nosetests --with-xunit
And by default a file named nosetests.xml will be written to the
working directory.
In a Jenkins builder, tick the box named "Publish JUnit test result report"
under the Post-build Actions and enter this value for Test report XMLs::
**/nosetests.xml
If you need to change the name or location of the file, you can set the
``--xunit-file`` option.
If you need to change the name of the test suite, you can set the
``--xunit-testsuite-name`` option.
Here is an abbreviated version of what an XML test report might look like::
<?xml version="1.0" encoding="UTF-8"?>
<testsuite name="nosetests" tests="1" errors="1" failures="0" skip="0">
<testcase classname="path_to_test_suite.TestSomething"
name="test_it" time="0">
<error type="exceptions.TypeError" message="oops, wrong type">
Traceback (most recent call last):
...
TypeError: oops, wrong type
</error>
</testcase>
</testsuite>
.. _Jenkins: http://jenkins-ci.org/
� N)�StringIO)�time)�saxutils)�Plugin)�SkipTest)�
force_unicode�format_exceptionz[\000-\010\013\014\016-\037]z^(.*?)(\(.*\))$c �. � t j d| � S )z)Replaces invalid XML characters with '?'.�?)�CONTROL_CHARACTERS�sub)�values �A/opt/hc_python/lib/python3.12/site-packages/nose/plugins/xunit.py�xml_safer >