Bug 368458 - 'Test project missing from workspace baseline' test failures
Summary: 'Test project missing from workspace baseline' test failures
Status: VERIFIED FIXED
Alias: None
Product: PDE
Classification: Eclipse Project
Component: API Tools (show other bugs)
Version: 3.8   Edit
Hardware: All All
: P3 normal (vote)
Target Milestone: 4.3 M7   Edit
Assignee: Curtis Windatt CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 381873
  Show dependency tree
 
Reported: 2012-01-12 10:07 EST by Michael Rennie CLA
Modified: 2013-04-29 17:16 EDT (History)
2 users (show)

See Also:


Attachments
Activate tracing (4.41 KB, patch)
2013-01-31 16:03 EST, Curtis Windatt CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
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.