Difference between revisions of "Automated PDE JUnit Testing With Eclipse 3.3M5"

From Eclipsepedia

Jump to: navigation, search
m
m (History)
Line 4: Line 4:
  
 
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, and will be explained below.
 
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, and will be explained below.
 +
 +
[echo] Running org.eclipse.someproject.tests.AllTests
 +
[java] Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/core/launcher/Main
  
 
== Migration Guide ==
 
== Migration Guide ==

Revision as of 14:33, 25 January 2007

Contents

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, and will be explained below.

[echo] Running org.eclipse.someproject.tests.AllTests
[java] Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/core/launcher/Main

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

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