From 59483513a360615a6c4291fcb51db2351cd306d1 Mon Sep 17 00:00:00 2001 From: Christian Fetzer <fetzer.ch@gmail.com> Date: Sun, 31 Aug 2014 21:43:55 +0200 Subject: [PATCH] valgrind publisher: Add parameters to fail build Add optional parameters fail-no-reports and fail-invalid-reports that set the build status to failure if no valgrind reports are available or if the reports are malformed. This parameters have been added to the Jenkins Valgrind Plugin version 0.21. Change-Id: I558802896f24a596f07957ab58a83fcaf6054093 --- jenkins_jobs/modules/publishers.py | 8 ++++++++ tests/publishers/fixtures/valgrind001.xml | 2 ++ tests/publishers/fixtures/valgrind001.yaml | 2 ++ 3 files changed, 12 insertions(+) diff --git a/jenkins_jobs/modules/publishers.py b/jenkins_jobs/modules/publishers.py index 6bb0b9827..0e4001768 100644 --- a/jenkins_jobs/modules/publishers.py +++ b/jenkins_jobs/modules/publishers.py @@ -3558,6 +3558,10 @@ def valgrind(parser, xml_parent, data): :failed: * **invalid-read-write** (`int`) * **definitely-lost** (`int`) * **total** (`int`) + :arg bool fail-no-reports: Fail build if no reports are found + (default false) + :arg bool fail-invalid-reports: Fail build if reports are malformed + (default false) :arg bool publish-if-aborted: Publish results for aborted builds (default false) :arg bool publish-if-failed: Publish results for failed builds @@ -3589,6 +3593,10 @@ def valgrind(parser, xml_parent, data): XML.SubElement(p, '%sThresholdTotal' % threshold).text \ = str(dthreshold.get('total', '')) + XML.SubElement(p, 'failBuildOnMissingReports').text = str( + data.get('fail-no-reports', False)).lower() + XML.SubElement(p, 'failBuildOnInvalidReports').text = str( + data.get('fail-invalid-reports', False)).lower() XML.SubElement(p, 'publishResultsForAbortedBuilds').text = str( data.get('publish-if-aborted', False)).lower() XML.SubElement(p, 'publishResultsForFailedBuilds').text = str( diff --git a/tests/publishers/fixtures/valgrind001.xml b/tests/publishers/fixtures/valgrind001.xml index 159a7a2b2..758a01aa8 100644 --- a/tests/publishers/fixtures/valgrind001.xml +++ b/tests/publishers/fixtures/valgrind001.xml @@ -10,6 +10,8 @@ <failThresholdInvalidReadWrite>4</failThresholdInvalidReadWrite> <failThresholdDefinitelyLost>5</failThresholdDefinitelyLost> <failThresholdTotal>6</failThresholdTotal> + <failBuildOnMissingReports>true</failBuildOnMissingReports> + <failBuildOnInvalidReports>true</failBuildOnInvalidReports> <publishResultsForAbortedBuilds>true</publishResultsForAbortedBuilds> <publishResultsForFailedBuilds>true</publishResultsForFailedBuilds> </valgrindPublisherConfig> diff --git a/tests/publishers/fixtures/valgrind001.yaml b/tests/publishers/fixtures/valgrind001.yaml index c57ffe16c..0373b6b4c 100644 --- a/tests/publishers/fixtures/valgrind001.yaml +++ b/tests/publishers/fixtures/valgrind001.yaml @@ -10,5 +10,7 @@ publishers: invalid-read-write: 4 definitely-lost: 5 total: 6 + fail-no-reports: true + fail-invalid-reports: true publish-if-aborted: true publish-if-failed: true