Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 368458

Summary: 'Test project missing from workspace baseline' test failures
Product: [Eclipse Project] PDE Reporter: Michael Rennie <Michael_Rennie>
Component: API ToolsAssignee: Curtis Windatt <curtis.windatt.public>
Status: VERIFIED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: curtis.windatt.public, daniel_megert
Version: 3.8   
Target Milestone: 4.3 M7   
Hardware: All   
OS: All   
Whiteboard:
Bug Depends on:    
Bug Blocks: 381873    
Attachments:
Description Flags
Activate tracing none

Description Michael Rennie CLA 2012-01-12 10:07:51 EST
Failed in the M20120111-0800 build, but I have seen it fail before.

the test project api component must exist in the workspace baseline
junit.framework.AssertionFailedError: the test project api component must exist in the workspace baseline
at org.eclipse.pde.api.tools.tests.AbstractApiTest.createProject(AbstractApiTest.java:147)
at org.eclipse.pde.api.tools.util.tests.ProjectCreationTests.setUp(ProjectCreationTests.java:60)
at org.eclipse.test.EclipseTestRunner.run(EclipseTestRunner.java:501)
at org.eclipse.test.EclipseTestRunner.run(EclipseTestRunner.java:259)
at org.eclipse.test.CoreTestApplication.runTests(CoreTestApplication.java:36)
at org.eclipse.test.CoreTestApplication.run(CoreTestApplication.java:32)
at org.eclipse.equinox.internal.app.EclipseAppContainer.callMethodWithException(EclipseAppContainer.java:587)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:198)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
at org.eclipse.equinox.launcher.Main.main(Main.java:1386)
at org.eclipse.core.launcher.Main.main(Main.java:34)
Comment 1 Michael Rennie CLA 2012-01-12 10:20:30 EST
There are a bunch of exceptions like the following in the log:

!ENTRY org.eclipse.pde.api.tools 4 0 2012-01-11 16:14:39.356
!MESSAGE Unable to resolve method signature: a.b.c.TestClass1#void foo()

and some ResourceExceptions like:

!ENTRY org.eclipse.pde.api.tools 4 120 2012-01-11 16:15:29.563
!MESSAGE Error logged from API Tools Core: 
!STACK 1
org.eclipse.core.internal.resources.ResourceException: Resource '/APIPluginTests/.settings' does not exist.
	at org.eclipse.core.internal.resources.Resource.checkExists(Resource.java:320)
	at org.eclipse.core.internal.resources.Resource.checkAccessible(Resource.java:194)
	at org.eclipse.core.internal.resources.Container.members(Container.java:266)
	at org.eclipse.core.internal.resources.Container.members(Container.java:249)
	at org.eclipse.pde.api.tools.internal.ApiFilterStore$1.runInWorkspace(ApiFilterStore.java:150)
	at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
!SUBENTRY 1 org.eclipse.core.resources 4 368 2012-01-11 16:15:29.595
!MESSAGE Resource '/APIPluginTests/.settings' does not exist.
Comment 2 Curtis Windatt CLA 2012-06-07 09:31:08 EDT
I haven't seen these failures for some time.  Closing as WORKSFORME as no further investigation is planned.
Comment 3 Curtis Windatt CLA 2012-06-07 09:42:25 EDT
http://download.eclipse.org/eclipse/downloads/drops4/I20120606-1900/testresults/html/org.eclipse.pde.api.tools.tests_linux.gtk.x86_6.0.html

Unfortunately after passing for some time, the test failed in the RC4 candidate.  Reopening.
Comment 4 Curtis Windatt CLA 2012-06-07 11:34:24 EDT
All the tests pass locally.

The project is created then the workspace baseline is created immediately afterwards from any API Tools aware projects in the PluginRegistry.  When the failure occurs the plugin registry may have not been informed of the new plug-in.
Comment 5 Curtis Windatt CLA 2012-07-23 11:04:16 EDT
Failed in N20120722-2000  Has been passing in I builds.

the test project api component must exist in the workspace baseline

junit.framework.AssertionFailedError: the test project api component must exist in the workspace baseline
at org.eclipse.pde.api.tools.tests.AbstractApiTest.createProject(AbstractApiTest.java:147)
at org.eclipse.pde.api.tools.model.tests.ApiFilterStoreTests.setUp(ApiFilterStoreTests.java:53)
at org.eclipse.test.EclipseTestRunner.run(EclipseTestRunner.java:501)
Comment 6 Curtis Windatt CLA 2012-10-26 16:56:03 EDT
I've pushed some extra logging to the tests to see if the problem is PDE Core taking too long to update its models.

http://git.eclipse.org/c/pde/eclipse.pde.ui.git/commit/?id=7d2f8119fd3128a79adeba7ab542fce60baa3630
Comment 7 Curtis Windatt CLA 2013-01-30 15:59:55 EST
(In reply to comment #6)
> I've pushed some extra logging to the tests to see if the problem is PDE
> Core taking too long to update its models.
> 
> http://git.eclipse.org/c/pde/eclipse.pde.ui.git/commit/
> ?id=7d2f8119fd3128a79adeba7ab542fce60baa3630

The logging indicates that the project is added to the PDE models in order.  The problem exists elsewhere.
Comment 8 Dani Megert CLA 2013-01-31 06:34:45 EST
testAnnotateStoreFromBundle failed again in I20130130-2000.
Comment 9 Curtis Windatt CLA 2013-01-31 16:03:05 EST
Created attachment 226419 [details]
Activate tracing

This patch removes the PDE tracing and turns on the API Tools delta process tracing.  It also removes the non null assertion.  Since this could cause test failures in actual tests this will wait for the start of M6.

The tracing has a fair amount of output, so we may want to modify the delta processor to dump tracing to a stream that we only dump to the console if there is a problem.
Comment 10 Curtis Windatt CLA 2013-02-28 16:59:29 EST
Removing the assertion appears to allow the tests to pass.  The project must be added to the baseline before the actual test runs as there are no exceptions.  If this continues to pass we'll remove the debug flag and just leave a comment at why we don't assert the inclusion immediately.
Comment 12 Curtis Windatt CLA 2013-04-29 17:16:02 EDT
No problems for some time, marking as verified.