This section provides information about the Jtest tasks for Ant and their parameters. The following tasks are available:

jtest

The Ant task to execute Jtest.

Parameters (nested elements)

NameAccepted values/ data typeDescriptionRequired
compilationCompilationA description of manual configuration data (see Manual Customization of Compilation Data)No
compilationsListA list of descriptions of manual configuration data (see Manual Customization of Compilation Data)No
configString

dataUpdateString

Allows you to manually update compilation data collected from the build.

User property is: jtest.dataUpdate

No
excludeString

Specifies a subset of files or packages from the selected resources that will be excluded from analysis. You can provide the qualified names or use Ant glob patterns to match more filenames.

User property is: jtest.exclude

No
excludesList

A list of exclude parameters.

User property is: jtest.excludes

No
excludeTestSourcestrue | false

Excludes test source code from analysis.

User property is: jtest.excludeTestSources

No
failtrue | false

Fails the build if any violation is reported.

User property is: jtest.fail

No
homePath

Specifies the Jtest installation directory. If not defined, the Jtest location specified on PATH will be used.

User property is: jtest.home

Recommended
ignoredIdsList

A list of ignored compilation IDs.

User property is: jtest.ignoredids

No
includeString

Specifies a subset of files or packages form the selected resources that will be included during analysis.

User property is: jtest.include

No
includesList

A list of include parameters.

User property is: jtest.includes

No
publishtrue | falseEnables reporting results of local analysis to the DTP server.

User property is: jtest.publish

No
reportPath

Specifies the directory where the report will be created.

User property is: jtest.report

No
resourceString

Specifies the input scope for analysis. If no resources are specified, Jtest will analyze resources from every built project.

User property is: jtest.resource

No
resourcesList

A list of resource parameters.

User property is: jtest.resources

No
settingsPath

An absolute or relative path to the *properties file that includes custom configuration settings.

User property is: jtest.settings

No
settingsListListq

A list of settings parameters.

User property is: jtest.settingsList

No
showDetailstrue | false

Displays detailed progress information.

User property is: jtest.showdetails

No
showSettingstrue | false

Prints the current settings and customizations along with the information where each of them is configured (e.g. in the jtest.properties file).

User property is: jtest.showsettings

No
skiptrue |false

Allows you to skip the Jtest execution phase. If set to true, only the jtest.data.json data file is generated.

User property is: jtest.skip

No
tempDirPathThe path to the location where temporary resources (such as data files or cache) will be stored. This setting is not related to the report location.No


Parameter Details

config

The name of a test configuration. The following configuration types are supported:

  • built-in test configurations, for example "builtin://Recommended Rules"
  • dtp test configurations, for example "dtp://New Config"
  • user-defined test configurations, for example "user://Your Config"

User-defined test configurations should be stored in the [INSTALL_DIR]/configs/user directory as *.properties files.

dataUpdate

Allows you to manually update compilation data collected from the build.

  • Supported actions: prepend, append, and set.
  • Supported data types: classpath, bootpath, sourcepath, resourcepath, binarypath, sourcecode (set only) and encoding (set only)
  • Scope: all collected projects data will be updated

See Manual Customization of Compilation Data and Compilation Data Model for more information.

exclude

Specifies a subset of files or packages from the selected resources that will be excluded from analysis. You can provide the qualified names. You can use glob patterns to match more filenames.

