The Scope tab determines which code is analyzed or tested. The Scope tab settings only apply to source code static analysis. In this section:

The general procedures related to configuring and sharing Test Configurations are standardized across the Parasoft Test family and are discussed in Configuring Test Configurations and Rules for Policies.

During a test, SOAtest will perform the specified action(s) on all code in the selected resource that satisfies the scope criteria for the selected Test Configuration. By default, SOAtest operates on all files in the selected project or asset. However, you can use the Scope tab to configure restrictions such as:

Some file filters and line filters are only applicable if you are working with projects that are under supported source control systems.

File Filters

File filters restrict SOAtest from testing files that do not meet the specified timestamp and/or author criteria.

Tips

  • Perl-style expressions can be used.
  • The following wildcards are supported:
    • *   matches 0 or more characters except  '/'.
    • ?  matches any single character except '/'.
    • ** matches 0 or more characters, including '/'. This allows you to include path elements.
  • The following sample elements are added by default to the Code Review configuration:
    • **/bin/**/*.properties is added to the sample list of rejected wildcards.
    • (.*?/(bin|obj)(/x86|/x64){0,1}/(Debug|Release)/.*?\\.(dll|exe|pdb))$ is added to the sample list of rejected regexps.
  • Regular expressions can be used to identify specific differences. For instance, if you want to flag only source code changes that add, remove, or modify TODO tags, you would use the Differences regular expression
    .*TODO.*

Examples

A basic file mask might be:

  • *.java, *.xml, *.properties
  • *.c, *.cpp, *.h, *.cc, *.hpp, makefile, .project, .classpath
  • *.c, *.cpp, *.h, *.cc, *.hpp, makefile, *.sln, *.prj, *.res
  • *.cs, *.vb, *.sln, *.prj, *.resx

To include every file whose path has a folder named "bank" or "customer", use: 

  • **/bank/**, **/customer/**

To include every file whose path has a folder with a name that either starts with "bank", includes "customer", or ends with "invoice", use: 

  • **/bank*/**, **/*customer*/**, **/*invoice/**

To include every .java file that 1) has name that starts with "Test", and 2) is located in a folder named "security" (which is within the src/test directory of any project), use:

**/src/test/**/security/Test*.java 

To include every .cs file that 1) is in the ATM solution, 2)  is in the ATMLib project, 3) is within the CompanyTests subfolder, 4) has a name that starts with "Test", use:

ATM/ATMLib/CompanyTests/**/Test*.cs 

Line Filters

Line filters restrict the lines of code that SOAtest operates on. The file filter is applied first, so code that reaches the line filter must have already passed the file filter. Available line filter options include:

Code authorship information and last modified date is determined in the manner set in the Scope and Authorship preferences page; for details about available settings, see Configuring Task Assignment and Code Authorship Settings.