mirror of
https://github.com/SAP/jenkins-library.git
synced 2026-06-19 22:58:55 +02:00
use perfReport step
This commit is contained in:
@@ -26,10 +26,6 @@ class TestsPublishResultsTest extends BasePipelineTest {
|
||||
archiveStepPatterns = []
|
||||
// prepare checkResultsPublish step
|
||||
testsPublishResultsScript = loadScript('testsPublishResults.groovy').testsPublishResults
|
||||
// add handler for generic step call
|
||||
helper.registerAllowedMethod('step', [Map.class], {
|
||||
parameters -> publisherStepOptions[parameters.$class] = parameters
|
||||
})
|
||||
helper.registerAllowedMethod('junit', [Map.class], {
|
||||
parameters -> publisherStepOptions['junit'] = parameters
|
||||
})
|
||||
@@ -39,6 +35,9 @@ class TestsPublishResultsTest extends BasePipelineTest {
|
||||
helper.registerAllowedMethod('cobertura', [Map.class], {
|
||||
parameters -> publisherStepOptions['cobertura'] = parameters
|
||||
})
|
||||
helper.registerAllowedMethod('perfReport', [Map.class], {
|
||||
parameters -> publisherStepOptions['jmeter'] = parameters
|
||||
})
|
||||
helper.registerAllowedMethod('archiveArtifacts', [Map.class], {
|
||||
parameters -> archiveStepPatterns.push(parameters.artifacts)
|
||||
})
|
||||
@@ -52,7 +51,7 @@ class TestsPublishResultsTest extends BasePipelineTest {
|
||||
assertTrue('WarningsPublisher options not empty', publisherStepOptions.junit == null)
|
||||
assertTrue('PmdPublisher options not empty', publisherStepOptions.jacoco == null)
|
||||
assertTrue('DryPublisher options not empty', publisherStepOptions.cobertura == null)
|
||||
assertTrue('FindBugsPublisher options not empty', publisherStepOptions.PerformancePublisher == null)
|
||||
assertTrue('FindBugsPublisher options not empty', publisherStepOptions.jmeter == null)
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -63,7 +62,7 @@ class TestsPublishResultsTest extends BasePipelineTest {
|
||||
assertTrue('WarningsPublisher options not empty', publisherStepOptions.junit == null)
|
||||
assertTrue('PmdPublisher options not empty', publisherStepOptions.jacoco == null)
|
||||
assertTrue('DryPublisher options not empty', publisherStepOptions.cobertura == null)
|
||||
assertTrue('FindBugsPublisher options not empty', publisherStepOptions.PerformancePublisher == null)
|
||||
assertTrue('FindBugsPublisher options not empty', publisherStepOptions.jmeter == null)
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -77,7 +76,7 @@ class TestsPublishResultsTest extends BasePipelineTest {
|
||||
// ensure nothing else is published
|
||||
assertTrue('JaCoCo options are not empty', publisherStepOptions.jacoco == null)
|
||||
assertTrue('Cobertura options are not empty', publisherStepOptions.cobertura == null)
|
||||
assertTrue('JMeter options are not empty', publisherStepOptions.PerformancePublisher == null)
|
||||
assertTrue('JMeter options are not empty', publisherStepOptions.jmeter == null)
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -92,21 +91,36 @@ class TestsPublishResultsTest extends BasePipelineTest {
|
||||
'**/target/coverage/cobertura-coverage.xml', publisherStepOptions.cobertura.coberturaReportFile)
|
||||
// ensure nothing else is published
|
||||
assertTrue('JUnit options are not empty', publisherStepOptions.junit == null)
|
||||
assertTrue('JMeter options are not empty', publisherStepOptions.PerformancePublisher == null)
|
||||
assertTrue('JMeter options are not empty', publisherStepOptions.jmeter == null)
|
||||
}
|
||||
|
||||
@Ignore("failes due do class not found exception of JMeter parser")
|
||||
@Test
|
||||
void testPublishJMeterWithDefaultSettings() throws Exception {
|
||||
testsPublishResultsScript.call(jmeter: true)
|
||||
|
||||
assertTrue('JMeter options are empty', publisherStepOptions.PerformancePublisher != null)
|
||||
//assertEquals('JMeter default pattern not set', '**/*.jtl',
|
||||
// publisherStepOptions.PerformancePublisher.pattern])
|
||||
assertTrue('JMeter options are empty', publisherStepOptions.jmeter != null)
|
||||
assertEquals('JMeter default pattern not set',
|
||||
'**/*.jtl', publisherStepOptions.jmeter.sourceDataFiles)
|
||||
|
||||
// ensure nothing else is published
|
||||
assertTrue('JUnit options are not empty', publisherStepOptions.junit == null)
|
||||
assertTrue('JaCoCo options are not empty', publisherStepOptions.jacoco == null)
|
||||
assertTrue('Cobertura options are not empty', publisherStepOptions.cobertura == null)
|
||||
}
|
||||
|
||||
@Test
|
||||
void testPublishUnitTestsWithCustomSettings() throws Exception {
|
||||
testsPublishResultsScript.call(junit: [pattern: 'fancy/file/path', archive: true, active: true])
|
||||
|
||||
assertTrue('JUnit options are empty', publisherStepOptions.junit != null)
|
||||
// ensure default patterns are set
|
||||
assertEquals('JUnit pattern not set correct',
|
||||
'fancy/file/path', publisherStepOptions.junit.testResults)
|
||||
assertEquals('JUnit default pattern not set correct',
|
||||
'fancy/file/path', publisherStepOptions.junit.testResults)
|
||||
// ensure nothing else is published
|
||||
assertTrue('JaCoCo options are not empty', publisherStepOptions.jacoco == null)
|
||||
assertTrue('Cobertura options are not empty', publisherStepOptions.cobertura == null)
|
||||
assertTrue('JMeter options are not empty', publisherStepOptions.jmeter == null)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,6 +7,9 @@ import com.sap.piper.MapUtils
|
||||
import groovy.transform.Field
|
||||
|
||||
@Field def STEP_NAME = 'testsPublishResults'
|
||||
@Field List TOOLS = [
|
||||
'junit','jacoco','cobertura','jmeter'
|
||||
]
|
||||
/**
|
||||
* testResultsPublish
|
||||
*
|
||||
@@ -23,7 +26,7 @@ def call(Map parameters = [:]) {
|
||||
|
||||
final Map stepDefaults = ConfigurationLoader.defaultStepConfiguration(script, STEP_NAME)
|
||||
final Map stepConfiguration = ConfigurationLoader.stepConfiguration(script, STEP_NAME)
|
||||
List configurationKeys = ['junit','jacoco','cobertura','jmeter']
|
||||
List configurationKeys = TOOLS
|
||||
Map configuration = ConfigurationMerger.merge(
|
||||
parameters, configurationKeys,
|
||||
stepConfiguration, configurationKeys,
|
||||
@@ -124,7 +127,7 @@ def touchFiles(){
|
||||
|
||||
def archiveResults(archive, pattern, allowEmpty) {
|
||||
if(archive){
|
||||
echo "[${STAP_NAME}] archive ${pattern}"
|
||||
echo "[${STEP_NAME}] archive ${pattern}"
|
||||
archiveArtifacts artifacts: pattern, allowEmptyArchive: allowEmpty
|
||||
}
|
||||
}
|
||||
@@ -132,7 +135,7 @@ def archiveResults(archive, pattern, allowEmpty) {
|
||||
@NonCPS
|
||||
def prepare(parameters){
|
||||
// ensure tool maps are initialized correctly
|
||||
for(String tool : ['junit','jacoco','cobertura','jmeter']){
|
||||
for(String tool : TOOLS){
|
||||
parameters[tool] = toMap(parameters[tool])
|
||||
}
|
||||
return parameters
|
||||
@@ -148,4 +151,5 @@ def toMap(parameters){
|
||||
parameters = [active: false]
|
||||
else
|
||||
parameters = [:]
|
||||
return parameters
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user