Example 1: The following pattern excludes all files from com.parasoft package and its sub-packages: /com/parasoft/**

Example 2: The following pattern excludes all files from the package com.parasoft.jtest, but NOT from its sub-packages: /com/parasoft/jtest/*

Example 3: The following pattern excludes all files from the given directory and all subdirectories: path:/home/user/project/src/test/java/**

include

Specifies a subset of files or packages form the selected resources that will be included during analysis. You can use glob patterns to match more filenames.

Example 1: The following pattern includes all files from com.parasoft package and its sub-packages: /com/parasoft/**

Example 2: The following pattern includes all files from the package com.parasoft.jtest, but NOT from its sub-packages: /com/parasoft/jtest/*

Example 3: The following pattern includes all files from the given directory and all subdirectories: path:/home/user/project/src/test/java/**

resource

Specifies the input scope for analysis. If no resources are specified, Jtest will analyze resources from every built project.

Use the following pattern to specify the paths: ${ProjectName}/my/src/dir/my/package/file.java". You can use the following wildcards:

  • ? - matches one character
  • * - matches zero or more characters, except the path separator (the / character)
  • ** - matches entire paths, including the path separator (the/ character)

settings

An absolute or relative path to the *properties file that includes custom configuration settings.

Some of the setting names may not be consistent with the settings dedicated for the build system plugins. See Configuration Settings for details.

agent


Parameters

NameAccepted values/ data typeDescriptionRequired
taskJUnit | JavaThe task from which coverage will be collected If the skip parameter is set to true then the task will be executed without Jtest agent.No
propertyString

Allows you to set up additional parameters to -javaagent.

User property is: jtest.agentProperty

No
homePath

Jtest installation directory.

User property is: jtest.home

Yes
skiptrue | false

Allows you to skip the Jtest execution phase. If set to true, only the jtest.data.json data file is generated.

User property is: jtest.skip

No
runtimeDataLocationPath

The path to the file where coverage runtime data will be stored.

User property is: jtest.runtimeDataLocation

No
metadataLocationPath

The path to the file where coverage metadata data will be stored.

User property is: jtest.metadataLocation

No
coverage 

A set of parameters that allow you to configure collecting coverage.

  • jtest.coverage.skip - Disables collecting coverage.
  • jtest.coverage.includes - <Glob> patterns to include classes. Coverage information will be collected.
  • jtest.coverage.excludes - <Glob> patterns to exclude classes. Coverage information will not be collected.
  • jtest.coverage.testIncludes - <Glob> patterns to include test classes. Test cases will be assigned with coverage.
  • jtest.coverage.testExcludes - <Glob> patterns to exclude test classes. Test cases will not be assigned with coverage.
No

Parameter Details

coverage

The default is:

<jtest> 
  <coverage> 
    <skip>false</skip> 
    <includes> 
      <include>**</include> 
    </includes> 
    <excludes>< excludes> 
    <testIncludes> 
      <testInclude>**/*Test.class</testInclude> 
    </testIncludes> 
    <testExcludes><testExcludes> 
  </coverage> 
 </jtest> 


metadataLocation

The default is: ${basedir}/parasoft/jtest-instrument/metadata.data

property

See the Configuring the Coverage Agent for the list of available options. Properties provided as arguments to -javaagent override properties configured in the agent.properties file.


runtimeDataLocation

The default is:${basedir}/parasoft/jtest-instrument/runtimedata.data


monitor


This task scans the build to generate settings for the Jtest Java Agent, and creates a monitor package in location specified with the monitorLocation parameter.

The monitor package contains the following:

  • static_coverage.xml - the file that contains static coverage information
  • agent.jar - the Jtest Java coverage agent jar archive
  • agent.properties - the agent settings file that contains scope parameters generated during the build process and other attributes
  • agent.sh/agent.bat - the script that generates the Jtest Java agent VM arguments necessary to monitor the application
  • opentelemetry-javaagent.jar and jtest-otel-ext.jar - files used in multiuser coverage mode: the original OpenTelemetry Java agent and the Jtest extension for it. This extension collects data necessary to assign collected coverage to a particular user. The files are copied from the <INSTALL_DIR>/integration/coverage directory.

Command Line Execution

Ensure that tests and classes are compiled before executing the jtest:monitor goal from command line (the compile phase).

Attributes

NameAccepted values/ data typeDescriptionRequired
agentServerEnabledtrue | false

A switch that allows you to enable the Agent server.

Default value is: true

User property is: jtest.agentServerEnabled

No
autostartAgenttrue | false

A switch to automatically enable collecting coverage.

Default value is: true

User property is: jtest.autostartAgent

