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

How to Configure and Share Test Configurations

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:

  • Test only files or lines added or modified after a given date.
  • Test only files or lines added or modified on the local machine.
  • Test only files modified by a specific user.
  • Test only files that match certain filter criteria

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.

  • Time options: Restricts SOAtest from testing files that do not meet the specified timestamp criteria. Available time options include:
    • No time filters: Does not filter out any files based on their last modification date.
    • Test only files added or modified since the cutoff date: Filters out files that were not added or modified since the cutoff date.
    • Test only files added or modified in the last ___ days: Filters out files that were not added or modified in the specified time period.
    • Test only files modified between working and ___: Filters out files that were not modified between the working developer branch (in the workspace) and the specified branch (or the default integration stream detected, if that option is enabled). The stream name can be any stream from the parent’s hierarchy of developer working streams. The default integration stream is the parent stream of the developer working stream. For example, if you have a stream hierarchy of [Main] --- [Integration] --- [Developer], then Integration is the default integration stream for the Developer stream. This feature only applies to files that are under supported source control systems.
    • Test only files added or modified locally: Filters out files that were not added or modified on the local machine. This feature only applies to files that are under supported source control systems.
  • Author options: Restricts SOAtest from testing files that do not meet the specified author criteria. Available author filter options include:
    • No author filters: Does not filter out any files based on their author.
    • Test only files authored by preferred user: Filters out any files that were not authored by the specified user (that is, filters out any files that were authored by another user).
  • Path options: Configures SOAtest to filter in or out files that match the specified filter criteria. Use the "accept" filter to specify the types of files you want to include. Use the "reject" filter to specify the types of files you want to exclude. For code review test configurations, these filters will be pre-populated with common filtering options.

Filter Examples

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:

  • Time options: Restricts SOAtest from testing lines of code that do not meet the specified timestamp criteria. Available time options include:
    • No time filters: Does not filter out any lines of code based on their last modification date.
    • Test only lines added or modified since the cutoff date: Filters out lines of code that were not added or modified since the cutoff date. This feature only applies to files that are under supported source control systems.
    • Test only lines added or modified in the last n days: Filters out lines of code that were not added or modified in the specified time period.
    • Test only lines added or modified locally: Filters out lines of code that were not added or modified on the local machine. This feature only applies to files that are under supported source control systems.
  • Author options: Restricts SOAtest from testing lines of code that do not meet the specified author criteria. Available author filter options include:
    • No author filters: Does not filter out any lines of code based on their author.
    • Test only files authored by users: Filters out any files that were not authored by the specified users. For example, you can use this to focus on files that you—or a selected group of teammates—worked on. To specify multiple users, use a comma-separated list (for example: matt, tom, joe).

Configuring Scope and Authorship

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.

  • No labels