Configure Project for Testing in Polyspace Platform User Interface
R2026bYou can author, build, and run C/C++ tests in the Polyspace Platform user interface. When you build a project in the Polyspace® Platform user interface, Polyspace Test compiles the test code together with your source files into executables that are executed later when you run the tests. This build happens in two steps and requires you to specify a Host Compiler and User Compiler. You specify the host compiler in your Polyspace Platform Settings and use the project configuration to specify the user compiler and related information like compiler flags, include paths and defines.
A Polyspace Platform project configuration consists of these sets of options:
Project-specific configuration — Project-wide options
Build configuration — Options that specify how to build your code and tests
Static analysis configuration — Options specific to static analyses
Testing and profiling configuration — Options that specify how to test and profile your code
You can specify sets of distinct build, testing, and static analysis
configurations. These sets are configuration variants. A Polyspace Platform project supports multiple variants of build, testing, and static
analysis configurations. For each configuration variant, you can choose whether it is
part of the project (saved in the .psprjx file) or is saved in an
external configuration file (.pscfg or
.toml.pscfg) that is referenced by the project. Using external
configurations can improve version-control workflows by allowing you to modularize your
project and share single-sourced build, static analysis, and testing configurations
across similar projects. You cannot create variants for the project-specific
configuration options. The project options apply to all configuration variants and are
always saved in the .psprjx project file.
Set Up Configuration
To open your configuration, on the Projects pane, double-click the Configuration node of your project.

The configuration opens on a separate Configuration pane. The Configuration pane contains these tabs:
Project — The options on this tab include various options that apply to the entire project. These options are relevant to both static analysis and dynamic testing. You cannot create variants for these options.
For more information on the options, see Project Creation.
Build — The options on this tab cover both static analysis and dynamic testing.
Only a subset of the options on the Target and Compiler node apply to Polyspace Test™. The remaining options on this and other nodes apply only to the static analysis tools, Polyspace Bug Finder™ and Polyspace Code Prover™.
For more information on the options, see Test Execution in Polyspace Platform User Interface.
Static Analysis — The options on this tab apply only to Polyspace Bug Finder and Polyspace Code Prover. For more information on these options, see Configuration (Polyspace Bug Finder) .
Testing and Profiling — The options on this tab apply only to Polyspace Test. Using these options, you can specify certain aspects of testing and profiling such as code coverage metrics and folders to exclude from profiling. For more information, see Code Profiling in Polyspace Platform User Interface.
You can also find individual options on the Configuration pane through search if you know the option name. For instance, if you search for the term Compilation toolchain, you can find two matches on the Build tab corresponding to these two options:
Compilation toolchain (Static analysis)
Compilation toolchain (Testing)
Note that you can search for options on the Static Analysis Tab by their command-line name in addition to the name that appears in the user interface. For instance, you can search for the option Constraint setup by its command-line equivalent -data-range-specifications. For more information on this option, see Constraint setup (-data-range-specifications) (Polyspace Code Prover).

Once you locate an option, you can use contextual help to find more information about an option. Hover on the option to see a tooltip describing the option or click More Help in the tooltip to open the documentation for the option.
Create Configuration Variants
You can create multiple configuration variants for build, testing, or static analysis options for specific goals and switch between them within the same project. For example, you can create different configuration variants to use different compilers, or to check for different code coverage metrics.
To create new configuration variants in your project:
Open your project configuration.
On the Polyspace Platform toolstrip, click New.

Select the type of configuration variant you want to create. For example, select New Build Configuration to create a build configuration variant.
Set options as needed. For example, set Compilation toolchain (testing) as
MinGW64| CMake/Ninja (64-bit Windows)and select Enable portable word sizes.Click
to rename the configuration variant.
Instead of creating a configuration variant from scratch, you can also duplicate an existing configuration variant:
Select the configuration variant that you want to duplicate.

Select Duplicate on the toolstrip.
To remove a configuration variant, select the variant and then select Delete on the toolstrip.
Switch Between Configuration Variants
Once you have more than one configuration variant in or referenced by your project, you can switch between active variants. To switch to a different configuration variant:
Select the variant using the drop-down lists in the configuration tabs.

