cucumber-reports: Add support for new options
Change-Id: Ia447c8ab95d6ea9782ba0092c42b95571625b97f Co-Authored-By: Anil Belur <askb23@gmail.com> Signed-off-by: Tan Heng Yeow <E0032242@u.nus.edu> Signed-off-by: Anil Belur <askb23@gmail.com>
This commit is contained in:
parent
02e85408f0
commit
2914c7a773
@ -1361,6 +1361,23 @@ def cucumber_reports(registry, xml_parent, data):
|
||||
(default false)
|
||||
:arg bool parallel-testing: Run same test in parallel for multiple devices
|
||||
(default false)
|
||||
:arg int failed-steps-number: Maximum number of failed steps above which
|
||||
build result is changed (default 0)
|
||||
:arg int skipped-steps-number: Maximum number of skipped steps above which
|
||||
build result is changed (default 0)
|
||||
:arg int pending-steps-number: Maximum number of pending steps above which
|
||||
build result is changed (default 0)
|
||||
:arg int undefined-steps-number: Maximum number of undefined steps above
|
||||
which build result is changed (default 0)
|
||||
:arg int failed-scenarios-number: Maximum number of failed scenarios above
|
||||
which build result is changed (default 0)
|
||||
:arg int failed-features-number: Maximum number of failed features above
|
||||
which build result is changed (default 0)
|
||||
:arg list build-status: Build result to which the build should be set
|
||||
when the report becomes failed or unstable (default '')
|
||||
:arg int trends-limit: Number of past reports that should be presented.
|
||||
Zero means unlimited number of builds (default 0)
|
||||
:arg list sorting-method: Result sorting order (default 'NATURAL')
|
||||
|
||||
Full example:
|
||||
|
||||
@ -1379,6 +1396,8 @@ def cucumber_reports(registry, xml_parent, data):
|
||||
'CucumberReportPublisher')
|
||||
cucumber_reports.set('plugin', 'cucumber-reports')
|
||||
|
||||
valid_build_status = ['', 'UNSTABLE', 'FAILURE']
|
||||
valid_sorting_method = ['NATURAL', 'ALPHABETICAL']
|
||||
mappings = [
|
||||
('json-reports-path', 'jsonReportDirectory', ''),
|
||||
('plugin-url-path', 'pluginUrlPath', ''),
|
||||
@ -1390,11 +1409,37 @@ def cucumber_reports(registry, xml_parent, data):
|
||||
('missing-fails', 'missingFails', False),
|
||||
('no-flash-charts', 'noFlashCharts', False),
|
||||
('ignore-failed-tests', 'ignoreFailedTests', False),
|
||||
('parallel-testing', 'parallelTesting', False)
|
||||
('parallel-testing', 'parallelTesting', False),
|
||||
('failed-steps-number', 'failedStepsNumber', 0),
|
||||
('skipped-steps-number', 'skippedStepsNumber', 0),
|
||||
('pending-steps-number', 'pendingStepsNumber', 0),
|
||||
('undefined-steps-number', 'undefinedStepsNumber', 0),
|
||||
('failed-scenarios-number', 'failedScenariosNumber', 0),
|
||||
('failed-features-number', 'failedFeaturesNumber', 0),
|
||||
('build-status', 'buildStatus', '', valid_build_status),
|
||||
('trends-limit', 'trendsLimit', 0),
|
||||
('sorting-method', 'sortingMethod', 'NATURAL', valid_sorting_method),
|
||||
]
|
||||
helpers.convert_mapping_to_xml(
|
||||
cucumber_reports, data, mappings, fail_required=True)
|
||||
|
||||
if 'sorting-values' in data:
|
||||
format_dict = {
|
||||
'classifications': 'net.masterthought.jenkins'
|
||||
'.CucumberReportPublisher_-Classification'
|
||||
}
|
||||
classifications_tag = XML.SubElement(
|
||||
cucumber_reports, 'classifications')
|
||||
for values in data['sorting-values']:
|
||||
for value, params in values.items():
|
||||
cucumber_report_publisher = XML.SubElement(
|
||||
classifications_tag, format_dict.get('classifications'))
|
||||
XML.SubElement(
|
||||
cucumber_report_publisher, 'key').text = params.get('key')
|
||||
XML.SubElement(
|
||||
cucumber_report_publisher, 'value').text = params.get(
|
||||
'value')
|
||||
|
||||
|
||||
def cucumber_testresult(registry, xml_parent, data):
|
||||
"""yaml: cucumber-testresult
|
||||
|
@ -13,6 +13,25 @@
|
||||
<noFlashCharts>true</noFlashCharts>
|
||||
<ignoreFailedTests>true</ignoreFailedTests>
|
||||
<parallelTesting>true</parallelTesting>
|
||||
<failedStepsNumber>1</failedStepsNumber>
|
||||
<skippedStepsNumber>2</skippedStepsNumber>
|
||||
<pendingStepsNumber>3</pendingStepsNumber>
|
||||
<undefinedStepsNumber>4</undefinedStepsNumber>
|
||||
<failedScenariosNumber>5</failedScenariosNumber>
|
||||
<failedFeaturesNumber>6</failedFeaturesNumber>
|
||||
<buildStatus>UNSTABLE</buildStatus>
|
||||
<trendsLimit>7</trendsLimit>
|
||||
<sortingMethod>ALPHABETICAL</sortingMethod>
|
||||
<classifications>
|
||||
<net.masterthought.jenkins.CucumberReportPublisher_-Classification>
|
||||
<key>classification key 1</key>
|
||||
<value>classification value 1</value>
|
||||
</net.masterthought.jenkins.CucumberReportPublisher_-Classification>
|
||||
<net.masterthought.jenkins.CucumberReportPublisher_-Classification>
|
||||
<key>classification key 2</key>
|
||||
<value>classification value 2</value>
|
||||
</net.masterthought.jenkins.CucumberReportPublisher_-Classification>
|
||||
</classifications>
|
||||
</net.masterthought.jenkins.CucumberReportPublisher>
|
||||
</publishers>
|
||||
</project>
|
||||
|
@ -11,3 +11,19 @@ publishers:
|
||||
no-flash-charts: true
|
||||
ignore-failed-tests: true
|
||||
parallel-testing: true
|
||||
failed-steps-number: 1
|
||||
skipped-steps-number: 2
|
||||
pending-steps-number: 3
|
||||
undefined-steps-number: 4
|
||||
failed-scenarios-number: 5
|
||||
failed-features-number: 6
|
||||
build-status: UNSTABLE
|
||||
trends-limit: 7
|
||||
sorting-method: ALPHABETICAL
|
||||
sorting-values:
|
||||
- key-value-pair:
|
||||
key: classification key 1
|
||||
value: classification value 1
|
||||
- key-value-pair:
|
||||
key: classification key 2
|
||||
value: classification value 2
|
||||
|
@ -13,6 +13,15 @@
|
||||
<noFlashCharts>false</noFlashCharts>
|
||||
<ignoreFailedTests>false</ignoreFailedTests>
|
||||
<parallelTesting>false</parallelTesting>
|
||||
<failedStepsNumber>0</failedStepsNumber>
|
||||
<skippedStepsNumber>0</skippedStepsNumber>
|
||||
<pendingStepsNumber>0</pendingStepsNumber>
|
||||
<undefinedStepsNumber>0</undefinedStepsNumber>
|
||||
<failedScenariosNumber>0</failedScenariosNumber>
|
||||
<failedFeaturesNumber>0</failedFeaturesNumber>
|
||||
<buildStatus/>
|
||||
<trendsLimit>0</trendsLimit>
|
||||
<sortingMethod>NATURAL</sortingMethod>
|
||||
</net.masterthought.jenkins.CucumberReportPublisher>
|
||||
</publishers>
|
||||
</project>
|
||||
|
Loading…
x
Reference in New Issue
Block a user