STRIDE 3.0.02xx: Difference between revisions
No edit summary |
|||
(111 intermediate revisions by 4 users not shown) | |||
Line 21: | Line 21: | ||
== Usability Improvements == | == Usability Improvements == | ||
=== | === Test Double === | ||
Now in the context of a [[Test_Units|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 [[Test Point Testing in C/C++|Test Points]] APIs has been implemented. In the context of a [[Test_Units|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_Units#Test_Macros|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 [[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. | |||
* [[Transport_Server_Component|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 Point Testing in C/C++ |Test Points]] | |||
* Implemented a set of [[Test_Units#Log_Macros|logging macros]] | |||
* The signature of the [[Platform_Abstraction_Layer#PAL_Input.2FOutput_Services|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 ''[[Test_Units#srTestSuiteAddCase|srTestSuiteAddCase()]]'' | |||
* In [[SLAP]] the user implemented s2slapDataReady() has been removed in favor of a new callback registrar s2slapRegDataReadyCb(). If implementing a custom [[Platform_Abstraction_Layer|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). | |||
= 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'': | |||
<source lang=c> | |||
#include <srtest.h> | |||
</source> | |||
* | * Any reference to ''srIMON'' macro in the user's code should be replaced by reference to ''STRIDE_ENABLED'' macro: | ||
<source lang=c> | |||
#if STRIDE_ENABLED | |||
... | |||
#endif /*STRIDE_ENABLED*/ | |||
</source> | |||
* Any reference to ''imDELEGATE'' macro in the user's code should be replaced by reference to ''imINTERCEPT'' macro: | |||
* | <source lang=c> | ||
int foo(int x, int y) | |||
{ | |||
return imINTERCEPT(depend)(x) + y; | |||
} | |||
</source> | |||
* Any captured function for the purpose of interception (formally known as delegation) should be enhanced with the new [[scl_function]] attributes: | |||
* | <source lang=c> | ||
void foo(void); | |||
#pragma scl_function(foo, "DEFINITION", "IMPLICIT", "GROUP_ID") | |||
</source> | |||
* Any use of Runtime Test Service ''srTestSuiteAddTest()'' API should be replaced with (renamed to) ''[[Test_Units#srTestSuiteAddCase|srTestSuiteAddCase()]]''. | |||
== Build Integration == | |||
* Any Target compiler switch (preprocessor directive) using srIMON should be replaced with new one using STRIDE_ENABLED: | |||
<pre> | |||
> cc -DSTRIDE_ENABLED=1 -I ... | |||
</pre> | |||
== | * Any use of [[s2sinstrument|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: | ||
<source lang=c> | |||
void foo(void); | |||
#pragma scl_function(foo) | |||
</source> | |||
<pre> | |||
> s2sinstrument --mode=Dued#mygroup(foo) ... | |||
</pre> | |||
Should be changed to: | |||
<source lang=c> | |||
void foo(void); | |||
#pragma scl_function(foo, "REFERENCE", "EXPLICIT", "mygroup") | |||
</source> | |||
<pre> | |||
> s2sinstrument --mode=PIT(foo) ... | |||
</pre> | |||
= Minor and Patch releases = | = Minor and Patch releases = | ||
Line 77: | Line 135: | ||
== 3.0.0201a == | == 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|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 [[Linux_SDK#RTSINGLEPROC|multi-process]] mode. | |||
* [[WinMobile SDK]] failed to build in Windows CE 6.00. | |||
* Test Unit [[Test Macros | 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. | |||
* 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 | |||
** sequence count - reset to 0 when cleared | |||
* Bitfield members were not listed in [[STRIDE Studio]] Autosense. | |||
* Incorrect [[Intercept_Module|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. Its 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 | |||
[[Category: Release Notes]] | |||
[[Category:Release Notes]] |
Latest revision as of 22:46, 2 June 2010
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 Test Points 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 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).
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. Its 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