Studio:Interfacing Sample: Difference between revisions
(New page: ==Introduction== The following content relates to the sample files and workspaces installed in ''%STRIDE_DIR%\Samples\Scripting\AutoScript''. This sample consists of a [http://en.wikiped...) |
No edit summary |
||
Line 18: | Line 18: | ||
==Sample Tests== | ==Sample Tests== | ||
Now that you have built the off-target simulator and executed the scripting samples, you can take time to peruse the sample | Now that you have built the off-target simulator and executed the scripting samples, you can take time to peruse the sample scripts and the corresponding results that each produces. This section provides a brief description for each script. | ||
===User Owner=== | |||
This folder contains scripts that implement both the user and owner sides of a function call. This sample is completely host based - no target simulator is required. Only the user script is executed by the Studio test runner; the owner script is started by the user script, running it with a non-blocking call (using the '''studio''' object, described in the Studio Online Help). | |||
The '''user.pl''' script first runs the owner script, as described. Then it loops until it determines that the test function has been owner registered. Once this has occurred it calls the function, blocking until the call is returned. | |||
The '''owner.pl''' script registers as an owner of the test function and loops until the function call event is received. From there it sets the function [[Functions#OutPointers|OutPointer]] and return values, returns the call, and exits the loop and script. | |||
===Register Override=== | |||
This folder contains scripts that again implement both the user and owner sides of a function call. The difference here is that this time the scripted owner is registered as an ''override'' owner - which will receive calls from the user instead of the original function owner. This sample is not completely host based - the target simulator is required to provide the original owner of the function. Only the user script is executed by the Studio test runner; the owner script is started by the user script, running it with a non-blocking call. | |||
The '''regOverrideUser.pl''' script first calls the original owner of the function, which is the function implemented in the target simulator application, which should be running and connected at this time (the '''setup''' folder runs the console application, and the '''OnRunConnect''' property should be set on the Register Override folder to connect before executing the scripts). Once the function call is returned, the user script starts the owner script. After that the user script loops until it detects that the function has been registered override (for synching purposes with the owner script) and then it calls the function again. | |||
The '''regOverrideOwner.pl''' script is started by the regOverrideUser.pl script, as described above. It immediately registers itself as an override owner for the test function and loops until the function call event is received. From there it sets the function [[Functions#OutPointers|OutPointer]] and return values, returns the call, and exits the loop and script. | |||
===Collections=== | |||
The '''MultiFnUser.pl''' script | |||
The '''MultiFnOwner.pl''' script |
Revision as of 00:29, 16 August 2008
Introduction
The following content relates to the sample files and workspaces installed in %STRIDE_DIR%\Samples\Scripting\AutoScript. This sample consists of a Visual Studio workspace for building an off-target simulator, sample source code, and a STRIDE workspace for sample code execution.
Getting Started
To begin, open the Visual Studio Solution file in the sample directory. This solution (and corresponding project) were created for Visual Studio 2005. If you have a later version of Visual Studio installed, you should be able to open this solution and it will be automatically upgraded if necessary. If you do not currently have any version of Visual Studio, we recommend that you install the current free version of Visual Studio Express.
Once you have successfully opened the solution, rebuild it. The build process has custom STRIDE build rules integrated and will produce a STRIDE database, intercept module source files, and an off-target simulator application that incorporates the sample source code.
Once the build is complete, perform the following steps to run the sample scripts in the workspace:
- launch the off-target simulator, Ascript_Samples.exe. This will run in a standard console window.
- open a command prompt window and change to this sample's directory.
- at the command prompt, run the command WorkspaceRun.pl -x setup -x teardown. This will execute all of the sample test scripts in the workspace and displays the results. You may open a browser and display the report written to the Ascript_Samples.html file in the sample's directory .
- quit the Ascript_Samples.exe application by typing 'q' in its console window.
Sample Tests
Now that you have built the off-target simulator and executed the scripting samples, you can take time to peruse the sample scripts and the corresponding results that each produces. This section provides a brief description for each script.
User Owner
This folder contains scripts that implement both the user and owner sides of a function call. This sample is completely host based - no target simulator is required. Only the user script is executed by the Studio test runner; the owner script is started by the user script, running it with a non-blocking call (using the studio object, described in the Studio Online Help).
The user.pl script first runs the owner script, as described. Then it loops until it determines that the test function has been owner registered. Once this has occurred it calls the function, blocking until the call is returned.
The owner.pl script registers as an owner of the test function and loops until the function call event is received. From there it sets the function OutPointer and return values, returns the call, and exits the loop and script.
Register Override
This folder contains scripts that again implement both the user and owner sides of a function call. The difference here is that this time the scripted owner is registered as an override owner - which will receive calls from the user instead of the original function owner. This sample is not completely host based - the target simulator is required to provide the original owner of the function. Only the user script is executed by the Studio test runner; the owner script is started by the user script, running it with a non-blocking call.
The regOverrideUser.pl script first calls the original owner of the function, which is the function implemented in the target simulator application, which should be running and connected at this time (the setup folder runs the console application, and the OnRunConnect property should be set on the Register Override folder to connect before executing the scripts). Once the function call is returned, the user script starts the owner script. After that the user script loops until it detects that the function has been registered override (for synching purposes with the owner script) and then it calls the function again.
The regOverrideOwner.pl script is started by the regOverrideUser.pl script, as described above. It immediately registers itself as an override owner for the test function and loops until the function call event is received. From there it sets the function OutPointer and return values, returns the call, and exits the loop and script.
Collections
The MultiFnUser.pl script
The MultiFnOwner.pl script