In this section:

General

How can I get quick access to information about usage on the command line?

Use the -help command line switch:

cpptestcli.exe -help

How can I work with C/C++test via proxy?

If you use C/C++test on a desktop with Visual Studio, to connect through a proxy server, you need to configure protocol-specific system properties in the parasoft.properties file located in <INSTALL_DIR>/plugins/com.parasoft.xtest.common.vstudio

For example, if you are using the HTTPS protocol, ensure that the system properties for HTTPS are configured. At a minimum, you must configure https.proxySet=true, https.proxyHost=[hostname], and https.proxyPort=[port number]. If your proxy server requires authentication, you can configure your credentials with the https.proxyUser and https.proxyPassword properties.

Your command line may resemble the following:

https.proxySet=true
https.proxyHost=myserver.example.com
https.proxyPort=3128
https.proxyUser=username
https.proxyPassword=password


In addition, you can configure the https.nonProxyHosts property to specify hosts where connection via proxy is not required.


If you use C/C++test on a desktop with Eclipse, C/C++test automatically detects and uses the proxy settings specified in Eclipse. No additional configuration is required to use those settings.

To enable C/C++test to use the system proxy settings, configure java.net.useSystemProxies=true using the -D command line option.
If your proxy server requires authentication, you can configure your credentials with the parasoft.https.systemProxyUser=[username] and parasoft.https.systemProxyPassword=[password, can be encrypted by Parasoft] properties. The user and password are specified separately for each protocol. 

Your command line may resemble the following:

java -Djava.net.useSystemProxies=true 
-Dparasoft.https.systemProxyUser=user
-Dparasoft.https.systemProxyPassword=password

Note: If the system proxy settings are enabled using the java.net.useSystemProxies property, those settings override the IDE settings.

Installation

How do I fix a failed installation while integrating C/C++test with Visual Studio with a registry key suffix specified?

Providing a long registry suffix may lead to installation failure due to the path length limitation on Windows. To ensure that C/C++test is successfully installed, specify a shorter registry suffix during installation.

How can I prevent my machine ID from floating?

Changes in the network environment may affect the interface that is used to compute your machine ID and result in machine ID instability. You can use the PARASOFT_SUPPORT_NET_INTERFACES environment variable to specify a stable interface and prevent the machine ID from floating.

  1. Set up the PARASOFT_SUPPORT_NET_INTERFACES environment variable.
  2. Set the variable value to a stable Ethernet network interface. Do not use virtual, temporary or loopback interfaces. 
    - On Windows: Set the value to the MAC address of your network card. You can use the ipconfig -all command to obtain the address.  For example:

    SET PARASOFT_SUPPORT_NET_INTERFACES=00-10-D9-27-AC-85


    - On Linux: Set the value to one of the network interfaces from the "inet" or "inet6" family. You can use the ifconfig command to obtain the list of available interfaces. For example: 

    export PARASOFT_SUPPORT_NET_INTERFACES=eth1


If the problem persists, you can obtain diagnostic information by setting up the environment variable PARASOFT_DEBUG_NET_INTERFACES and setting its value to true. This will print to the standard output the checking procedure that can be shared with technical support, as well as the interface that is used to compute your machine ID. The interface will be marked with the [SELECTED] prefix.

Testing and Analysis

What can I do if C/C++test reports a timeout during static analysis?

To ensure the analysis completes, you can do one of the following:

  • Increase the timeout limit by configuring the following option:
    cpptest.analyzer.source.timeout=<TIMEOUT_IN_SECONDS>
    See Configuring the Settings.
  • Disable the most time-consuming rules or metrics in your test configuration. The information about the times is included in the timeout message displayed on the console and in the report.
  • Contact Parasoft Support.

What if a file cannot be tested because its name is inconsistent between the source control and the testing input?

To correctly process and analyze a file, C/C++test must be able to match the file name you provided in the testing scope (i.e. the file name in your project) with the file name in the source control system. For this reason, if you are using a case-sensitive source control system, such a Git, you need to ensure that the file name capitalization is identical.

What if one or more files were not found when collecting static coverage data?

The setup problem that specifies the file (or files) that was not found when collecting static coverage data indicates that the local path of the file is different from its build-time path.

As a workaround, you can use the CPPTEST_COVERAGE_SRC_ROOT environment variable to map the original path to the local path:

CPPTEST_COVERAGE_SRC_ROOT=original/path1=local/path1;original/path2=local/path2;...

You can use '*' as an accepted wildcard in the original path. For example:

