Package org.eclipse.tycho.surefire
Class TestMojo
- java.lang.Object
-
- org.apache.maven.plugin.AbstractMojo
-
- org.eclipse.tycho.surefire.TestMojo
-
- All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled
,org.apache.maven.plugin.Mojo
@Mojo(name="test", defaultPhase=INTEGRATION_TEST, requiresDependencyResolution=RUNTIME, threadSafe=true) public class TestMojo extends org.apache.maven.plugin.AbstractMojo
Executes tests in an OSGi runtime.
The goal launches an OSGi runtime and executes the project's tests in that runtime. The "test runtime" consists of the bundle built in this project and its transitive dependencies, plus some Equinox and test harness bundles. The bundles are resolved from the target platform of the project. Note that the test runtime does typically not contain the entire target platform. If there are implicitly required bundles (e.g. org.eclipse.equinox.ds to make declarative services work), they need to be added manually through an extraRequirements configuration on the target-platform-configuration plugin.
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.String
appArgLine
Arbitrary applications arguments to set on the command line.private java.lang.String
application
Eclipse application to be run.private java.lang.String
argLine
Arbitrary JVM options to set on the command line.private BundleStartLevel[]
bundleStartLevel
Bundle start level and auto start configuration used by the test runtime.private int
debugPort
Set this parameter to suspend the test JVM waiting for a client to open a remote debug session on the specified port.private BundleStartLevel
defaultStartLevel
The default bundle start level and auto start configuration used by the test runtime for bundles where the start level/auto start is not configured inbundleStartLevel
.private boolean
deleteOsgiDataDirectory
Whether to recursively delete the directoryosgiDataDirectory
before running the tests.private org.apache.maven.model.Dependency[]
dependencies
Additional dependencies to be added to the test runtime.private DefaultDependencyResolverFactory
dependencyResolverLocator
private boolean
enableAssertions
By default, Tycho Surefire disables JVM assertions for the execution of your test cases.private java.util.Map<java.lang.String,java.lang.String>
environmentVariables
Additional environments to set for the forked test JVM.private java.lang.String
excludedGroups
(junit47 provider with JUnit4.8+ only) Excluded groups/categories (comma-separated).private java.util.List<java.lang.String>
excludes
List of patterns (separated by commas) used to specify the tests that should be excluded in testing.private java.lang.String[]
explodedBundles
List of bundles that must be expanded in order to execute the tests.private boolean
failIfNoTests
If set to "false" the test execution will not fail in case there are no tests found.private int
forkedProcessTimeoutInSeconds
Kill the forked test process after a certain number of seconds.private org.apache.maven.model.Dependency[]
frameworkExtensions
List of framework extension bundles to add.private java.lang.String
groups
(junit47 provider with JUnit4.8+ only) Groups/categories for this test (comma-separated).private java.util.List<java.lang.String>
includes
List of patterns (separated by commas) used to specify the tests that should be included in testing.private EquinoxInstallationFactory
installationFactory
private EquinoxLauncher
launcher
private static java.lang.Object
LOCK
private OsgiBundleProject
osgiBundle
private java.io.File
osgiDataDirectory
OSGi data directory (osgi.instance.area
, aka the workspace) of the Equinox runtime used to execute tests.private ParallelMode
parallel
(JUnit 4.7 provider) Supports values "classes"/"methods"/"both" to run in separate threads, as controlled by threadCount.private boolean
perCoreThreadCount
(JUnit 4.7 provider) Indicates that threadCount is per cpu core.private java.util.List<org.apache.maven.artifact.Artifact>
pluginArtifacts
private java.lang.String
product
Eclipse product to be run, i.e.private java.lang.String
profileName
p2 profile name of the installation under test.private org.apache.maven.project.MavenProject
project
private java.util.Map<java.lang.String,TychoProject>
projectTypes
private ProviderHelper
providerHelper
private java.lang.String
providerHint
Normally tycho will automatically determine the test framework provider based on the test project's classpath.private java.util.Properties
providerProperties
Use this to specify surefire provider-specific properties.private ProvisionedInstallationBuilderFactory
provisionedInstallationBuilderFactory
private boolean
redirectTestOutputToFile
Set this to "true" to redirect the unit test standard output to a file (found in reportsDirectory/testName-output.txt).private java.io.File
reportsDirectory
Base directory where all reports are written to.private RepositoryReferenceTool
repositoryReferenceTool
private org.apache.maven.repository.RepositorySystem
repositorySystem
private java.lang.Integer
rerunFailingTestsCount
Flaky tests will re-run until they pass or the number of reruns has been exhausted.private org.apache.maven.artifact.resolver.ResolutionErrorHandler
resolutionErrorHandler
private java.lang.String
runOrder
Defines the order the tests will be run in.private org.apache.maven.execution.MavenSession
session
private boolean
showEclipseLog
Enables -debug -consolelog for the test OSGi runtimeprivate java.lang.Boolean
skip
Same asskipTests
private java.lang.Integer
skipAfterFailureCount
Skips the remaining tests after the Nth failure or error.private boolean
skipExec
Deprecated.Use skipTests instead.private java.lang.Boolean
skipTests
Set this to "true" to skip running tests, but still compile them.private java.util.List<java.lang.String>
suiteXmlFiles
Only supported by the TestNG test provider.private java.io.File
surefireProperties
private java.util.Map<java.lang.String,java.lang.String>
systemProperties
Additional system properties to set for the forked test JVM.private java.lang.String
test
Specify this parameter if you want to use the test pattern matching notation, Ant pattern matching, to select tests to run.private java.lang.String
testClass
Identifies a single test (suite) class to run.private java.io.File
testClassesDirectory
The directory containing generated test classes of the project being tested.private boolean
testFailureIgnore
Set this to true to ignore a failure during testing.private java.lang.String
testRuntime
How to create the OSGi test runtime.private int
threadCount
(JUnit 4.7 provider) The attribute thread-count allows you to specify how many threads should be allocated for this execution.private org.apache.maven.toolchain.ToolchainManager
toolchainManager
private ToolchainProvider
toolchainProvider
private boolean
trimStackTrace
Whentrue
, stack traces are trimmed to only show lines within the test.private static java.lang.String[]
UNIX_SIGNAL_NAMES
private ToolchainProvider.JDKUsage
useJDK
Which JDK to use for executing tests.private boolean
useUIHarness
Run tests using UI (true) or headless (false) test harness.private boolean
useUIThread
Run tests in UI (true) or background (false) thread.private boolean
useUnlimitedThreads
(JUnit 4.7 provider) Indicates that the thread pool will be unlimited.private java.io.File
work
Root directory (osgi.install.area) of the Equinox runtime used to execute tests.private DevWorkspaceResolver
workspaceState
-
Constructor Summary
Constructors Constructor Description TestMojo()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
addCustomProfileArg(EquinoxLaunchConfiguration cli)
(package private) void
addProgramArgs(EquinoxLaunchConfiguration cli, java.lang.String... arguments)
private static void
appendCommaSeparated(java.lang.StringBuilder sb, java.lang.String string)
(package private) LaunchConfiguration
createCommandLine(EquinoxInstallation testRuntime)
private EquinoxInstallation
createEclipseInstallation()
private EquinoxInstallation
createProvisionedInstallation()
private void
createSurefireProperties(TestFrameworkProvider provider)
private java.lang.String
decodeReturnCode(int result)
void
execute()
private java.lang.String
getBuildOutputDirectories()
private ArtifactKey
getBundleArtifactKey(java.io.File file)
private java.util.List<java.lang.String>
getBundlesToExplode()
private java.util.List<org.apache.maven.model.Dependency>
getExtraDependencies()
private java.util.List<java.io.File>
getFrameworkExtensions()
private java.util.List<java.lang.String>
getIUsToInstall(java.util.Set<org.apache.maven.artifact.Artifact> testHarnessArtifacts)
protected java.util.Properties
getMergedProviderProperties()
private java.util.Map<java.lang.String,java.lang.String>
getMergedSystemProperties()
private BundleProject
getProjectType()
private ReactorProject
getReactorProject()
private java.util.List<ReactorProject>
getReactorProjects()
private java.lang.String
getTestApplication(EquinoxInstallationDescription testRuntime)
private java.lang.String
getTestBundleSymbolicName()
private java.util.List<org.apache.maven.model.Dependency>
getTestDependencies()
protected org.apache.maven.toolchain.Toolchain
getToolchain()
protected org.apache.maven.model.Dependency
newBundleDependency(java.lang.String bundleId)
private java.util.Map<java.lang.String,java.lang.String>
propertiesAsMap(java.util.Properties p)
private void
runTest(EquinoxInstallation testRuntime)
protected org.apache.maven.surefire.util.ScanResult
scanForTests()
protected boolean
shouldSkip()
(package private) java.lang.String[]
splitArgLine(java.lang.String argLine)
private void
storeProperties(java.util.Map<java.lang.String,java.lang.String> propertiesMap, java.io.File file)
-
-
-
Field Detail
-
UNIX_SIGNAL_NAMES
private static java.lang.String[] UNIX_SIGNAL_NAMES
-
LOCK
private static final java.lang.Object LOCK
-
work
@Parameter(defaultValue="${project.build.directory}/work") private java.io.File work
Root directory (osgi.install.area) of the Equinox runtime used to execute tests.
-
osgiDataDirectory
@Parameter(defaultValue="${project.build.directory}/work/data/") private java.io.File osgiDataDirectory
OSGi data directory (osgi.instance.area
, aka the workspace) of the Equinox runtime used to execute tests.
-
deleteOsgiDataDirectory
@Parameter(defaultValue="true") private boolean deleteOsgiDataDirectory
Whether to recursively delete the directoryosgiDataDirectory
before running the tests.
-
project
@Parameter(property="project", readonly=true) private org.apache.maven.project.MavenProject project
-
debugPort
@Parameter(property="debugPort") private int debugPort
Set this parameter to suspend the test JVM waiting for a client to open a remote debug session on the specified port.
-
includes
@Parameter private java.util.List<java.lang.String> includes
List of patterns (separated by commas) used to specify the tests that should be included in testing. When not specified and when thetest
parameter is not specified, the default includes will be**/Test*.java **/*Test.java **/*TestCase.java
-
excludes
@Parameter private java.util.List<java.lang.String> excludes
List of patterns (separated by commas) used to specify the tests that should be excluded in testing. When not specified and when thetest
parameter is not specified, the default excludes will be**/*$*
(which excludes all inner classes).
-
test
@Parameter(property="test") private java.lang.String 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, theincludes
andexcludes
patterns parameters are ignored
-
skipExec
@Deprecated @Parameter(property="maven.test.skipExec") private boolean skipExec
Deprecated.Use skipTests instead.
-
skipTests
@Parameter(property="skipTests") private java.lang.Boolean 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
-
skip
@Parameter(property="maven.test.skip") private java.lang.Boolean skip
Same asskipTests
-
failIfNoTests
@Parameter(property="failIfNoTests", defaultValue="true") private boolean failIfNoTests
If set to "false" the test execution will not fail in case there are no tests found.
-
groups
@Parameter(property="groups") private java.lang.String groups
(junit47 provider with JUnit4.8+ only) Groups/categories for this test (comma-separated). Only classes/methods/etc decorated with one of the group/category specified here will be included in test run, if specified. For JUnit, this parameter forces the use of the junit47 provider
-
excludedGroups
@Parameter(property="excludedGroups") private java.lang.String excludedGroups
(junit47 provider with JUnit4.8+ only) Excluded groups/categories (comma-separated). Any methods/classes/etc with one of the groups/categories specified in this list will specifically not be run. For JUnit, this parameter forces the use of the junit47 provider
-
testFailureIgnore
@Parameter(property="maven.test.failure.ignore", defaultValue="false") private boolean testFailureIgnore
Set this to true to ignore a failure during testing. Its use is NOT RECOMMENDED, but quite convenient on occasion.
-
testClassesDirectory
@Parameter(property="project.build.outputDirectory") private java.io.File testClassesDirectory
The directory containing generated test classes of the project being tested.
-
showEclipseLog
@Parameter(property="tycho.showEclipseLog", defaultValue="false") private boolean showEclipseLog
Enables -debug -consolelog for the test OSGi runtime
-
redirectTestOutputToFile
@Parameter(property="maven.test.redirectTestOutputToFile", defaultValue="false") private boolean redirectTestOutputToFile
Set this to "true" to redirect the unit test standard output to a file (found in reportsDirectory/testName-output.txt).
-
reportsDirectory
@Parameter(defaultValue="${project.build.directory}/surefire-reports") private java.io.File reportsDirectory
Base directory where all reports are written to.
-
surefireProperties
@Parameter(defaultValue="${project.build.directory}/surefire.properties") private java.io.File surefireProperties
-
dependencies
@Parameter private org.apache.maven.model.Dependency[] dependencies
Additional dependencies to be added to the test runtime. Ignored iftestRuntime
isp2Installed
. Note: This parameter has only limited support for dependencies to artifacts within the reactor. Therefore it is recommended to specify extraRequirements on the target-platform-configuration plugin instead. Example:<plugin> <groupId>org.eclipse.tycho</groupId> <artifactId>target-platform-configuration</artifactId> <version>${tycho-version}</version> <configuration> <dependency-resolution> <extraRequirements> <requirement> <type>eclipse-feature</type> <id>example.project.feature</id> <versionRange>0.0.0</versionRange> </requirement> </extraRequirements> </dependency-resolution> </configuration> </plugin>
The dependencies specified as extraRequirements are – together with the dependencies specified in the MANIFEST.MF of the project – transitively resolved against the target platform. The resulting set of bundles is included in the test runtime.
-
application
@Parameter private java.lang.String application
Eclipse application to be run. If not specified, default application org.eclipse.ui.ide.workbench will be used. Application runnable will be invoked from test harness, not directly from Eclipse. Note that you need to ensure that the bundle which defines the configured application is included in the test runtime.
-
product
@Parameter private java.lang.String product
Eclipse product to be run, i.e. -product parameter passed to test Eclipse runtime.
-
session
@Parameter(property="session", readonly=true, required=true) private org.apache.maven.execution.MavenSession session
-
useUIHarness
@Parameter(defaultValue="false") private boolean useUIHarness
Run tests using UI (true) or headless (false) test harness.
-
useUIThread
@Parameter(defaultValue="true") private boolean useUIThread
Run tests in UI (true) or background (false) thread. Only applies to UI test harness.
-
enableAssertions
@Parameter(property="enableAssertions", defaultValue="false") private boolean enableAssertions
By default, Tycho Surefire disables JVM assertions for the execution of your test cases. To enable the assertions, set this flag to "true".- Since:
- 1.5.0
-
pluginArtifacts
@Parameter(property="plugin.artifacts") private java.util.List<org.apache.maven.artifact.Artifact> pluginArtifacts
-
argLine
@Parameter(property="tycho.testArgLine") private java.lang.String argLine
Arbitrary JVM options to set on the command line.
-
appArgLine
@Parameter private java.lang.String appArgLine
Arbitrary applications arguments to set on the command line.
-
forkedProcessTimeoutInSeconds
@Parameter(property="surefire.timeout") private int forkedProcessTimeoutInSeconds
Kill the forked test process after a certain number of seconds. If set to 0, wait forever for the process, never timing out.
-
testClass
@Parameter(property="testClass") private java.lang.String 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 iftest
is specified. Example:<testClass>foo.bar.FooTest</testClass>
-
environmentVariables
@Parameter private java.util.Map<java.lang.String,java.lang.String> environmentVariables
Additional environments to set for the forked test JVM.
-
systemProperties
@Parameter private java.util.Map<java.lang.String,java.lang.String> systemProperties
Additional system properties to set for the forked test JVM.
-
explodedBundles
@Parameter private java.lang.String[] explodedBundles
List of bundles that must be expanded in order to execute the tests. Ignored iftestRuntime
isp2Installed
.
-
frameworkExtensions
@Parameter private org.apache.maven.model.Dependency[] frameworkExtensions
List of framework extension bundles to add. Note: The goal does not automatically detect which bundles in the test runtime are framework extensions, but they have to be explicitly specified using this parameter. Ignored iftestRuntime
isp2Installed
.
-
bundleStartLevel
@Parameter private BundleStartLevel[] bundleStartLevel
Bundle start level and auto start configuration used by the test runtime. Ignored iftestRuntime
isp2Installed
. Example:<bundleStartLevel> <bundle> <id>foo.bar.myplugin</id> <level>6</level> <autoStart>true</autoStart> </bundle> </bundleStartLevel>
-
defaultStartLevel
@Parameter private BundleStartLevel defaultStartLevel
The default bundle start level and auto start configuration used by the test runtime for bundles where the start level/auto start is not configured inbundleStartLevel
. Ignored iftestRuntime
isp2Installed
. Example:<defaultStartLevel> <level>6</level> <autoStart>true</autoStart> </defaultStartLevel>
-
rerunFailingTestsCount
@Parameter(property="surefire.rerunFailingTestsCount", defaultValue="0") private java.lang.Integer rerunFailingTestsCount
Flaky tests will re-run until they pass or the number of reruns has been exhausted. See surefire documentation for details.Note: This feature is supported only for JUnit 4.x
-
skipAfterFailureCount
@Parameter(property="surefire.skipAfterFailureCount", defaultValue="0") private java.lang.Integer skipAfterFailureCount
Skips the remaining tests after the Nth failure or error. See surefire documentation for details.
-
repositorySystem
@Component private org.apache.maven.repository.RepositorySystem repositorySystem
-
resolutionErrorHandler
@Component private org.apache.maven.artifact.resolver.ResolutionErrorHandler resolutionErrorHandler
-
dependencyResolverLocator
@Component private DefaultDependencyResolverFactory dependencyResolverLocator
-
projectTypes
@Component(role=TychoProject.class) private java.util.Map<java.lang.String,TychoProject> projectTypes
-
installationFactory
@Component private EquinoxInstallationFactory installationFactory
-
provisionedInstallationBuilderFactory
@Component private ProvisionedInstallationBuilderFactory provisionedInstallationBuilderFactory
-
launcher
@Component private EquinoxLauncher launcher
-
osgiBundle
@Component(role=TychoProject.class, hint="eclipse-plugin") private OsgiBundleProject osgiBundle
-
providerHint
@Parameter private java.lang.String providerHint
Normally tycho will automatically determine the test framework provider based on the test project's classpath. Use this to force using a test framework provider implementation with the given role hint. Tycho comes with providers "junit3","junit4","junit47","junit5". Note that when specifying a providerHint, you have to make sure the provider is actually available in the dependencies of tycho-surefire-plugin.- Since:
- 0.16.0
-
runOrder
@Parameter(defaultValue="filesystem") private java.lang.String runOrder
Defines the order the tests will be run in. Supported values are "alphabetical", "reversealphabetical", "random", "hourly" (alphabetical on even hours, reverse alphabetical on odd hours) and "filesystem".- Since:
- 0.19.0
-
trimStackTrace
@Parameter(property="trimStackTrace", defaultValue="true") private boolean trimStackTrace
Whentrue
, stack traces are trimmed to only show lines within the test.- Since:
- 1.3.0
-
parallel
@Parameter(property="parallel") private ParallelMode parallel
(JUnit 4.7 provider) Supports values "classes"/"methods"/"both" to run in separate threads, as controlled by threadCount.- Since:
- 0.16.0
-
perCoreThreadCount
@Parameter(property="perCoreThreadCount", defaultValue="true") private boolean perCoreThreadCount
(JUnit 4.7 provider) Indicates that threadCount is per cpu core.- Since:
- 0.16.0
-
threadCount
@Parameter(property="threadCount") private int threadCount
(JUnit 4.7 provider) The attribute thread-count allows you to specify how many threads should be allocated for this execution. Only makes sense to use in conjunction with the parallel parameter.- Since:
- 0.16.0
-
useUnlimitedThreads
@Parameter(property="useUnlimitedThreads", defaultValue="false") private boolean useUnlimitedThreads
(JUnit 4.7 provider) Indicates that the thread pool will be unlimited. The parallel parameter and the actual number of classes/methods will decide. Setting this to "true" effectively disables perCoreThreadCount and threadCount.- Since:
- 0.16.0
-
providerProperties
@Parameter private java.util.Properties providerProperties
Use this to specify surefire provider-specific properties.- Since:
- 0.16.0
-
testRuntime
@Parameter(defaultValue="default") private java.lang.String testRuntime
How to create the OSGi test runtime. Allowed values aredefault
andp2Installed
. Modep2Installed
is EXPERIMENTAL - only works when installing products under test (see below).- In
default
mode, all necessary files to define the test runtime like config.ini are generated by tycho. This installation mode has the advantage that the test runtime is minimal (defined by the transitive dependencies of the test bundle plus and the test harness) and existing bundle jars are referenced rather than copied for the installation - In
p2Installed
mode, use p2 director to install test bundle, test harness bundles and respective dependencies. This installation mode can be used for integration tests that require a fully p2-provisioned installation. To install a product IU, add it as extra requirement to the test bundle (see example below). Note that this installation mode comes with a certain performance overhead for executing the provisioning operations otherwise not required.
<plugin> <groupId>org.eclipse.tycho</groupId> <artifactId>tycho-surefire-plugin</artifactId> <version>${tycho-version}</version> <configuration> <testRuntime>p2Installed</testRuntime> </configuration> </plugin> <plugin> <groupId>org.eclipse.tycho</groupId> <artifactId>target-platform-configuration</artifactId> <version>${tycho-version}</version> <configuration> <dependency-resolution> <extraRequirements> <!-- product IU under test --> <requirement> <type>p2-installable-unit</type> <id>example.product.id</id> <versionRange>0.0.0</versionRange> </requirement> </extraRequirements> </dependency-resolution> </configuration> </plugin>
- Since:
- 0.19.0
- In
-
profileName
@Parameter(defaultValue="DefaultProfile") private java.lang.String profileName
p2 profile name of the installation under test. Only relevant iftestRuntime
isp2Installed
. If tests are installed on top of an already existing installation inwork
, this must match the name of the existing profile.- Since:
- 0.19.0
-
toolchainManager
@Component private org.apache.maven.toolchain.ToolchainManager toolchainManager
-
providerHelper
@Component private ProviderHelper providerHelper
-
workspaceState
@Component private DevWorkspaceResolver workspaceState
-
repositoryReferenceTool
@Component private RepositoryReferenceTool repositoryReferenceTool
-
toolchainProvider
@Component private ToolchainProvider toolchainProvider
-
useJDK
@Parameter(defaultValue="SYSTEM") private ToolchainProvider.JDKUsage useJDK
Which JDK to use for executing tests. Possible values are: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 toolchain elements in toolchains.xml.
InMETA-INF/MANIFEST.MF
:Bundle-RequiredExecutionEnvironment: JavaSE-1.7
In toolchains.xml:<toolchains> <toolchain> <type>jdk</type> <provides> <id>JavaSE-1.7</id> </provides> <configuration> <jdkHome>/path/to/jdk/1.7</jdkHome> </configuration> </toolchain> </toolchains>
-
suiteXmlFiles
@Parameter private java.util.List<java.lang.String> suiteXmlFiles
Only supported by the TestNG test provider. The values specified are passed to TestNG as test suite files. The suite files will overwrite theincludes
andexcludes
patterns. The path to the suite file(s) could be relative (test bundle classpath) or an absolute path to xml files outside the test bundle.<configuration> <suiteXmlFiles> <suiteXmlFile>myTestSuite.xml</suiteXmlFile> </suiteXmlFiles> </configuration>
-
-
Method Detail
-
execute
public void execute() throws org.apache.maven.plugin.MojoExecutionException, org.apache.maven.plugin.MojoFailureException
- Throws:
org.apache.maven.plugin.MojoExecutionException
org.apache.maven.plugin.MojoFailureException
-
shouldSkip
protected boolean shouldSkip()
-
getReactorProject
private ReactorProject getReactorProject()
-
getReactorProjects
private java.util.List<ReactorProject> getReactorProjects()
-
createProvisionedInstallation
private EquinoxInstallation createProvisionedInstallation() throws org.apache.maven.plugin.MojoExecutionException
- Throws:
org.apache.maven.plugin.MojoExecutionException
-
getIUsToInstall
private java.util.List<java.lang.String> getIUsToInstall(java.util.Set<org.apache.maven.artifact.Artifact> testHarnessArtifacts)
-
getProjectType
private BundleProject getProjectType()
-
createEclipseInstallation
private EquinoxInstallation createEclipseInstallation() throws org.apache.maven.plugin.MojoExecutionException
- Throws:
org.apache.maven.plugin.MojoExecutionException
-
getExtraDependencies
private java.util.List<org.apache.maven.model.Dependency> getExtraDependencies()
-
getTestBundleSymbolicName
private java.lang.String getTestBundleSymbolicName()
-
getBundleArtifactKey
private ArtifactKey getBundleArtifactKey(java.io.File file) throws org.apache.maven.plugin.MojoExecutionException
- Throws:
org.apache.maven.plugin.MojoExecutionException
-
getTestDependencies
private java.util.List<org.apache.maven.model.Dependency> getTestDependencies()
-
newBundleDependency
protected org.apache.maven.model.Dependency newBundleDependency(java.lang.String bundleId)
-
createSurefireProperties
private void createSurefireProperties(TestFrameworkProvider provider) throws org.apache.maven.plugin.MojoExecutionException
- Throws:
org.apache.maven.plugin.MojoExecutionException
-
getMergedProviderProperties
protected java.util.Properties getMergedProviderProperties() throws org.apache.maven.plugin.MojoExecutionException
- Throws:
org.apache.maven.plugin.MojoExecutionException
-
scanForTests
protected org.apache.maven.surefire.util.ScanResult scanForTests()
-
storeProperties
private void storeProperties(java.util.Map<java.lang.String,java.lang.String> propertiesMap, java.io.File file) throws org.apache.maven.plugin.MojoExecutionException
- Throws:
org.apache.maven.plugin.MojoExecutionException
-
runTest
private void runTest(EquinoxInstallation testRuntime) throws org.apache.maven.plugin.MojoExecutionException, org.apache.maven.plugin.MojoFailureException
- Throws:
org.apache.maven.plugin.MojoExecutionException
org.apache.maven.plugin.MojoFailureException
-
decodeReturnCode
private java.lang.String decodeReturnCode(int result)
-
getToolchain
protected org.apache.maven.toolchain.Toolchain getToolchain() throws org.apache.maven.plugin.MojoExecutionException
- Throws:
org.apache.maven.plugin.MojoExecutionException
-
createCommandLine
LaunchConfiguration createCommandLine(EquinoxInstallation testRuntime) throws java.net.MalformedURLException, org.apache.maven.plugin.MojoExecutionException
- Throws:
java.net.MalformedURLException
org.apache.maven.plugin.MojoExecutionException
-
getMergedSystemProperties
private java.util.Map<java.lang.String,java.lang.String> getMergedSystemProperties()
-
addCustomProfileArg
private void addCustomProfileArg(EquinoxLaunchConfiguration cli) throws org.apache.maven.plugin.MojoExecutionException
- Throws:
org.apache.maven.plugin.MojoExecutionException
-
propertiesAsMap
private java.util.Map<java.lang.String,java.lang.String> propertiesAsMap(java.util.Properties p)
-
addProgramArgs
void addProgramArgs(EquinoxLaunchConfiguration cli, java.lang.String... arguments)
-
splitArgLine
java.lang.String[] splitArgLine(java.lang.String argLine) throws org.apache.maven.plugin.MojoExecutionException
- Throws:
org.apache.maven.plugin.MojoExecutionException
-
getTestApplication
private java.lang.String getTestApplication(EquinoxInstallationDescription testRuntime)
-
getBuildOutputDirectories
private java.lang.String getBuildOutputDirectories()
-
appendCommaSeparated
private static void appendCommaSeparated(java.lang.StringBuilder sb, java.lang.String string)
-
getBundlesToExplode
private java.util.List<java.lang.String> getBundlesToExplode()
-
getFrameworkExtensions
private java.util.List<java.io.File> getFrameworkExtensions() throws org.apache.maven.plugin.MojoExecutionException
- Throws:
org.apache.maven.plugin.MojoExecutionException
-
-