No
compilationConfigurationA description of manual configuration data (see Manual Customization of Compilation Data)No
coverage

A set of parameters that allow you to configure collecting coverage.

  • jtest.coverage.skip - Disables collecting coverage.
  • jtest.coverage.includes - <Glob> patterns to include classes. Coverage information will be collected.
  • jtest.coverage.excludes - <Glob> patterns to exclude classes. Coverage information will not be collected.
  • jtest.coverage.testIncludes - <Glob> patterns to include test classes. Test cases will be assigned with coverage.
  • jtest.coverage.testExcludes - <Glob> patterns to exclude test classes. Test cases will not be assigned with coverage.
No
excludeString

Specifies a subset of files or packages from the selected resources that will be excluded from analysis. You can provide the qualified names, or use Ant glob patterns to match more filenames.

User property is: jtest.exclude

No
excludes

A list of exclude parameters.

User property is: jtest.excludes

No
homePath

Specifies the Jtest installation directory. If not defined, the Jtest location specified on PATH will be used.

User property is: jtest.home

Recommended
ignoredIdsList

A list of ignored compilation IDs.

User property is: jtest.ignoredids

No
includeString

Specifies a subset of files or packages form the selected resources that will be included during analysis.

User property is: jtest.include

No
includes

A list of include parameters.

User property is: jtest.includes

No
monitorLocationPath

The path to the location where the monitor package will be created.

Default value is: ${project.build.directory}/jtest/monitor/monitor.zip

User property is: jtest.monitorLocation

No
publishtrue | false

Enables reporting results of local analysis to the DTP server.

User property is: jtest.publish

No
reportPath

Specifies the directory where the report will be created.

User property is: jtest.report

No
resourceString

Specifies the input scope for analysis. If no resources are specified, Jtest will analyze resources from every built project.

User property is: jtest.resource

No
resourcesList

A list of resource parameters.

User property is: jtest.resources

No
settingsPath

An absolute or relative path to the *properties file that includes custom configuration settings.

User property is: jtest.settings

No
settingsListList

A list of settings parameters.

User property is: jtest.settingsList

No
showDetailstrue | false

Displays detailed progress information.

User property is: jtest.showdetails


showSettingstrue | false

Prints the current settings and customizations along with the information where each of them is configured (e.g. in the jtest.properties file).

User property is: jtest.showsettings

No
skiptrue | false

Allows you to skip the Jtest execution phase. If set to true, only the jtest.data.json data file is generated.

User property is: jtest.skip

No

Parameter Details

exclude

Specifies a subset of files or packages from the selected resources that will be excluded from analysis. You can provide the qualified names. You can use glob patterns to match more filenames.

Example 1: The following pattern excludes all files from com.parasoft package and its sub-packages: /com/parasoft/**

Example 2: The following pattern excludes all files from the package com.parasoft.jtest, but NOT from its sub-packages: /com/parasoft/jtest/*

Example 3: The following pattern excludes all files from the given directory and all subdirectories: path:/home/user/project/src/test/java/**

include

Specifies a subset of files or packages form the selected resources that will be included during analysis. You can use glob patterns to match more filenames.

Example 1: The following pattern includes all files from com.parasoft package and its sub-packages: /com/parasoft/**

Example 2: The following pattern includes all files from the package com.parasoft.jtest, but NOT from its sub-packages: /com/parasoft/jtest/*

Example 3: The following pattern includes all files from the given directory and all subdirectories: path:/home/user/project/src/test/java/**

resource

Specifies the input scope for analysis. If no resources are specified, Jtest will analyze resources from every built project.

Use the following pattern to specify the paths: ${ProjectName}/my/src/dir/my/package/file.java". You can use the following wildcards:

  • ? - matches one character
  • * - matches zero or more characters, except the path separator (the / character)
  • ** - matches entire paths, including the path separator (the/ character)

settings

An absolute or relative path to the *properties file that includes custom configuration settings.

Some of the setting names may not be consistent with the settings dedicated for the build system plugins. See Configuration Settings for details.

 

  • No labels