Studio:WorkspaceSetup.pl: Difference between revisions
No edit summary |
|||
(13 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
The WorkspaceSetup.pl script (found in the STRIDE ''scripts'' directory) provides a command line tool for creating workspaces | The WorkspaceSetup.pl script (found in the STRIDE ''scripts'' directory) provides a command line tool for creating canonical [[STRIDE Studio]] workspaces suitable for organizing your test scripts. This script requires perl for execution as well as the STRIDE Test Utilities. | ||
==Usage== | ==Usage== | ||
Line 6: | Line 6: | ||
:{| | :{| | ||
|style="background:linen" | <font face="courier">WorkspaceSetup.pl -w MyWorkspace -d "MyDir" | |style="background:linen" | <font face="courier">WorkspaceSetup.pl -w MyWorkspace -d "MyDir" [-c customconfig -l]</font> | ||
|} | |} | ||
Line 14: | Line 14: | ||
;-d | --dirworkspace = WorkspaceDirectory | ;-d | --dirworkspace = WorkspaceDirectory | ||
:Specifies the directory in which to create the new workspace. Defaults to the current directory. | :Specifies the directory in which to create the new workspace. Defaults to the current directory. | ||
;-c | --workspaceconfig = MyConfig.pm | ;-c | --workspaceconfig = MyConfig.pm | ||
:Allows users to specify a different WorkspaceConfig file to use when creating the workspace. This allows | :Allows users to specify a different an optional [[#WorkspaceConfig.pm|WorkspaceConfig.pm]] file to use when creating the workspace. This allows users to generate a workspace with custom config parameters. | ||
;-l | --launch | ;-l | --launch | ||
:Launches STRIDE Studio and opens the newly created workspace. | :Launches STRIDE Studio and opens the newly created workspace. | ||
Line 40: | Line 23: | ||
The workspaces that are created by WorkspaceSetup will have the following files and folders (items in '''<brackets>''' indicate folders): | The workspaces that are created by WorkspaceSetup will have the following files and folders (items in '''<brackets>''' indicate folders): | ||
'''< Script Files | '''< Script Files >''' | ||
'''<[[#setup Folder|setup]]>''' | '''<[[#setup Folder|setup]]>''' | ||
[[ | [[#s2StartPrintLog.pl|s2StartPrintLog.pl]] | ||
'''<[[#test Folder|test]]>''' | |||
'''<[[#test Folder|test]] | |||
'''<[[#teardown Folder|teardown]]>''' | '''<[[#teardown Folder|teardown]]>''' | ||
[[ | [[#s2StopPrintLog.pl|s2StopPrintLog.pl]] | ||
[[#s2TweakResults.pl|s2TweakResults.pl]] | |||
[[ | |||
'''<[[#utility Folder|utility]]>''' | '''<[[#utility Folder|utility]]>''' | ||
'''<[[#recovery Folder|recovery]]>''' | '''<[[#recovery Folder|recovery]]>''' | ||
[[ | [[#s2OnError.pl|s2OnError.pl]] | ||
'''< Source Files >''' | '''< Source Files >''' | ||
===setup Folder=== | ===setup Folder=== | ||
This folder | This folder is intended to contain the scripts necessary to prepare the device for testing. For the canonical workspace, we add a script that opens a traceview to capture srPrint* output messages. Users might choose to add scripts for starting and initializing the device under test. | ||
===test Folder=== | ===test Folder=== | ||
This folder | This folder is intended to contain the test scripts to be executed on the device. It is created by this setup and test script writers are free to organize test scripts however they want in this folder. This folder also has the "OnRunConnect" property set to true so that a target connection will be initiated when it is executed. The connection is established using your global connection settings (see STRIDE Studio reference guide for more information). | ||
===teardown Folder=== | ===teardown Folder=== | ||
This folder contains the scripts necessary to cleanup after testing is completed. | This folder contains the scripts necessary to cleanup after testing is completed. This might involve, for example, stopping the device. The canonical workspace contains one script to process the srPrint* info sent to the logging traceview and another to adjust the hierarchy of the final report results. | ||
===utility Folder=== | ===utility Folder=== | ||
This folder | This folder should be used to hold utility libraries that are associated with the workspace. This directory is not included in execution; as such, the files therin are provided for convenience to the users. | ||
===recovery Folder=== | ===recovery Folder=== | ||
This folder contains the | This folder contains the sample s2OnError script that we provide. This is intended as a template for customization depending on your device's needs. | ||
==WorkspaceConfig.pm== | |||
WorkspaceSetup.pl provides a limited way to configure the settings used when creating the new workspace. This file (WorkspaceConfig.pm), if specified, is executed during workspace creation and is used to configure the compiler, target, and workspace level settings for each new workspace. | |||
WorkspaceConfig must define, at a minimum, a single hash variable named %WorkspaceConfig::Settings (i.e., the hash is called Settings and is in the WorkspaceConfig package namespace). This hash may contain any or all of the following members: | |||
*Compiler | |||
*Target | |||
*Database | |||
*Workspace | |||
Each of these elements are themselves hashes (anonymous), each of which has entries that correspond to the properties of the corresponding automation studio automation model, e.g.: | |||
*Compiler corresponds to studio.Workspace.Settings.Compiler | |||
*Target corresponds to studio.Workspace.Settings.Target | |||
*Database corresponds to studio.Workspace.Settings.Database | |||
*Workspace corresponds to studio.Workspace | |||
==Provided Scripts== | |||
===s2StartPrintLog.pl=== | |||
This script creates one or more traceviews to capture messages from the STRIDE Runtime. | |||
===s2StopPrintLog.pl=== | |||
This script processes the content of the traceview(s) that were created by [[#s2StartPrintLog.pl|s2StartPrintLog.pl]]. The contents of the traceview(s) is added to the resulting test report as annotations. | |||
===s2TweakResults.pl=== | |||
Since the workspace organization includes several folders that produce no test results, this script consolidates the result from the test folder into a more convenient test report hierarchy. The final report that is generated contains all test results from the test folder under the top-level workspace suite. | |||
===s2OnError.pl=== | |||
This script demonstrates how one might implement a recovery script for use in STRIDE Studio (as an OnError or OnTimeout property). This implementation verifies that the connection to the device is still active. If the connection has been lost, it attempts to "restart" the device by running the scripts in the '''setup''' and '''teardown''' folders. For most devices, the restart logic should probably be customized to better suit the device. | |||
Once the device connection is determined to be healthy, the script attempts to verify that the intercept module thread is active by calling a stock function called ''__strideIMProbe__''. If this function exists and returns an expected value when returned, the target is deemed to be functional and ready for more tests. Otherwise, the device is assumed to be non-functional and testing is halted. | |||
== | == Prerequisites == | ||
This | This component is written in the Perl scripting language and therefore requires that Perl be installed. See [[Studio:Desktop Installation#Third Party Requirements|Perl requirements]] for more information. | ||
[[Category: | [[Category:Studio:Scripts]] |
Latest revision as of 04:54, 7 May 2010
The WorkspaceSetup.pl script (found in the STRIDE scripts directory) provides a command line tool for creating canonical STRIDE Studio workspaces suitable for organizing your test scripts. This script requires perl for execution as well as the STRIDE Test Utilities.
Usage
Summary
WorkspaceSetup.pl -w MyWorkspace -d "MyDir" [-c customconfig -l]
- Parameters
- -w | --workspacename = WorkspaceName
- Specifies the name new workspace to be created. This workspace will be created in the directory specified by the --dirworkspace argument or in the current directory (if no workspace directory is specified). Defaults to 'MyWorkspace'.
- -d | --dirworkspace = WorkspaceDirectory
- Specifies the directory in which to create the new workspace. Defaults to the current directory.
- -c | --workspaceconfig = MyConfig.pm
- Allows users to specify a different an optional WorkspaceConfig.pm file to use when creating the workspace. This allows users to generate a workspace with custom config parameters.
- -l | --launch
- Launches STRIDE Studio and opens the newly created workspace.
Workspace Layout
The workspaces that are created by WorkspaceSetup will have the following files and folders (items in <brackets> indicate folders):
< Script Files > <setup> s2StartPrintLog.pl <test> <teardown> s2StopPrintLog.pl s2TweakResults.pl <utility> <recovery> s2OnError.pl
< Source Files >
setup Folder
This folder is intended to contain the scripts necessary to prepare the device for testing. For the canonical workspace, we add a script that opens a traceview to capture srPrint* output messages. Users might choose to add scripts for starting and initializing the device under test.
test Folder
This folder is intended to contain the test scripts to be executed on the device. It is created by this setup and test script writers are free to organize test scripts however they want in this folder. This folder also has the "OnRunConnect" property set to true so that a target connection will be initiated when it is executed. The connection is established using your global connection settings (see STRIDE Studio reference guide for more information).
teardown Folder
This folder contains the scripts necessary to cleanup after testing is completed. This might involve, for example, stopping the device. The canonical workspace contains one script to process the srPrint* info sent to the logging traceview and another to adjust the hierarchy of the final report results.
utility Folder
This folder should be used to hold utility libraries that are associated with the workspace. This directory is not included in execution; as such, the files therin are provided for convenience to the users.
recovery Folder
This folder contains the sample s2OnError script that we provide. This is intended as a template for customization depending on your device's needs.
WorkspaceConfig.pm
WorkspaceSetup.pl provides a limited way to configure the settings used when creating the new workspace. This file (WorkspaceConfig.pm), if specified, is executed during workspace creation and is used to configure the compiler, target, and workspace level settings for each new workspace.
WorkspaceConfig must define, at a minimum, a single hash variable named %WorkspaceConfig::Settings (i.e., the hash is called Settings and is in the WorkspaceConfig package namespace). This hash may contain any or all of the following members:
- Compiler
- Target
- Database
- Workspace
Each of these elements are themselves hashes (anonymous), each of which has entries that correspond to the properties of the corresponding automation studio automation model, e.g.:
- Compiler corresponds to studio.Workspace.Settings.Compiler
- Target corresponds to studio.Workspace.Settings.Target
- Database corresponds to studio.Workspace.Settings.Database
- Workspace corresponds to studio.Workspace
Provided Scripts
s2StartPrintLog.pl
This script creates one or more traceviews to capture messages from the STRIDE Runtime.
s2StopPrintLog.pl
This script processes the content of the traceview(s) that were created by s2StartPrintLog.pl. The contents of the traceview(s) is added to the resulting test report as annotations.
s2TweakResults.pl
Since the workspace organization includes several folders that produce no test results, this script consolidates the result from the test folder into a more convenient test report hierarchy. The final report that is generated contains all test results from the test folder under the top-level workspace suite.
s2OnError.pl
This script demonstrates how one might implement a recovery script for use in STRIDE Studio (as an OnError or OnTimeout property). This implementation verifies that the connection to the device is still active. If the connection has been lost, it attempts to "restart" the device by running the scripts in the setup and teardown folders. For most devices, the restart logic should probably be customized to better suit the device.
Once the device connection is determined to be healthy, the script attempts to verify that the intercept module thread is active by calling a stock function called __strideIMProbe__. If this function exists and returns an expected value when returned, the target is deemed to be functional and ready for more tests. Otherwise, the device is assumed to be non-functional and testing is halted.
Prerequisites
This component is written in the Perl scripting language and therefore requires that Perl be installed. See Perl requirements for more information.