This topic explains how to configure runtime testing on code that is designed to be compiled/built using ARM RVDSDS-5.
In this section:
Table of Contents | ||
---|---|---|
|
...
The Test Configurations provided to test RVDS 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
Customizing the RVDS Test Configurations
C++test provides the following built-in Test Configurations to analyze RVDS projects:
- Builtin> Embedded Systems> ARM> Run RVDS 3.x 4.x Application with Memory Monitoring
- Builtin> Embedded Systems> ARM> Run RVDS 3.x 4.x Tests
Both of these Test Configurations are designed to run the test executable on the target device or simulator. The process of loading and starting the test executable is handled via the RV Debugger, with the help of an automatically-generated script of the following form:
Code Block |
---|
#This script generates ARM debugger's (rvdebug) run script WAIT ON
connect "$TARGET_DEVICE$"
load/r '$TEST_EXECUTABLE$;;$TEST_ARGUMENT$'
go
disconnect
quit y |
The debugger script template file is available at <C++test Install dir>\engine\etc\templates\for_recipes\arm_test.tja
.
...
...
Once such a debug configuration is configured, you perform the following steps in the C++test perspective of RVDS:
...
...
Testing
...
C++test provides a unit testing Test Configuration designed specifically to work with RealView projects: Run RVDS 3.x and 4.x Tests. This Test Configuration is designed to run the previously-built test executable on a RealView Debugger and then collect its results. This Test Configuration is available in the Builtin> Embedded Systems> ARM category.
...
on
...
- Choose Parasoft> Test Configurations.
- Open the Builtin> Embedded Systems> ARM tree node.
- Right-click Run RVDS 3.x 4.x Tests and choose Duplicate.
...
- See General Configuration for details.
...
the
...
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 Monitoring
The "Builtin> Embedded Systems> ARM> Run RVDS 3.x 4.x Tests" Test Configuration is provided to facilitate Application Monitoring:
To run application monitoring on the target:
- Duplicate the "Builtin> Embedded Systems> ARM> Run RVDS 3.x 4.x Tests" Test Configuration as follows:
- Choose Parasoft> Test Configurations.
- Open the Builtin> Embedded Systems> ARM tree node.
- Right-click Run RVDS 3.x 4.x Tests and choose Duplicate.
- Modify the Test Configuration as needed.
- See General Configuration for details.
- Select the desired testing context.
- Run tests with the customized Test Configuration created above.
Testing on the Simulator (RTSM Simulator) or Real Hardware
...
- Run DS-5 Test Executable (Software ModelFVP simulator)
- Run DS-5 Application with Memory Monitoring (Software ModelFVP simulator)
Name | Default Value | Description |
---|---|---|
Software Model ExecutableFVP simulator | FVP_EBVE_Cortex-A8A9x1 | 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 (Software ModelFVP 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.
...
The "Run ARM Embedded Linux Application with Memory Monitoring" and "Run DS-5 Application with Memory Monitoring (Software ModelFVP simulator)" test configurations facilitate the application memory monitoring process. To run application memory monitoring on the simulator or real hardware system:
...