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)
Name | Accepted values/ data type | Description | Required |
---|---|---|---|
compilation | Compilation | A description of manual configuration data (see Manual Customization of Compilation Data) | No |
compilations | List | A list of descriptions of manual configuration data (see Manual Customization of Compilation Data) | No |
config | String | ||
dataUpdate | String | Allows you to manually update compilation data collected from the build. User property is: | No |
exclude | String | 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: | No |
excludes | List | A list of exclude parameters. User property is: | No |
excludeTestSources | true | false | Excludes test source code from analysis. User property is: | No |
fail | true | false | Fails the build if any violation is reported. User property is: | No |
home | Path | Specifies the Jtest installation directory. If not defined, the Jtest location specified on PATH will be used. User property is: | Recommended |
ignoredIds | List | A list of ignored compilation IDs. User property is: | No |
include | String | Specifies a subset of files or packages form the selected resources that will be included during analysis. User property is: | No |
includes | List | A list of include parameters. User property is: | No |
publish | true | false | Enables reporting results of local analysis to the DTP server. User property is: | No |
report | Path | Specifies the directory where the report will be created. User property is: | No |
resource | String | Specifies the input scope for analysis. If no resources are specified, Jtest will analyze resources from every built project. User property is: | No |
resources | List | A list of resource parameters. User property is: | No |
settings | Path | An absolute or relative path to the *properties file that includes custom configuration settings. User property is: jtest.settings | No |
settingsList | Listq | A list of settings parameters. User property is: | No |
showDetails | true | false | Displays detailed progress information. User property is: | No |
showSettings | true | 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: | No |
skip | true |false | Allows you to skip the Jtest execution phase. If set to User property is: | No |
tempDir | Path | The 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.
agent
Parameters
Name | Accepted values/ data type | Description | Required |
---|---|---|---|
task | JUnit | Java | The 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 |
property | String | Allows you to set up additional parameters to -javaagent. User property is: | No |
home | Path | Jtest installation directory. User property is: | Yes |
skip | true | false | Allows you to skip the Jtest execution phase. If set to User property is: | No |
runtimeDataLocation | Path | The path to the file where coverage runtime data will be stored. User property is: | No |
metadataLocation | Path | The path to the file where coverage metadata data will be stored. User property is: | No |
coverage | A set of parameters that allow you to configure collecting 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.
Attributes
Name | Accepted values/ data type | Description | Required |
---|---|---|---|
agentServerEnabled | true | false | A switch that allows you to enable the Agent server. Default value is: true User property is: jtest.agentServerEnabled | No |
autostartAgent | true | false | A switch to automatically enable collecting coverage. Default value is: true User property is: jtest.autostartAgent | No |
compilation | Configuration | A description of manual configuration data (see Manual Customization of Compilation Data) | No |
coverage | A set of parameters that allow you to configure collecting coverage.
| No | |
exclude | String | 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: | No |
excludes | A list of exclude parameters. User property is: | No | |
home | Path | Specifies the Jtest installation directory. If not defined, the Jtest location specified on PATH will be used. User property is: | Recommended |
ignoredIds | List | A list of ignored compilation IDs. User property is: | No |
include | String | Specifies a subset of files or packages form the selected resources that will be included during analysis. User property is: | No |
includes | A list of include parameters. User property is: | No | |
monitorLocation | Path | 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 |
publish | true | false | Enables reporting results of local analysis to the DTP server. User property is: | No |
report | Path | Specifies the directory where the report will be created. User property is: | No |
resource | String | Specifies the input scope for analysis. If no resources are specified, Jtest will analyze resources from every built project. User property is: | No |
resources | List | A list of resource parameters. User property is: | No |
settings | Path | An absolute or relative path to the *properties file that includes custom configuration settings. User property is: | No |
settingsList | List | A list of settings parameters. User property is: | No |
showDetails | true | false | Displays detailed progress information. User property is: | |
showSettings | true | 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: | No |
skip | true | false | Allows you to skip the Jtest execution phase. If set to User property is: | 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.