From a6e71c0e068023228e73c5030d1fdc53f8708552 Mon Sep 17 00:00:00 2001 From: Randy Coulman Date: Tue, 15 Apr 2014 08:51:17 -0700 Subject: [PATCH] Support Fitnesse results publisher Change-Id: Ide61f53df1ff8b9bd4d4c67abcad7b485387f44e --- jenkins_jobs/modules/publishers.py | 21 +++++++++++++++++++++ setup.cfg | 1 + tests/publishers/fixtures/fitnesse001.xml | 8 ++++++++ tests/publishers/fixtures/fitnesse001.yaml | 3 +++ 4 files changed, 33 insertions(+) create mode 100644 tests/publishers/fixtures/fitnesse001.xml create mode 100644 tests/publishers/fixtures/fitnesse001.yaml diff --git a/jenkins_jobs/modules/publishers.py b/jenkins_jobs/modules/publishers.py index 153569447..849c09e12 100644 --- a/jenkins_jobs/modules/publishers.py +++ b/jenkins_jobs/modules/publishers.py @@ -3416,6 +3416,27 @@ def ruby_metrics(parser, xml_parent, data): raise JenkinsJobsException('Coverage metric targets must be set') +def fitnesse(parser, xml_parent, data): + """yaml: fitnesse + Publish Fitnesse test results + + Requires the Jenkins `Fitnesse plugin. + `_ + + :arg str results: path specifier for results files + + Example: + + .. literalinclude:: /../../tests/publishers/fixtures/fitnesse001.yaml + + """ + fitnesse = XML.SubElement( + xml_parent, + 'hudson.plugins.fitnesse.FitnesseResultsRecorder') + results = data.get('results', '') + XML.SubElement(fitnesse, 'fitnessePathToXmlResultsIn').text = results + + class Publishers(jenkins_jobs.modules.base.Base): sequence = 70 diff --git a/setup.cfg b/setup.cfg index b3ee88ab0..a0f89920a 100644 --- a/setup.cfg +++ b/setup.cfg @@ -114,6 +114,7 @@ jenkins_jobs.publishers = email=jenkins_jobs.modules.publishers:email emotional-jenkins=jenkins_jobs.modules.publishers:emotional_jenkins fingerprint=jenkins_jobs.modules.publishers:fingerprint + fitnesse=jenkins_jobs.modules.publishers:fitnesse ftp=jenkins_jobs.modules.publishers:ftp git=jenkins_jobs.modules.publishers:git github-notifier=jenkins_jobs.modules.publishers:github_notifier diff --git a/tests/publishers/fixtures/fitnesse001.xml b/tests/publishers/fixtures/fitnesse001.xml new file mode 100644 index 000000000..08be4a294 --- /dev/null +++ b/tests/publishers/fixtures/fitnesse001.xml @@ -0,0 +1,8 @@ + + + + + fitnesse-results/**/*.xml + + + diff --git a/tests/publishers/fixtures/fitnesse001.yaml b/tests/publishers/fixtures/fitnesse001.yaml new file mode 100644 index 000000000..17a8fb250 --- /dev/null +++ b/tests/publishers/fixtures/fitnesse001.yaml @@ -0,0 +1,3 @@ +publishers: + - fitnesse: + results: "fitnesse-results/**/*.xml"