tycho-surefire:bnd-test
Full name:
org.eclipse.tycho:tycho-surefire-plugin:4.0.3:bnd-test
Description:
Execute tests using BND testing
Attributes:
- Requires a Maven project to be executed.
- Requires dependency resolution of artifacts in scope:
test
. - The goal is thread-safe and supports parallel builds.
- Binds by default to the lifecycle phase:
integration-test
.
Required Parameters
Name | Type | Since | Description |
---|---|---|---|
<reportDirectory> |
File |
- |
(no description) Default value is: ${project.build.directory}/failsafe-reports . |
<summaryFile> |
File |
- |
(no description) Default value is: ${project.build.directory}/failsafe-reports/failsafe-summary.xml . |
<testEngines> |
String |
- |
Configures the test engines to use, for example:
Default value is: junit-jupiter-engine,junit-vintage-engine . |
Optional Parameters
Name | Type | Since | Description |
---|---|---|---|
<bundles> |
Set<String> |
- |
Configures additional bundles that should be included in the the test-setup, this could be required items to run the test or bundles that declare a Test-Cases header and contain the actual tests to run. |
<deleteWorkDirAfterTest> |
boolean |
- |
If enabled, deletes the workarea after test execution User property is: tycho.surefire.deleteWorkDir . |
<enableSecurity> |
boolean |
- |
(no description) |
<excludes> |
List<String> |
- |
List of patterns (separated by commas) used to specify the tests that should be excluded in testing. When not specified and when the test parameter is not specified, the default excludes will be **/*$* (which excludes all inner classes). |
<failIfNoTests> |
boolean |
- |
If set to "false" the test execution will not fail in case there are no tests found. Default value is: true .User property is: failIfNoTests . |
<includes> |
List<String> |
- |
List of patterns (separated by commas) used to specify the tests that should be included in testing. When not specified and when the test parameter is not specified, the default includes will be **/Test*.java **/*Test.java **/*Tests.java **/*TestCase.java |
<keyStores> |
List<File> |
- |
(no description) |
<launchActivationEager> |
boolean |
- |
Always start bundles with eager activation policy Default value is: false .User property is: tycho.bnd-test.eagerActivation . |
<packaging> |
String |
- |
(no description) Default value is: eclipse-plugin .User property is: tycho.bnd-test.packaging . |
<pluginArtifacts> |
List<Artifact> |
- |
(no description) User property is: plugin.artifacts . |
<policyFile> |
File |
- |
(no description) |
<printBundles> |
boolean |
- |
prints all loaded bundles Default value is: false .User property is: tycho.printBundles . |
<printTests> |
boolean |
- |
(no description) Default value is: true .User property is: tycho.bnd-test.printTests . |
<properties> |
Map<String,String> |
- |
(no description) |
<runfw> |
String |
- |
Configure the run framework to use usually one of
Default value is: org.eclipse.osgi . |
<skip> |
Boolean |
- |
Same as skipTests User property is: maven.test.skip . |
<skipTests> |
Boolean |
- |
Set this to "true" to skip running tests, but still compile them. Its use is NOT RECOMMENDED, but quite convenient on occasion. Default: false User property is: skipTests . |
<summaryAppend> |
boolean |
- |
(no description) |
<test> |
String |
- |
Specify this parameter if you want to use the test pattern matching notation, Ant pattern matching, to select tests to run. The Ant pattern will be used to create an include pattern formatted like **/${test}.java When used, the includes and excludes patterns parameters are ignoredUser property is: test . |
<testClass> |
String |
- |
Identifies a single test (suite) class to run. This is useful if you have a single JUnit test suite class defining which tests should be executed. Will be ignored if test is specified. Example:
<testClass>foo.bar.FooTest</testClass> User property is: testClass . |
<testClassesDirectory> |
File |
- |
The directory containing generated test classes of the project being tested. User property is: project.build.testOutputDirectory . |
<tester> |
String |
- |
Configure the tester to use usually one of
Default value is: biz.aQute.tester.junit-platform . |
<testerTrace> |
boolean |
- |
Enables tracing in the tester Default value is: false .User property is: tycho.bnd-test.testerTrace . |
<trace> |
boolean |
- |
If set to true, tracing is enabled for bnd Default value is: false .User property is: tycho.bnd-test.trace . |
<useJDK> |
ToolchainProvider$JDKUsage |
- |
Which JDK to use for executing tests. Possible values are: SYSTEM , BREE .
In META-INF/MANIFEST.MF :
Bundle-RequiredExecutionEnvironment: JavaSE-11 <toolchains> <toolchain> <type>jdk</type> <provides> <id>JavaSE-11</id> <version>11</version> </provides> <configuration> <jdkHome>/path/to/jdk/11</jdkHome> </configuration> </toolchain> </toolchains> Default value is: SYSTEM . |
<work> |
File |
- |
Root directory (osgi.install.area) of the Equinox runtime used to execute tests. Default value is: ${project.build.directory}/work . |
Parameter Details
<bundles>
Configures additional bundles that should be included in the the test-setup, this could be required items to run the test or bundles that declare a
Test-Cases
header and contain the actual tests to run.- Type:
java.util.Set<java.lang.String>
- Required:
No
<deleteWorkDirAfterTest>
If enabled, deletes the workarea after test execution
- Type:
boolean
- Required:
No
- User Property:
tycho.surefire.deleteWorkDir
<enableSecurity>
(no description)
- Type:
boolean
- Required:
No
<excludes>
List of patterns (separated by commas) used to specify the tests that should be excluded in testing. When not specified and when the
test
parameter is not specified, the default excludes will be **/*$*
(which excludes all inner classes).- Type:
java.util.List<java.lang.String>
- Required:
No
<failIfNoTests>
If set to "false" the test execution will not fail in case there are no tests found.
- Type:
boolean
- Required:
No
- User Property:
failIfNoTests
- Default:
true
<includes>
List of patterns (separated by commas) used to specify the tests that should be included in testing. When not specified and when the
test
parameter is not specified, the default includes will be **/Test*.java **/*Test.java **/*Tests.java **/*TestCase.java
- Type:
java.util.List<java.lang.String>
- Required:
No
<keyStores>
(no description)
- Type:
java.util.List<java.io.File>
- Required:
No
<launchActivationEager>
Always start bundles with eager activation policy
- Type:
boolean
- Required:
No
- User Property:
tycho.bnd-test.eagerActivation
- Default:
false
<packaging>
(no description)
- Type:
java.lang.String
- Required:
No
- User Property:
tycho.bnd-test.packaging
- Default:
eclipse-plugin
<pluginArtifacts>
(no description)
- Type:
java.util.List<org.apache.maven.artifact.Artifact>
- Required:
No
- User Property:
plugin.artifacts
<policyFile>
(no description)
- Type:
java.io.File
- Required:
No
<printBundles>
prints all loaded bundles
- Type:
boolean
- Required:
No
- User Property:
tycho.printBundles
- Default:
false
<printTests>
(no description)
- Type:
boolean
- Required:
No
- User Property:
tycho.bnd-test.printTests
- Default:
true
<properties>
(no description)
- Type:
java.util.Map<java.lang.String, java.lang.String>
- Required:
No
<reportDirectory>
(no description)
- Type:
java.io.File
- Required:
Yes
- Default:
${project.build.directory}/failsafe-reports
<runfw>
Configure the run framework to use usually one of
- "org.apache.felix.framework"
- "org.eclipse.osgi"
- Type:
java.lang.String
- Required:
No
- Default:
org.eclipse.osgi
<skip>
Same as
skipTests
- Type:
java.lang.Boolean
- Required:
No
- User Property:
maven.test.skip
<skipTests>
Set this to "true" to skip running tests, but still compile them. Its use is NOT RECOMMENDED, but quite convenient on occasion. Default:
false
- Type:
java.lang.Boolean
- Required:
No
- User Property:
skipTests
<summaryAppend>
(no description)
- Type:
boolean
- Required:
No
<summaryFile>
(no description)
- Type:
java.io.File
- Required:
Yes
- Default:
${project.build.directory}/failsafe-reports/failsafe-summary.xml
<test>
Specify this parameter if you want to use the test pattern matching notation, Ant pattern matching, to select tests to run. The Ant pattern will be used to create an include pattern formatted like
**/${test}.java
When used, the includes
and excludes
patterns parameters are ignored- Type:
java.lang.String
- Required:
No
- User Property:
test
<testClass>
Identifies a single test (suite) class to run. This is useful if you have a single JUnit test suite class defining which tests should be executed. Will be ignored if
test
is specified. Example:
<testClass>foo.bar.FooTest</testClass>
- Type:
java.lang.String
- Required:
No
- User Property:
testClass
<testClassesDirectory>
The directory containing generated test classes of the project being tested.
- Type:
java.io.File
- Required:
No
- User Property:
project.build.testOutputDirectory
<testEngines>
Configures the test engines to use, for example:
- "junit-jupiter-engine" - if your test only contains JUnit5 tests
- "junit-vintage-engine" - if your test only contains JUnit 3/4
- ENGINE_JUPITER + "," + ENGINE_VINTAGE_ENGINE - if you want to use both engines
- Type:
java.lang.String
- Required:
Yes
- Default:
junit-jupiter-engine,junit-vintage-engine
<tester>
Configure the tester to use usually one of
- "biz.aQute.tester"
- "biz.aQute.tester.junit-platform"
- Type:
java.lang.String
- Required:
No
- Default:
biz.aQute.tester.junit-platform
<testerTrace>
Enables tracing in the tester
- Type:
boolean
- Required:
No
- User Property:
tycho.bnd-test.testerTrace
- Default:
false
<trace>
If set to true, tracing is enabled for bnd
- Type:
boolean
- Required:
No
- User Property:
tycho.bnd-test.trace
- Default:
false
<useJDK>
Which JDK to use for executing tests. Possible values are:
In
In toolchains.xml:
SYSTEM
, BREE
.
- SYSTEM: Use the currently running JVM (or from toolchain if configured in pom.xml)
- BREE: use MANIFEST header
Bundle-RequiredExecutionEnvironment
to lookup the JDK from toolchains.xml. The value of BREE will be matched against the id of the JDK toolchain elements intoolchains.xml
. If the BREEs version is 9 or later and the ID did not match any element, the version of the BREE will be matched against the version of the JDK toolchain elements.
In
META-INF/MANIFEST.MF
:
Bundle-RequiredExecutionEnvironment: JavaSE-11
<toolchains> <toolchain> <type>jdk</type> <provides> <id>JavaSE-11</id> <version>11</version> </provides> <configuration> <jdkHome>/path/to/jdk/11</jdkHome> </configuration> </toolchain> </toolchains>
- Type:
org.eclipse.tycho.core.maven.ToolchainProvider$JDKUsage
- Required:
No
- Default:
SYSTEM
<work>
Root directory (osgi.install.area) of the Equinox runtime used to execute tests.
- Type:
java.io.File
- Required:
No
- Default:
${project.build.directory}/work