To use the selected variant as part of the active configuration, select Make Active on the toolstrip.
The configuration variant that is currently active has a green Active badge on the top right. All other variants have a gray Inactive badge in the same location. External configurations that are saved in a native .pscfg file have a blue External badge. Because you cannot edit TOML external configuration files (.toml.pscfg) in the user interface, they appear with the blue External badge as well as a blue TOML (Read-Only) badge.
You can select different configuration variants when running your Polyspace Test project at the command line using the polyspace-test command. See polyspace-test -build or polyspace-test -run.
Share and Reuse Configuration Variants
There are two ways to share or reuse configuration variants across projects:
To share a single-sourced configuration variant across similar projects, use external configurations. An external configuration is a build, static analysis, or testing and profiling configuration that you save in an external configuration file and link to one or more projects by reference. To use the shared configuration in another project, import the file as an external configuration. When you make changes to that external configuration file, all projects that reference it inherit those changes.
To reuse a copy of a configuration variant, export a copy of the configuration to a file and then import a copy of that file into another project. In this workflow, the imported configuration is saved as a part of the
.psprjxproject file. Any modifications you make to the configuration variant in one project do not impact other projects.
Choose How to Store Configuration Variants
By default, all configurations are owned by the project and saved as part of the
.psprjx project file. When you decide to save a configuration in an
external file, you choose between the native JSON-based format (.pscfg) and
the human-readable TOML format
(.toml.pscfg). The format you choose determines how you edit the
configuration and how it behaves in version control workflows.
Project Owned (default) | External Native Format
( | External TOML Format
( | |
|---|---|---|---|
| Storage | Inside the .psprjx project file | Separate file on disk (.pscfg) | Separate file on disk (.toml.pscfg) |
| Shareable by reference | No | Yes | Yes |
| Editable in user interface | Yes | Yes | No. Can only be viewed. |
| Editable in text editor | No | Not recommended | Yes (primary editing method) |
| Version control diffs | JSON via project file — noisy diffs due to internal identifiers and full
project content. Difficult to merge. Use . | JSON — noisy diffs due to internal identifiers. Difficult to merge. Use
. | TOML — Simple, human-readable diffs. Easy to merge in any text-based tool. |
| Comments allowed | No | No | Yes (standard TOML # comments) |
In a continuous integration workflow, submit external configuration files to a version
control system as you would with other text files. The TOML format (.toml.pscfg) is particularly well-suited for
version control workflows because it uses descriptive key names, supports comments, and does
not include internal identifiers that produce noise in diffs. Before submission, you can
compare and merge TOML configuration files using any text-based tool. To compare and merge
native-format external configuration files, use the diff/merge tool. For more information, see
.polyspace-project -diff, polyspace-project -merge
You can convert between formats at any time. Both external formats are functionally equivalent — the same analysis options and values are available regardless of format.
Use External Configurations to Improve Sharing and Version Control Workflows
To create a modular project or share single-sourced configuration variants across multiple projects, use external configurations. For more information about working with external configurations, see Modularize Project by Converting Configurations to External Configurations in Polyspace Platform User Interface.
Import and Export Copies of Configuration Variants
To reuse a copy of a configuration variant across projects, export a copy of the
configuration to a file and then import a copy into another project. Importing a copy of a
configuration variant allows you to use similar or identical build, static analysis, or
testing configurations in multiple projects. Exporting a copy of a configuration to a file
allows you to compare different versions of a configuration as text files. To compare files
more easily, export your configurations to the human-readable TOML format
(.toml.pscfg) and use any standard text-based diff or merge tool. To
compare native-format external configuration files or Polyspace Platform project files, see Compare and Merge Polyspace Platform Projects and Configurations Before Submission to Source Control.
Export Copy of Configuration Variant. To export a copy of a specific configuration variant from your project:
Open your project configuration.
Navigate to the tab from which you want to export the configuration:
Build — Export a build configuration variant
Static Analysis — Export a static analysis configuration variant
Testing and Profiling — Export a testing and profiling configuration variant
On the Polyspace Platform toolstrip, click Export to export a copy of the currently selected configuration.

Specify a filename and location. In the Save as type drop-down, select the format (
.pscfg,.toml.pscfgTOML Full, or.toml.pscfgTOML Concise) and click Save.
To export a copy of all active configurations, select Export Active Configurations. Alternatively, you can export copies of all configuration variants in your project by selecting Export All Configurations.
When you export a copy of a build configuration created from a build command (using
polyspace-configure) or from Polyspace for AUTOSAR workspaces, the export removes autogenerated options such as file-specific
compiler options. The exported copy contains only options that you can set manually.
Import Copy of Configuration Variant. To import a copy of one or more configuration variants into your project, click Import and select one or more Polyspace configuration files (.pscfg or .toml.pscfg). This imports a copy of all the configurations you select and saves those copies in the .psprjx project file. To use one of the imported configuration variants, select it from the drop-down list and click Make Active in the toolstrip.
To import a configuration variant by referencing an external configuration file, see Import External Configuration.
Create TOML Configuration Files from Templates
To create a TOML configuration file that contains all available keys, you can export any build, static analysis, or testing and profiling configuration to the TOML full format from the Polyspace Platform user interface or the Python® API. Alternatively, to create a TOML file that also contains comments describing the default and possible values for each key in the configuration, copy the following templates. Save each file with the .toml.pscfg extension, and edit the options as needed.
See Also
polyspace-test -build | polyspace-test -run
Topics
- Specify C/C++ Compilers for Testing in Polyspace Platform User Interface
- Create Easily Shareable Projects for Version Control
- Modularize Project by Using External Configurations, Test References, and External Stub Files
- Submit Polyspace Files to Version Control
- Compare and Merge Polyspace Platform Projects and Configurations Before Submission to Source Control