Difference between revisions of "STRIDE 3.0.02xx"

From STRIDE Wiki
Jump to: navigation, search
Line 186: Line 186:
 
  stride.c
 
  stride.c
  
[[Category:Release Notes]]
+
[[Category:Studio:Release Notes]]

Revision as of 17:33, 23 September 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.


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

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

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