This topic provides an overview of C++test’s cross-platform testing process and requirements. For details on using C++test with the supported environments, see Supported Environments Details.
|Table of Contents|
- Host development environments:
- OS: Windows or Linux
- Compilers: GNU GCC 2.95.x – 3.4.x (Windows), GNU GCC 2.95.x – 4.1.x (Linux), Green Hills MULTI v4.0.x Native (Windows), Green Hills MULTI v5.1.x Embedded V800 (Windows), Microsoft Visual Studio (Windows), Sun CC compilers
- Embedded environments (non-exclusive):
- ARM RVDS 3.0, 3.1, 4.0, 4.1 DS-5 5.18 and higher
- Embedded Linux
- Green Hills MULTI
- IAR Embedded Workbench for ARM (starting from 5.3x)QNX Development Environment 6.3, 6.4, 6.5
- Renesas High-performance Embedded Workshop 4
- Texas Instruments Code Composer 35.1x, 36.30, 7.4.x, 58.x, and 6.0
- Wind River Tornado 2.xWind River Workbench 2. 6 or 3.0-3.3
See Supported Environments for compiler support details.
For target-based testing, a cross-compiled C++test runtime library is be needed. C++test will automatically prepare a build of the runtime library. In some cases when non-standard customization is required, you will need to manually prepare a build of the runtime library (as described Working with the C++test Runtime Library) and use a cross-compiler to build the test harness source code. The cross-compiled test harness and runtime library should then be linked together with libraries containing standard OS functions (a list of external functions used in the C++test runtime is provided in Symbols Used By the C++test Runtime Library).
The process of cross-compiling the test harness and linking it with the C++test runtime library is usually automated by C++test (See Working with the C++test Runtime Library) and requires the cross-compiler to be correctly defined in C++test (See Configuring Testing with the Cross Compiler). This process does not require user interaction.
After testing is completed, the test log needs to be transferred back to the host so you can review results in the C++test GUI. This transfer can be automated by C++test (as described in Customizing the Test Execution Flow) or performed manually.
- Prepare the test harness (instrument user source code, generate/collect test cases).
- Build the test harness.
- Deploy the test executable to the target device.
- Execute the tests automatically or wait for the tests to execute.
- Download test and coverage results to the host machine and have C++test read them.