diff --git a/jenkins_jobs/modules/publishers.py b/jenkins_jobs/modules/publishers.py index 2ca3cd7a5..baa6e71a6 100644 --- a/jenkins_jobs/modules/publishers.py +++ b/jenkins_jobs/modules/publishers.py @@ -677,20 +677,30 @@ def junit(parser, xml_parent, data): :arg str results: results filename :arg bool keep-long-stdio: Retain long standard output/error in test results (default true). + :arg bool test-stability: Add historical information about test + results stability (default false). + Requires the Jenkins `Test stability Plugin + `_. - Example:: + Minimal example using defaults: + + .. literalinclude:: /../../tests/publishers/fixtures/junit001.yaml + + Full example: + + .. literalinclude:: /../../tests/publishers/fixtures/junit002.yaml - publishers: - - junit: - results: nosetests.xml - keep-long-stdio: false """ junitresult = XML.SubElement(xml_parent, 'hudson.tasks.junit.JUnitResultArchiver') XML.SubElement(junitresult, 'testResults').text = data['results'] XML.SubElement(junitresult, 'keepLongStdio').text = str( data.get('keep-long-stdio', True)).lower() - XML.SubElement(junitresult, 'testDataPublishers') + datapublisher = XML.SubElement(junitresult, 'testDataPublishers') + if str(data.get('test-stability', False)).lower() == 'true': + XML.SubElement(datapublisher, + 'de.esailors.jenkins.teststability' + '.StabilityTestDataPublisher') def xunit(parser, xml_parent, data): diff --git a/tests/publishers/fixtures/junit001.xml b/tests/publishers/fixtures/junit001.xml new file mode 100644 index 000000000..1a229609f --- /dev/null +++ b/tests/publishers/fixtures/junit001.xml @@ -0,0 +1,10 @@ + + + + + nosetests.xml + true + + + + diff --git a/tests/publishers/fixtures/junit001.yaml b/tests/publishers/fixtures/junit001.yaml new file mode 100644 index 000000000..db17b641f --- /dev/null +++ b/tests/publishers/fixtures/junit001.yaml @@ -0,0 +1,3 @@ +publishers: +- junit: + results: nosetests.xml diff --git a/tests/publishers/fixtures/junit002.xml b/tests/publishers/fixtures/junit002.xml new file mode 100644 index 000000000..e807e9993 --- /dev/null +++ b/tests/publishers/fixtures/junit002.xml @@ -0,0 +1,12 @@ + + + + + nosetests-example.xml + false + + + + + + diff --git a/tests/publishers/fixtures/junit002.yaml b/tests/publishers/fixtures/junit002.yaml new file mode 100644 index 000000000..045752041 --- /dev/null +++ b/tests/publishers/fixtures/junit002.yaml @@ -0,0 +1,5 @@ +publishers: +- junit: + results: nosetests-example.xml + keep-long-stdio: false + test-stability: true