CPPTEST_COVERAGE_SRC_ROOT=/*/path=/local/path

You can also specify a list of path mappings in a list file (*.lst) and set its location as the value. For example:

CPPTEST_COVERAGE_SRC_ROOT=/path/mapping.lst

Each item in the *.lst file is treated as a separate entry.

What if memory is not allocated when using C/C++test with a Bazel build?

In some cases, the linking process may run out of mappable pages. This will manifest as an inability to allocate memory despite the machine having enough free RAM. To fix the issue, increase the maximum number of mapping pages per process. The default is 65530. Increasing this value ten times should resolve the problem. To do this, use the following command: 

sysctl -w vm.max_map_count=655300

If the problem persists, you may need to increase this value further.

How can I disable C/C++test code instrumentation for functions containing OpenMP instructions?

Add the following option to the cpptestcc command line:

-xharness-option="—-ignore-functions-with-openmp=true"

Reports

What if some characters fail to be properly displayed in C/C++test reports?

Reports generated by Parasoft products require a sans-serif font to be available in your environment. If your report fails to correctly display some characters, such as national characters, ensure that a sans-serif font is installed on your system.

Working in the IDE

Why do I get notified that Parasoft Plugin or its components are slowing down Visual Studio 2017, 2019 or 2022 on startup?

In Visual Studio 2017, 2019, and 2022, performance management monitors and manages extensions that can affect startup time. As a result, a pop-up alert may appear when Parasoft Plugin is installed to indicate that Visual Studio startup time has increased. You can click the 'Manage performance' link in the pop-up window to review the startup times and disable displaying the alert.

Why are some Parasoft options not available in the Solution Explorer context menu in Visual Studio 2017?

To have access to all Parasoft options in the Solution Explorer context menu, ensure that one of the following workloads is installed with your Visual Studio 2017:

  • Desktop development with C++
  • Universal Windows Platform development or .NET desktop development
  1. Run the Visual Studio Installer.
  2. Select the appropriate workloads when prompted.

Can I use Parasoft dotTEST and Parasoft C/C++test in the same Visual Studio IDE?

You can analyze code with Parasoft dotTEST and Parasoft C/C++test in the same Visual Studio if you install the Parasoft Plugin by running installers shipped with both products.

  1. Go to the <INSTALL_DIR>\integration\vstudio directory of one product, run the Parasoft Plugin installer and follow the installation wizard. This will install the Parasof Plugin and enable the code analysis engine of the product.
  2. Go to the <INSTALL_DIR>\integration\vstudio directory of the other product and run the Parasoft Plugin installer. The Parasoft Plugin is already installed, so the reinstallation/removal wizard will open. Select Reinstall and proceed with the wizard. This will enable the code analysis engine of the other product.

See Plugin for Visual Studio for details.

What if the Test Configuration Editor does not open when I try to edit a configuration?

This issue can occur due to the following reasons: 

  • The Test Configuration Editor is handled by a separate web server process and may be blocked if a strict firewall is installed on your machine. In such case, allow the process to run when prompted.
  • When using Ubuntu Linux with a Snap-based browser as the default system browser (which is the default setup in Ubuntu 21.10 and newer), the Eclipse IDE may be unable to open TCE in this browser (see https://github.com/eclipse-platform/eclipse.platform.swt/issues/221).
    As a workaround, configure Eclipse to use a specific external web browser in Preferences> General> Web Browser> External web browsers
    • If the intended browser is already listed, select it and review its settings. 
    • If the intended browser is not listed, click the New... button to add it. For example, to use Firefox in a typical environment, use the following settings:

Name: Firefox (env)
Location: /usr/bin/env
Parameters: firefox %URL%

As an alternative workaround, install a non-Snap version of the intended browser and set it as the default system browser.

What if the HTML content (C/C++test's rule documentation, reports etc.) cannot be displayed on Ubuntu Linux because the HTML browser is not started?

When using Ubuntu Linux with a Snap-based browser as the default system browser (which is the default setup in Ubuntu 21.10 and newer), the Eclipse IDE may be unable to start this browser (see https://github.com/eclipse-platform/eclipse.platform.swt/issues/221).

As a workaround, configure Eclipse to use a specific external web browser in Preferences> General> Web Browser> External web browsers

  • If the intended browser is already listed, select it and review its settings. 
  • If the intended browser is not listed, click the New... button to add it. For example, to use Firefox in a typical environment, use the following settings:

Name: Firefox (env)
Location: /usr/bin/env
Parameters: firefox %URL%

As an alternative workaround, install a non-Snap version of the intended browser and set it as the default system browser.



  • No labels