Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Automated PDE JUnit Testing With Eclipse 3.3M5

History

After 3.3M4, Modeling builds no longer ran their JUnit tests, due to changes in the way Eclipse packages its startup jars. The fix is trivial, but requires a change to org.eclipse.test/library.xml in addition to your local releng code.

[echo] Running org.eclipse.someproject.tests.AllTests
[java] Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/core/launcher/Main
- or -
[echo] Running org.eclipse.emf.test.build.AllSuites
[java] Unable to access jarfile {dd}/2.3.0/N200701240200/testing/N200701240200/testing/target/eclipse/startup.jar

Migration Guide

  • These changes should apply to anyone using PDE for builds & included JUnit tests.


Filename Explanation Before After
runtests switch from startup.jar to org.eclipse.equinox.launcher_*.jar cp="eclipse/startup.jar" cp=`find eclipse/ -name "org.eclipse.equinox.launcher_*.jar" | sort | head -1`
runtests switch Main classes org.eclipse.core.launcher.Main org.eclipse.equinox.launcher.Main



Filename Explanation Before After
relengbuildgtk.sh don't pass -cp into runtests script to override value set there runtests -os linux -ws gtk -arch x86 -cp eclipse/startup.jar runtests -os linux -ws gtk -arch x86
runtests remove -noupdate flag (not supported anymore) org.eclipse.*.launcher.Main -noupdate org.eclipse.*.launcher.Main


  • These changes apply to you if you use org.eclipse.test (eg., in your map file, or if you run org.eclipse.test/library.xml).


plugin@org.eclipse.test=v20070217,:pserver:anonymous@dev.eclipse.org:/cvsroot/eclipse,


This is fixed by moving up to the latest version (v20070217) of org.eclipse.test/library.xml, per bug 171756.

Running Tests

To run tests, you'll need something like this:

$JAVA_HOME/bin/java $Xflags -enableassertions -cp $cp \
  org.eclipse.equinox.launcher.Main -ws $ws -os $os -arch $arch \
  -application org.eclipse.ant.core.antRunner -data $workspaceDir \
  -file test.xml $antTestTarget \
  $Dflags -Dws=$ws -Dos=$os -Darch=$arch -D$installmode=true $J2SE15flags \
  $properties -logger org.apache.tools.ant.DefaultLogger

The variables noted in the above example can be seen in detail in the runtests shell script.


Links

Bugs

Back to the top