This topic explains how to configure runtime testing on code that is designed to be compiled/built using ARM DS-5.

In this section:

General Configuration

The Test Configurations provided to test DS-5 projects are configured to automatically build the C++test runtime library. The communication channel preselected in the runtime library is based on the semihosted file I/O writes. If the support for semihosting is not available for a given platform, you need to customize the runtime library and implementation alternative communication channel. For more details see Working with the C++test Runtime Library

Testing on the Simulator (RTSM Simulator) or Real Hardware

The test configurations provided with C++test are configured for testing with simulators or real hardware systems that allow remote execution via SSH protocol. These configurations assume tests are run on Linux-based applications. Testing non-Linux or bare metal applications is also possible. For more details please contact Parasoft support team.

Customizing Built-in Test Configurations

The Test Configurations provided to execute runtime tests for ARM DS-5 projects are accessible from the main menu: Parasoft> Test Using> Builtin> Embedded Systems> ARM. The built-in ARM configurations may require environment-specific customization. Typical customizations are done by configuring the test flow definition properties. To access the test flow definition properties, choose Parasoft> Test Configurations> Your Test Configuration and select the Execution> General tab. Make changes in the Execution details section. 

The table below describes the test flow properties for the following ARM DS-5 built-in configurations:

  • Run ARM Embedded Linux Test Executable
  • Run ARM Embedded Linux Application with Memory Monitoring
NameDefault ValueDescription
ARM Linux target10.9.1.1IP address of the target that will be used to execute tests for the tested project
ARM Linux target directory/home/userThe directory on the target; where the test executable will be placed
ARM Linux target user nameuserThe user name on the target

The table below describes the test flow properties for the following ARM DS-5 built-in configurations:

  • Run DS-5 Test Executable (FVP simulator)
  • Run DS-5 Application with Memory Monitoring (FVP simulator)
NameDefault ValueDescription
FVP simulatorFVP_VE_Cortex-A9x1Simulator executable file
FVP option for command line (semihosting calls/main params)-C cluster.cpu0.semihosting-cmd_lineSimulator command line option to specify main function parameters (semihosing)

Users can easily alter the default test flow definition in cases where the default test’s execution flow is insufficient (e.g. if additional steps are required to download the test executable to the target). For more details on customization of test flow definitions please refer to: Runtime Testing: Customizing the Test Execution Flow

Unit Testing

The "Run ARM Embedded Linux Test Executable" and the "Run DS-5 Test Executable (FVP simulator)" test configuration facilitates the unit testing process. To run unit tesitng on the simulator or real hardware system:

  1. Manually create or automatically generate a set of test cases.
  2. Duplicate the unit test configuration.
  3. Modify the test configuration as needed.
  4. Select the desired testing context.
  5. Run tests with your customized test configuration.

Debugging Test Cases

C++test does not support direct Test Cases debugging for this environment.

Use appropriate Debug/Launch Configuration for your original/tested project to load Test Executable and set breakpoints on wanted Test Cases manually.

Application Memory Monitoring

The "Run ARM Embedded Linux Application with Memory Monitoring" and "Run DS-5 Application with Memory Monitoring (FVP simulator)" test configurations facilitate the application memory monitoring process. To run application memory monitoring on the simulator or real hardware system:

  • Duplicate the test configuration.
  • Modify the test configuration as needed.
  • Select the desired testing context.
  • Run tests with the customized test configuration created above.
  • No labels