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.
Difference between revisions of "E4/Compatibility/Testing"
< E4 | Compatibility
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== | |
#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...'. | + | #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> | + | #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
- Download a recent e4 SDK here.
- Add this CVS repository location to your workspace setup:
:pserver:anonymous@dev.eclipse.org:/cvsroot/eclipse
- Checkout the
org.eclipse.e4.ui.releng
module from the/cvsroot/eclipse
'se4/releng
directory. - Right-click on the
e4.ui.compatibility.psf
file and select 'Import project set...'. When you are prompted for a password, just enteranonymous
as your user name and leave the password as blank. - Repeat the procedure for
e4.ui.psf
,e4.ui.css.psf
, ande4.ui.tests.compatibility.psf
.
Running the tests
- Select a test from the
org.eclipse.ui.tests
bundle, such asorg.eclipse.ui.tests.api.IWorkbenchPageTest
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.
- Right-click on the file > Run As > JUnit Plug-in Test.
- This will fail. Open the launch configuration dialog.
- Select the launch configuration that was just generated and go to the 'Main' tab.
- Change the target product to
org.eclipse.e4.ide.application.product
. - Try running the test again. It should work now.
Known issues
- If you get a
NullPointerException
inOSGiContextStrategy
like the stack trace below, you are seeingbug 299070. To workaround the problem, you can checkoutorg.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)