STRIDE 4.1.01x
Release Notes
This page documents the changes in STRIDE version 4.1.01x (code name Grandview).
Please review this information before upgrading from an earlier version.
Note that if you are upgrading from a previous installation you must uninstall your existing STRIDE before installing version 4.1.01x. |
What's New
Based on customer feedback, in this release we have many key usability improvements and bug fixes.
Usability Improvements
Test Double
Now in the context of a Test Unit a dependent function call can intercepted and replaced with a user defined Function Double. A set of new Test Double Samples for Test Units has been added.
Test Points
To support asynchronous tasks testing a set of new Testpoints APIs has been implemented. In the context of a Test Unit test point expectations could be set and validated. A new set of Test Point Samples for Test Units has been added.
Build Integration
A new STRIDE_ENABLED compiler switch (preprocessor directive) has been added to allow control over the compilation of STRIDE injected source (Test Macros or Name Mangling macros). The use of srIMON compiler switch (preprocessor directive) has been deprecated in favor of STRIDE_ENABLED.
Test Space
A new utility script is available to upload test results to STRIDE Test Space. (Consult your S2 Technologies representative for more information on STRIDE Test Space.) The s2Publish.pl script can be added to your STRIDE workspace script collection to upload your test results. Or, s2Publish.pl may be used from the command line.
Change Details
Fixes
This section describes defects which have been corrected in STRIDE and the customer tracking number associated with them, if any, in brackets [].
- In Linux SDK the PAL timer APIs may deadlock.
- In Windows SDK the COM ports 1-9 may not be handled properly.
- Generated IM code for Test Doubles is incorrect (compiler warning)
- STRIDE Studio may crash when compiling unions with internal discriminants.
- STRIDE Studio is unable to publish results to STIRDE Test Space.
Host Tools
- A new command line host based tool, STRIDE Runner, has been introduced.
Runtime
- STRIDE Host Release 4.1.01x is compatible with the Runtime Version 4.1.01
- Test Points has been changed.
- The signature of the PAL IO Service InData callback (palInDataCallback_t) has changed. The first argument is now a const pointer.
- The public Test Services srTestSuiteAddTest() API has been renamed to srTestSuiteAddCase()
- Most of the Runtime files have been modified. It is recomended that you update them all.
- The following Runtime files have been removed:
srinstall.h srinstall.c
- The following new Runtime files have been added:
srdiag.h srdiag.c
- All Linux SDK files have been modified.
- All Windows SDK files have been modified.
Migration to 3.0.02xx
Recommended steps for migration from a previous version:
Application's Code
- Any inclusion of srtestmacro.h in the user's source should be replaced by inclusion of srtest.h:
#include <srtest.h>
- Any reference to srIMON macro in the user's code should be replaced by reference to STRIDE_ENABLED macro:
#if STRIDE_ENABLED
...
#endif /*STRIDE_ENABLED*/
- Any reference to imDELEGATE macro in the user's code should be replaced by reference to imINTERCEPT macro:
int foo(int x, int y)
{
return imINTERCEPT(depend)(x) + y;
}
- Any captured function for the purpose of interception (formally known as delegation) should be enhanced with the new scl_function attributes:
void foo(void);
#pragma scl_function(foo, "DEFINITION", "IMPLICIT", "GROUP_ID")
- Any use of Runtime Test Service srTestSuiteAddTest() API should be replaced with (renamed to) srTestSuiteAddCase().
Build Integration
- Any Target compiler switch (preprocessor directive) using srIMON should be replaced with new one using STRIDE_ENABLED:
> cc -DSTRIDE_ENABLED=1 -I ...
- Any use of STRIDE instrument tool "SPD[uoed]#<group_id>" mode option should be updated according to the new format "SPI[T]" (along with any needed changes to the associated scl_function pragma). This is necessary especially when as formally called Delegates were generated. For example:
void foo(void);
#pragma scl_function(foo)
> s2sinstrument --mode=Dued#mygroup(foo) ...
Should be changed to:
void foo(void);
#pragma scl_function(foo, "REFERENCE", "EXPLICIT", "mygroup")
> s2sinstrument --mode=PIT(foo) ...
Minor and Patch releases
3.0.0201a
Defects corrected in STRIDE and the customer tracking number associated with them, if any, in brackets []:
- STRIDE Runtime install test caused linkage errors.
- Setting a function double might cause a crash.
- STRIDE Runtime file srtest.h might generate errors when compiled with old C++ compilers.
The following Runtime source files have been modified:
srapi.c srinstall.h srinstall.c srtest.h
The following Linux SDK files have been modified:
Makefile
The following WinMobile SDK files have been modified:
stride.mak
3.0.0201b
Defects corrected in STRIDE and the customer tracking number associated with them, if any, in brackets []:
- Intermittent palWait()/palNotify() failures when using Linux SDK in multi-process mode.
- WinMobile SDK failed to build in Windows CE 6.00.
- Test Unit Pass/Fail Macros did not support pointer arguments.
- Misalignment of conditional blocks involving pointers containing discriminated unions, during pointer setup in IM generation.
- In AScript unable to access members of out of range internally discriminated union. Added a new special "_Discriminant" member to any discriminated union objects to allow direct access to the discriminant.
- Enhancement to STRIDE Studio Trace View
- post filtering - to include matching call/return events
- sequence count - reset to 0 when cleared
- Bitfield members were not listed in STRIDE Studio Autosense.
- Incorrect IM generation for Remote Interceptors, i.e., a Dynamic Delegate without Tracing.
- s2Installtest.pl utility script has been updated to always generate an xml result file. The options have also been updated.
- TestHelloStride Test Unit removed from installation test logic.
The following Runtime source files have been modified:
srtest.h srtestpp.cpp srinstall.h srinstall.c
The following Linux SDK files have been modified:
palcfg.h palIO.c palOS.c
The following WinMobile SDK files have been modified:
stride.mak palIO.c stride.c