In this section:
Introduction
The Parasoft Findings plugin is designed to be used in a post test-execution build step that integrates functional and unit test reports generated by Parasoft tools into your TeamCity project. The task will collect test results from the Parasoft report XML files and display the number of passed/failed tests and result details. The results can also be displayed as trending data in a graph for a simple visualization. You can also view static analysis reports to identify code that does not comply with your static analysis rules.
The plugin can consume the following report types:
- Functional test reports generated by Parasoft SOAtest 2020.1+.
- Static analysis, metrics analysis, and unit test reports generated by 2020.2+ versions of C/C++test, Jtest, and dotTEST.
Requirements
- TeamCity 2020.1 or later
Installing the Parasoft Findings Plugin
- Copy the zip plugin package into the /plugins directory.
- Restart the TeamCity server.
See TeamCity Installing Additional Plugins documentation page for additional information.
Configuring the Plugin
- In the build configuration page, choose Build Steps and click Add build step.
- Choose Parasoft Findings from the Runner type drop-down menu.
- Specify a name for the step (optional) and choose an execution step policy form the Execute step drop-down menu (see the TeamCity documentation for details).
- Review the Report location pattern field. The Ant-style file selection pattern in this script controls what Parasoft XML report files to include in the TeamCity build report.
- Click Save when finished.
Running the Build
A typical build configuration would consist of the following steps:
- Clean the build checkout directory. In this step you will clean the Parasoft XML report files left over from the previous build runs. You can configure the following options:
- Set the Clean all files in the checkout directory before the build flag in the Version Control Settings of your build configuration.
- Configure a Command Line runner to clean the Parasoft XML report files left over from the previous runs. For instance, you could run the following command to remove all XML files from the build Checkout Directory: rm %system.teamcity.build.checkoutDir%/*.xml
- Configure the build agent to delete the build Checkout Directory after the completion of the build. To do so, add the following line to the buildAgent.properties file: teamcity.agent.build.checkoutDir.expireHours=0 See the following TeamCity documentation for more details: Automatic Checkout Directory Cleaning.
- Run SOAtest, C/C++test, Jtest or dotTEST. This step will generate report files in XML format. The XML report files must be saved in the TeamCity build project Checkout Directory.
- Run the Parasoft Findings plugin. You can have multiple Parasoft tool runs that would generate multiple XML report files prior to invoking this build step. If the build steps prior to the Parasoft Findings plugin build step generate multiple XML report files all test results from all these files will be added to the TeamCity build results.
Do not enable the XML report processing build feature with Ant JUnit report types in your build configuration because doing so may have undesirable effects.
Viewing Results of the Last Build
Open the TeamCity build configuration page and click on the last build results link in the Overview or History tab. The build results pages contain the appropriate Parasoft tool report details.
- The build results page in the Overview tab provides the success and error count, as well as error details.
- The build results shown in the Tests tab will contain the list of all Parasoft tests that ran in the build.
- The Build Log tab contains logging information in case debugging is needed.
Viewing Statistics and Trends
- Click the Statistics tab of the build configuration page to see charts of the historical data for reports generated by Parasoft tools.
- To view historical details of a particular Parasoft test, click the menu to the right of the test you are interested in and choose Show test history. A page with detailed test history will open.
C/C++test Professional Unit Test Results
C/C++test reports for unit test results must be generated with the Overview of checked files and executed tests option enabled. You can enable this option on the command line by using the option -property report.contexts_details=true
or by setting the report.contexts_details=true
property in the settings file.
Starting with version 2024.1, you can also use the command line option -property report.additional.report.dir=<REPORT_DIR>
when generating the reports and use reports generated in this directory.
Viewing Static Analysis Reports
- Click the Duplicates tab of the build configuration to see duplicate violations.
- Click the Code Inspection tab of the build configuration to see Standard, Metric, and Flow violations.
If a report cannot be parsed, the build will fail. Details concerning the failure can be found on the Build Log tab.
It is recommended that you enable Delete all files in the checkout directory before the build in VCS settings for cleaner build logs.
If you are also using DTP, you may wish to set up a properties file containing your DTP URL (note: only DTP 2023.1 or later is supported). Enter the location of that properties file in the Settings field of the build step you created as part of the Configuring the Plugin. Doing so will let you link rule documents being URL hosted by your DTP server to the TeamCity view.
Note that the DTP URL must be entered using a domain name, as TeamCity does not currently support a <host_name>:<port> pattern. It may be necessary for you to set up a web server for DTP using a tool like Apache, Nginx, or something similar.
Setting | Purpose |
---|---|
dtp.url=HTTP|HTTPS://<domain_name> | Specifies the domain name for your DTP server. Must be entered using a domain name; TeamCity does not support a <hostname>:<port> pattern. Example: https://my.domain.com/dtp |
C/C++test Professional Report Settings
If you are generating static analysis reports with C/C++test Professional 2023.1 or earlier, make sure the Add absolute file paths to XML data option is enabled to load the source code in Duplicates tab. You can enable this option on the command line by setting the report.location_details=true
property in the settings file.
Third-Party Acknowledgements
The Parasoft Findings Plugin for TeamCity uses the following third-party software:
Apache HttpClient
This software is used under an Apache License 2.0 with this notice.
Apache HttpClient Fluent API
This software is used under an Apache License 2.0 with this notice.
Apache HttpComponents Core
This software is used under an Apache License 2.0 with this notice.
Apache Commons Logging
This software is used under an Apache License 2.0 with this notice.
Apache Commons Codec
This software is used under an Apache License 2.0 with this notice.
Jackson core
This software is used under an Apache License 2.0 with this notice.
Jackson databind
This software is used under an Apache License 2.0 with this notice.
Jackson annotations
This software is used under an Apache License 2.0 with this notice.