If you run "mvn integration-test", Tycho will find all unit tests in all
projects with packaging=eclipse-test-plugin in your build and run them.
Tycho assumes your test projects depend on either org.junit or
org.junit4 and uses different test runner depending on the junit version
used.
Error message "Could not determine test framework used by test bundle
pac_core.tests_1.0.0.qualifier" means that this project does not depend
on org.junit/org.junit4 and tycho does not know how to run it.
If you specify both -DtestSuite and -DtestClass, Tycho will run
specified test (suite) class only. testSuite is test bundle symbolic
name and testClass is fully qualified test class name. The NPE you see
is fixed in the latest Tycho DEV build (not officially declared, sorry)
and means that Tycho could not find Maven project that corresponds to
-DtestSuite=pac_core.configuration bundle symbolic name.
-DtestSuffix is only used when tycho generates pom.xml files for a set
of PDE projects. This property is ignored during actual build.
Hope this helps.
--
Regards,
Igor
Hansen Candrawinata wrote:
Hi Igor,
Thanks for the reply. It really helped me to understand more how Tycho
works. I still, however, found some problems (see below).
Thanks!
Hansen
I decided to follow the Eclipse convention to have a separate test bundle
for test classes. I have three modules declared in my root pom.xml:
* core (the host plugin).
* core.tests (fragment bundling test classes for the host plugin).
* third-party-test (eclipse plugin containing third party jars such as
junit; core.tests is dependent upon this plugin).
However, I encountered the following exception when running "mvn
integration-test -DtestSuffix=.tests -e". What could the cause be?
Error stacktrace:
org.apache.maven.lifecycle.LifecycleExecutionException: Internal error in
the plugin manager executing goal
'org.codehaus.tycho:maven-osgi-test-plugin:0.3.0-DEV-1819:test': Mojo
execution failed.
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:528)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegmentForProject(DefaultLifecycleExecutor.java:288)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:214)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:172)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:218)
at
org.apache.maven.embedder.MavenEmbedder.execute(MavenEmbedder.java:899)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:176)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:63)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at
org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at
org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:408)
at
org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:351)
Caused by: org.apache.maven.plugin.PluginExecutionException: Mojo execution
failed.
at
org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:645)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:521)
... 15 more
Caused by: org.apache.maven.plugin.MojoExecutionException: Could not
determine test framework used by test bundle pac_core.tests_1.0.0.qualifier
at
org.codehaus.tycho.osgitest.TestMojo.getTestFramework(TestMojo.java:311)
at org.codehaus.tycho.osgitest.TestMojo.execute(TestMojo.java:218)
at
org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:623)
... 16 more
Furthermore, I got the an NPE when I ran "mvn integration-test
-DtestSuffix=.tests -DtestSuite=pac_core.configuration
-DtestClass=pac_core.configuration.AllTests -e". Sorry, I could not find
any explanations on what -DtestSuite and -DtestClass should be, perhaps I
specified the wrong values? Does testSuite refer to my junit test suite
class? Does testClass refer to my junit test case class?
constituent[37]:
file:/c:/Program%20Files/tycho-distribution-0.3.0-DEV-1819/lib/xercesMinimal-1.9.6.2.jar
---------------------------------------------------
java.lang.NullPointerException
at
org.codehaus.tycho.osgitools.OsgiStateController.getUserProperty(OsgiStateController.java:517)
at
org.codehaus.tycho.osgitools.OsgiStateController.getMavenProject(OsgiStateController.java:525)
at org.codehaus.tycho.osgitest.TestMojo.execute(TestMojo.java:197)
at
org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:623)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:521)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegmentForProject(DefaultLifecycleExecutor.java:288)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:214)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:172)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:218)
at
org.apache.maven.embedder.MavenEmbedder.execute(MavenEmbedder.java:899)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:176)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:63)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at
org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at
org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:408)
at
org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:351)
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email