This page lists the command line options for cpptestcli.

Configuring the Test Configuration

-config

This option allows you to specify the test configuration that will be used for analysis. The option must be followed by the name of a built-in, user-defined or DTP-hosted test configuration. Examples:

  • cpptestcli -config "builtin://MISRA C"
  • cpptestcli -config "user://My_Config"
  • cpptestcli -config "dtp://New_Rules"

-list-configs

Prints a list of available test configurations and can be used to obtain a vaild test configuration name you can pass with the -config option.

Configuring the Compiler

-compiler <name|path>

Specifies compiler configuration name to be used for code analysis and instrumentation. Compiler configuration name needs to be one of the supported compilers names. See Supported Compilers or use the -list-compilers option.

-list-compilers

Prints a list of supported compilers and can be used to obtain a vaild compiler ID you can pass with the -compiler option.

-detect-compiler

Detects the compilers based on the compiler command (the executable name) you specify with or without the path). You can provide a list of compiler commands with a semicolon-separated list and use this option to obtain a valid compiler ID to pass with the -compiler option. Example:

  • -detect-compiler gcc

Configuring the Input Scope

 -trace <build command>

Specifies the build command that starts the build process to compile the files to be tested. The information about the build process and the input scope data collected during the build are stored in the cpptest.bdf file. C/C++test-specific options must be specified before -trace, because all values following -trace will be interpreted as a build command. Example:

  • cpptestcli -config "builtin://Recommended Rules" -compiler gcc_3_4 -trace make clean all

-input <build data file|project file>

Specifies the path to an existing build data file (.bdf) or another project definition file to collect the input scope.

Build data file: You can create a build data file with the -trace option or by using the standalone cpptestscan or cpptesttrace utilities.

Project file: Currently, Microsoft Visual Studio projects and solutions (.vcproj, .vcxproj, .sln) are supported. Additionally, when specifying Microsoft Visual Studio project or solution you can provide configuration and platform to collect data for <PROJECT_FILE>@<CONFIGURATION>|<PLATFORM>.

Examples:

  • -input cpptest.bdf
  • -input MyProject.vcproj
  • -input MySolution.sln
  • -input "MySolution.sln@Release|Win32"

-- <compile command

A switch to collect the input scope form a compile command. Ensure the compile command is complete and includes your compiler executable, compiler flags, and source files.

C/C++test-specific options must be specified before -- switch, because all values after -- switch will be interpreted as a compiler command. Example:

  • cpptestcli -config "builtin://Recommended Rules" -compiler gcc_3_4 -- gcc -I include Bank.cxx

-module [<module name>=]<module root directory>

Specifies the module root directory and associates it with a module. If the module name is not specified, C/C++test uses the directory name as the module name.

This option allows you define modular structure for C/C++test files included in the .bdf file:

  • a source file located in the specified module root directory (or its subdirectory) belongs to the associated module
  • a header file located in the specified module root directory (or its subdirecotyr) beliongs to the associated module
  • a header file included in a tested source file is tested only if it belongs to the same module as the source file

You can specify this option more than once to define multiple modules - for example, files included in one .bdf file can be divided into different modules.

This option is not supported for Microsoft Visual Studio projects / solutions (.vcproj, .vcxproj, .sln).

Examples:

  • -module MyProject=/home/project/src
  • -module ../Module1
  • -module .

-resource <path|file name>

Narrows down the input scope to the specified resources. You can specify one of the following:

  • a path to a file – to test a selected file
  • a path to a directory – to test the files included in the selected directory
  • a file name - to only test the files that match the specified name

Examples:

  • -resource /home/cpptest/examples/ATM/ATM.cxx
  • -resource /home/cpptest/examples/ATM
  • -resource ATM.cxx

-include <file|pattern> and -exclude <file|pattern>

Includes/excludes file(s) that match the specified pattern into/from instrumentation scope. The options can be specified multiple times.

Final filtering is determined only after all include/exclude entries have been specified in the order of their specification.

Provide an absolute path to a file (you can use * as a wildcard). Examples:

  • -include /home/project/src/ATM.cxx
  • -include /home/project/CustomIncludes.lst
  • -exclude /home/project/src/*.cxx
  • -exclude /home/project/MyExcludes.lst

Alternatively, you can specify the list of files to be included and/or excluded in a text file with the .lst extension and pass the file with the -resource switch - each line in the file will be treated as a single entry.

Reporting

-report <path>

Specifies the directory where the report will be created.

-publish

A switch to publish the results to the DTP server.

Customizing Configuration

 -settings <path>, -localsettings <path>, and -ls <path>

Specifies the path to a custom .properties file that includes customized settings in the following format: key=value, for example cpptest.license.use_network=true.

You can use the -settings switch multiple times to specify several .properties files. Entries with the same key will be overwritten. Examples:

  • -settings CompanyWideConfig.properties
  • -ls UserLevelConfig.properties

See Configuration Settings for the list of settings you can configure.

-property <key>=<value>

Configures a single setting in the following format: key=value.

You can use the -property switch multiple times to configure several settings. Earlier entries with the same key will be overwritten. Examples:

  • -property cpptest.report.csv.enabled=true -property techsupport.create.on.exit=true

See Configuration Settings for the list of settings you can configure.

-show-settings

Prints the current settings and customizations.

-psrc <path|name>

Specifies an advanced configuration file provided by Parasoft Support. Example:

  • -psrc advanced_options.psrc

Other Options

-machineId

Prints your machine ID.

-encodepass <your password>

Prints an encoded password that can be used in the .properties configuration file.

-workspace <path>

Specifies the workspace directory to be used during code analysis and instrumentation. The workspace location is used to store C/C++test data files (such as cpptest.bdf) and incremental data directory (.cpptest). If not specified, C/C++test uses your working directory for storage. Example:

  • -workspace /home/qa/workspace_for_project1

(info) You can run only one instance of C/C++test per workspace.

-showdetails

Displays detailed progress information by increasing console verbosity.

  -fail

Fails the command by returning a non-zero exit code if any findings are reported.

-version

Prints information about the version of C/C++test.

-help

Displays command line help.


  • No labels