-
Bug
-
Resolution: Unresolved
-
Critical
-
Jenkins version: 2.330
testng-plugin version: 554.va4a552116332
Hello, I've been struggling with a problem related to testng-plugin, that consist of making the entire pipeline to be marked as UNSTABLE even when a retry option is used.
Example:
pipeline { ... stages { stage('Execute the tests') { options { retry(10) } stages { stage('Cleanup last test results') { ... } stage('Run ant tests') { steps { container('jdk11') { withAnt(installation: 'ant') { sh """ export ANT_OPTS="-Xmx2048m" ant ... """ } } } post { always { step( [ $class: 'Publisher', reportFilenamePattern: 'test-output/testng-results.xml' ] ) ... } unstable { timeout(time: 30, unit: 'SECONDS') { echo 'Pipeline finished with unstable result. Retrying...' sleep 35 } } } } } } } }
Expected result:
- 1st execution: 1 test successful and 1 test failed -> Marked as UNSTABLE -> retry due to post: unstable
- 2nd execution: 1 test skipped (previously succeeded) and 1 successful -> Marked as SUCCESS
Current result:
- 1st execution: 1 test successful and 1 test failed -> Marked as UNSTABLE -> retry due to post: unstable
- 2nd execution: 1 test skipped (previously succeeded) and 1 successful -> Marked as UNSTABLE -> retry due to post: unstable
- 3rd execution: 2/2 tests skipped (previously succeeded) -> Marked as UNSTABLE -> retry due to post: unstable
- ... 10 times as set per retry limit
I guess the problem here is that the plugin is using inside the Publisher.java class the method .setResult(...); to set the build result without using the new API WarningAction from Pipeline: Basic Steps Plugin.
I would be very glad if it could be fixed. Thank you!