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
Name | Default Value | Description |
---|---|---|
ARM Linux target | 10.9.1.1 | IP address of the target that will be used to execute tests for the tested project |
ARM Linux target directory | /home/user | The directory on the target; where the test executable will be placed |
ARM Linux target user name | user | The 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)
Name | Default Value | Description |
---|---|---|
FVP simulator | FVP_VE_Cortex-A9x1 | Simulator executable file |
FVP option for command line (semihosting calls/main params) | -C cluster.cpu0.semihosting-cmd_line | Simulator 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:
- Manually create or automatically generate a set of test cases.
- Duplicate the unit test configuration.
- Modify the test configuration as needed.
- For details, see Customizing Built-in Test Configurations.
- Select the desired testing context.
- 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.
- For details, see Customizing Built-in Test Configurations.
- Select the desired testing context.
- Run tests with the customized test configuration created above.