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

Difference between revisions of "E4/Compatibility/Testing"

Line 1: Line 1:
 
This page describes how to run the 3.x API tests with a workbench that's backed by e4's compatibility layer.
 
This page describes how to run the 3.x API tests with a workbench that's backed by e4's compatibility layer.
  
===Setup===
+
==Setup==
 
#Download a recent e4 SDK [http://download.eclipse.org/e4/downloads/ here].
 
#Download a recent e4 SDK [http://download.eclipse.org/e4/downloads/ here].
 +
#Add this CVS repository location to your workspace setup: <code>:pserver:anonymous@dev.eclipse.org:/cvsroot/eclipse</code>
 
#Checkout the <code>org.eclipse.e4.ui.releng</code> module from the <code>/cvsroot/eclipse</code>'s <code>e4/releng</code> directory.
 
#Checkout the <code>org.eclipse.e4.ui.releng</code> module from the <code>/cvsroot/eclipse</code>'s <code>e4/releng</code> directory.
#Right-click on the <code>e4.ui.compatibility.psf</code> file and select 'Import project set...'. You '''will''' have compiler errors.
+
#Right-click on the <code>e4.ui.compatibility.psf</code> file and select 'Import project set...'. When you are prompted for a password, just enter <code>anonymous</code> as your user name and leave the password as blank.
#Repeat the procedure for <code>e4.ui.psf</code> and <code>e4.ui.css.psf</code>.
+
#Repeat the procedure for <code>e4.ui.psf</code>, <code>e4.ui.css.psf</code>, and <code>e4.ui.tests.compatibility.psf</code>.
  
==Running the tests==
+
===Running the tests===
 
#Select a test from the <code>org.eclipse.ui.tests</code> bundle, such as <code>org.eclipse.ui.tests.api.IWorkbenchPageTest</code> for example.
 
#Select a test from the <code>org.eclipse.ui.tests</code> bundle, such as <code>org.eclipse.ui.tests.api.IWorkbenchPageTest</code> for example.
 
#If there are compiler errors indicating incorrect imports, try using 'Organize Imports' to get rid of them or to have them point to the e4 variant of the internal.
 
#If there are compiler errors indicating incorrect imports, try using 'Organize Imports' to get rid of them or to have them point to the e4 variant of the internal.

Revision as of 15:33, 26 February 2010

This page describes how to run the 3.x API tests with a workbench that's backed by e4's compatibility layer.

Setup

  1. Download a recent e4 SDK here.
  2. Add this CVS repository location to your workspace setup: :pserver:anonymous@dev.eclipse.org:/cvsroot/eclipse
  3. Checkout the org.eclipse.e4.ui.releng module from the /cvsroot/eclipse's e4/releng directory.
  4. Right-click on the e4.ui.compatibility.psf file and select 'Import project set...'. When you are prompted for a password, just enter anonymous as your user name and leave the password as blank.
  5. Repeat the procedure for e4.ui.psf, e4.ui.css.psf, and e4.ui.tests.compatibility.psf.

Running the tests

  1. Select a test from the org.eclipse.ui.tests bundle, such as org.eclipse.ui.tests.api.IWorkbenchPageTest for example.
  2. If there are compiler errors indicating incorrect imports, try using 'Organize Imports' to get rid of them or to have them point to the e4 variant of the internal.
  3. Right-click on the file > Run As > JUnit Plug-in Test.
  4. This will fail. Open the launch configuration dialog.
  5. Select the launch configuration that was just generated and go to the 'Main' tab.
  6. Change the target product to org.eclipse.e4.ide.application.product.
  7. Try running the test again. It should work now.

Known issues

  1. If you get a NullPointerException in OSGiContextStrategy like the stack trace below, you are seeing bug 299070. To workaround the problem, you can checkout org.eclipse.e4.core.services from CVS and then apply the patch that's there until a proper fix has been checked in.
 java.lang.NullPointerException
	at org.eclipse.e4.internal.core.services.osgi.OSGiContextStrategy.addingService(OSGiContextStrategy.java:71)
	at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:896)
	at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:261)
	at org.osgi.util.tracker.AbstractTracked.trackInitial(AbstractTracked.java:184)
	at org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:339)
	at org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:273)
	at org.eclipse.e4.internal.core.services.osgi.OSGiContextStrategy.lookup(OSGiContextStrategy.java:123)
	at org.eclipse.e4.core.services.internal.context.EclipseContext.internalGet(EclipseContext.java:347)
	at org.eclipse.e4.core.services.internal.context.EclipseContext.get(EclipseContext.java:316)
	at org.eclipse.ui.PlatformUI.getTestableObject(PlatformUI.java:171)
	at org.eclipse.pde.internal.junit.runtime.UITestApplication.start(UITestApplication.java:43)

Back to the top