Studio:WorkspaceSetup.pl

From STRIDE Wiki
Revision as of 13:16, 23 April 2008 by Shamr (talk | contribs) (Workspace Layout)
Jump to: navigation, search

The WorkspaceSetup.pl script (found in the STRIDE scripts directory) provides a command line tool for creating workspaces from a Framework. This script requires perl for execution as well as the STRIDE Test Utilities.

Usage

Summary

WorkspaceSetup.pl -w MyWorkspace -d "MyDir" -f fxname [-g fxdir -p pkg -q pkgdir -s customsettings -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.
-f | --framework = TargetFramework
Specifies the STRIDE Target Framework to use when creating the workspace. As of this writing, STRIDE provides several basic frameworks:
  • Linux for strideAgent-based tests on a FedoraCore7 target machine.
  • WindowsStrideAgent for strideAgent-based tests on the host platform.
  • WindowsTestApp for TestApp-based tests on the host platform.
  • WinMobile for strideAgent-based tests on a WinMobile device.
  • GenericStrideAgent for a skeleton framework that prompts the user at each step that requires action (e.g. building or starting the target application).
  • GenericTestApp for a skeleton framework that prompts the user at each step that required action.
Customers can create additional custom frameworks and specify additional search paths for this script to use to locate the frameworks.
-g | --dirframework = FrameworkSearchDirectory
Specifies an additional directory path to search for the specified framework. If the framework is not found in the default STRIDE frameworks directory, these directories will be searched. This option can be specified multiple times to add multiple directories to the framework search path.
-p | --package = PackageName
Specifies a Test Package to add to the workspace when it is created. If no packages are specified, the workspace will be created without any tests in it. This option can be specified multiple times to add multiple packages to the new workspace
-q | --dirpackage = PackageSearchDirectory
Specifies an additional directory path to search for packages. For any package that is specified with the --package option, we first look in the packages directory in the STRIDE insatllation directory. If it is not found there, we will search in the location(s) specified by this option. This option can be specified multiple times to add multiple additional directories to the packages search path.
-s | --commonsettings = MySettings.pm
Allows users to specify a different CommonSettings file to copy into the generated workspace directory. This allows framework users to generate a workspace with a customized set of local settings.
-c | --workspaceconfig = MyConfig.pm
Allows users to specify a different WorkspaceConfig file to use when creating the workspace. This allows framework 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 >
   <build> (only if present in the input framework)
     CheckEnv.pl
     CompileWorkspace.pl
     CreateInterceptModule.pl
     BuildStrideAgent.pl
     <Intercept Module Overrides>
       <{Package_X}>
         (optional package specific scripts, grouped into a package folder) 
       <...> 
   <setup>
     StartPrintLog.pl
     StartTestAgent.pl
       (OR any other files that exist in the input framework's setup folder)
   <test>
       <{Package_X}>
         (package specific test scripts, grouped into a package folder)
       <...> 
   <teardown>
     StopTestAgent.pl
       (OR any other files that exist in the input framework's teardown folder)
     StopPrintLog.pl
     TweakResults.pl
   <utility>
     (optional Framework specific utility libraries)
     BuildUtilities.pm
     TargetUtilities.pm
     <recovery>
       OnError.pl
       OnTimeout.pl
     CommonSettings.pm
     FrameworkUtilities.pm
 < Source Files >
   <Framework>
     strideIMProbe_SCL.h
   <{Package_X}>
     (optional package specific source, grouped into a package folder) 
   <...>

build Folder

This folder contains the general and Framework-specific scripts necessary for building the STRIDE workspace and strideAgent device image. If this folder is not present in the input framework (e.g. with a TestApp framework), then it will be omitted from the generated workspace.

Intercept Module Overrides Folder

This folder may contain one or more Test Package-specific scripts for properly configuring the Intercept Module settings for the interfaces associated with the package.

setup Folder

This folder contains the scripts necessary to prepare the device for testing. For TestAgent-based frameworks, this might involve transfer of the TestAgent image and starting of the process on the device.

test Folder

This folder contains all package-specific tests, grouped in sub-folders by package name. For TestAgent-based frameworks, 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. For TestAgent-based frameworks, this might involve stopping the TestAgent process and removing the TestAgent image from the device.

utility Folder

This folder contains utility libraries that are associated with the workspace. Some files come from the common STRIDE Framework, while others are Framework-specific. Not all of the files in this directory tree are included in execution; as such, they are in the workspace primarily for convenience to the users.

recovery Folder

This folder contains the OnError and OnTimeout scripts – either a specific implementation provided by the Framework or the default implementation provide by the STRIDE common files.

Framework Folder

This folder contains source code required for general Framework test execution and recovery.