STRIDE 3.0.02xx: Difference between revisions
Line 160: | Line 160: | ||
''Defects corrected in STRIDE and the customer tracking number associated with them, if any, in brackets []: | ''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 [[Linux_SDK#RTSINGLEPROC|multi-process]] mode. | * Intermittent palWait()/palNotify() failures when using [[Linux SDK]] in [[Linux_SDK#RTSINGLEPROC|multi-process]] mode. | ||
* [[WinMobile SDK]] | * [[WinMobile SDK]] failed to build in Windows CE 6.00. | ||
* Test Unit [[Pass/Fail Macros]] | * Test Unit [[Pass/Fail Macros]] did not support pointer arguments. | ||
* Misalignment of conditional blocks involving pointers containing discriminated unions, during pointer setup in [[Intercept_Module|IM]] generation. | * Misalignment of conditional blocks involving pointers containing discriminated unions, during pointer setup in [[Intercept_Module|IM]] generation. | ||
* In [[AutoScript|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. | * In [[AutoScript|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. | * Enhancement to [[STRIDE Studio]] Trace View post filtering - to include matching call/return events. | ||
* Bitfield members | * Bitfield members were not listed in [[STRIDE Studio]] Autosense. | ||
* Incorrect [[Intercept_Module|IM]] generation for Remote Interceptors, i.e., a Dynamic Delegate without Tracing. | * Incorrect [[Intercept_Module|IM]] generation for Remote Interceptors, i.e., a Dynamic Delegate without Tracing. | ||
Revision as of 15:45, 13 April 2009
Release Notes
This page documents the changes in STRIDE version 3.0.02xx (code name Beacon's).
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 3.0.02xx. |
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.
Trace View Filtering
A new post-filter setting exists for Trace Views. The "Post Filtering" tab in the Filters dialog and the "Filter String" dialogs now both have check boxes that read "Do not filter out any matching events", which are unchecked by default. When checked, and when filters are in effect, for any remaining (ie. not filtered out) items that have corresponding return or call event items, these corresponding items will remain visible even if they would normally be filtered out.
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 STRIDE Studio "Connectivity Options" dialog, "Serial Port" list is not automatically refreshed on open.
- In STRIDE Studio automatic results upload to portal fails when server address ends with /
- In STRIDE Studio "Link Statistics" dialog says "Not Connected" when there is a connection.
- STRIDE Transport Server consumes 100% CPU when Serial Transport enabled.
SCL Pragmas
- The syntax of scl_function and scl_func pragmas has been expanded with a set of new optional attributes that would allow specification of function interception.
Build Tools
- The options of s2sinstrument have been changed to support handling of Function Double.
Runtime
- STRIDE Host Release 3.0.02xx is compatible with the Runtime Version 3.00, 3.01, 3.02, 3.03, and 3.04
- Implemented a set of routines to support Function Double
- Implemented a set of routines to support Test Points
- Implemented a set of logging macros
- The signature of the PAL IO Service callback registrars (palOutPndReg(), palOutRdyReg() and palInReg()) has changed. Instread of palBOOL, now they return the previously registreted callback or palNULL if not such set.
- The public Test Services srTestSuiteAddTest() API has been renamed to srTestSuiteAddCase()
- In SLAP the user implemented s2slapDataReady() has been removed in favor of a new callback registrar s2slapRegDataReadyCb(). If implementing a custom PAL make sure to register your callback when initializing the IO services.
- Most of the Runtime, GRS and SLAP files have been modified. It is recomended that you update them all.
- The following Runtime files have been removed:
srtest.cpp srtestmacros.h srtestmacros.c srtestmacros.cpp
- The following new Runtime files have been added:
srtestpp.cpp
- All Linux SDK files have been modified.
- All WinMobile SDK files have been modified.
Host
- The Host Runtime Daemon process (s2shost.exe) has been removed, its functionallity is now part of the Transport Server (s2stpsrv.exe).
AutoScript
- A new synthesized "_Discriminant" field has been added as a member of the union object in AScript that is always active so that an internal discriminant value may be set or read regardless of the active member.
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 causes linkage errors.
- Setting a function double may cause a crash.
- STRIDE Runtime file srtest.h may 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.
- Bitfield members were not listed in STRIDE Studio Autosense.
- Incorrect IM generation for Remote Interceptors, i.e., a Dynamic Delegate without Tracing.
The following Runtime source files have been modified:
srtest.h srtestpp.cpp
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