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

Bug 314875

Summary: Large proxies are not queued.
Product: z_Archived Reporter: Paul Slauenwhite <paulslau>
Component: TPTPAssignee: Bozier jerome <jerome.bozier>
Status: CLOSED WONTFIX QA Contact: Kathy Chan <kathy>
Severity: normal    
Priority: P1 CC: paulslau
Version: unspecified   
Target Milestone: ---   
Hardware: All   
OS: All   
Whiteboard:
Bug Depends on: 281877    
Bug Blocks:    

Description Paul Slauenwhite CLA 2010-05-28 10:05:05 EDT
Large proxies are not queued.

As a continuation of defect https://bugs.eclipse.org/bugs/show_bug.cgi?id=281877, when a large proxy is saved (see org.eclipse.hyades.test.ui.internal.navigator.proxy.FileProxyMarkerPersister.saveProxy(IFile, IPersistableProxyNode)), the following problem occurs:

1) The org.eclipse.hyades.test.ui.internal.navigator.proxy.FileProxyMarkerPersister.MarkerJob is still scheduled, even though the proxy is too large to serialize.  If the marker is too large, it should automatically default to org.eclipse.hyades.test.ui.internal.navigator.proxy.FileProxyMetadataPersister. 

When a large proxy is loaded (see org.eclipse.hyades.test.ui.internal.navigator.proxy.FileProxyMarkerPersister.loadProxy(IFile)), the following problem occurs:

1) The org.eclipse.hyades.test.ui.internal.navigator.proxy.FileProxyMetadataPersister.loadProxy(IFile) is called only if a marker exists.  Since the queued marker (see org.eclipse.hyades.test.ui.internal.navigator.proxy.FileProxyMarkerPersister.MarkerJob) is not returned and the saved marker is not yet serialized, null is returned.  If the MarkerJob does not contain the marker or the marker cannot be found, it should automatically default to org.eclipse.hyades.test.ui.internal.navigator.proxy.FileProxyMetadataPersister.

In addition, org.eclipse.hyades.test.ui.internal.navigator.proxy.FileProxyMetadataPersister does not queue proxies to be saved.  This class should use the same queuing mechanism as org.eclipse.hyades.test.ui.internal.navigator.proxy.FileProxyMarkerPersister (see https://bugs.eclipse.org/bugs/show_bug.cgi?id=281877).

As a result, the following test failure sometimes occurs:

junit.framework.AssertionFailedError: null
 at junit.framework.Assert.fail(Assert.java:47)
 at junit.framework.Assert.assertTrue(Assert.java:20)
 at junit.framework.Assert.assertNotNull(Assert.java:214)
 at org.eclipse.hyades.test.ui.navigator.tests.junit.util.JUnitTestUtilities.assertValidSampleProxy(JUnitTestUtilities.java:101)
 at org.eclipse.hyades.test.ui.navigator.tests.junit.util.JUnitTestUtilities.assertValidSampleProxy(JUnitTestUtilities.java:95)
 at org.eclipse.hyades.test.ui.navigator.tests.junit.plugin.TestUIFileProxyMarkerPersisterTest.saveAndLoadProxy_largeProxyTest__(TestUIFileProxyMarkerPersisterTest.java:330)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:618)
 at junit.framework.TestCase.runTest(TestCase.java:168)
 at junit.framework.TestCase.runBare(TestCase.java:134)
 at junit.framework.TestResult$1.protect(TestResult.java:110)
 at junit.framework.TestResult.runProtected(TestResult.java:128)
 at junit.framework.TestResult.run(TestResult.java:113)
 at junit.framework.TestCase.run(TestCase.java:124)
 at org.eclipse.hyades.test.common.junit.HyadesTestCase.run(HyadesTestCase.java:172)
 at junit.framework.TestSuite.runTest(TestSuite.java:232)
 at org.eclipse.hyades.test.common.junit.HyadesTestSuite.runTest(HyadesTestSuite.java:456)
 at junit.framework.TestSuite.run(TestSuite.java:227)
 at org.eclipse.hyades.test.common.junit.HyadesTestSuite.doRun(HyadesTestSuite.java:424)
 at org.eclipse.hyades.test.common.junit.HyadesTestSuite.run(HyadesTestSuite.java:334)
 at junit.framework.TestSuite.runTest(TestSuite.java:232)
 at org.eclipse.hyades.test.common.junit.HyadesTestSuite.runTest(HyadesTestSuite.java:456)
 at junit.framework.TestSuite.run(TestSuite.java:227)
 at org.eclipse.hyades.test.common.junit.HyadesTestSuite.doRun(HyadesTestSuite.java:424)
 at org.eclipse.hyades.test.common.junit.HyadesTestSuite.run(HyadesTestSuite.java:334)
 at junit.framework.TestSuite.runTest(TestSuite.java:232)
 at org.eclipse.hyades.test.common.junit.HyadesTestSuite.runTest(HyadesTestSuite.java:456)
 at junit.framework.TestSuite.run(TestSuite.java:227)
 at org.eclipse.hyades.test.common.junit.HyadesTestSuite.doRun(HyadesTestSuite.java:424)
 at org.eclipse.hyades.test.common.junit.HyadesTestSuite.run(HyadesTestSuite.java:334)
 at junit.framework.TestSuite.runTest(TestSuite.java:232)
 at org.eclipse.hyades.test.common.junit.HyadesTestSuite.runTest(HyadesTestSuite.java:456)
 at junit.framework.TestSuite.run(TestSuite.java:227)
 at org.eclipse.hyades.test.common.junit.HyadesTestSuite.doRun(HyadesTestSuite.java:424)
 at org.eclipse.hyades.test.common.junit.HyadesTestSuite.run(HyadesTestSuite.java:334)
 at org.eclipse.hyades.test.common.junit.HyadesTestRunner.run(HyadesTestRunner.java:504)
 at org.eclipse.tptp.test.tools.junit.plugin.runner.PluginRunner.launchTest(PluginRunner.java:63)
 at org.eclipse.tptp.test.tools.junit.plugin.runner.EclipseTesterAgent.launchTest(EclipseTesterAgent.java:138)
 at org.eclipse.tptp.test.tools.junit.plugin.runner.EclipseTesterAgent.doHandleCommand(EclipseTesterAgent.java:119)
 at org.eclipse.tptp.test.tools.junit.plugin.runner.EclipseTesterAgent.startProcessing(EclipseTesterAgent.java:68)
 at org.eclipse.tptp.test.tools.junit.plugin.runner.ui.PluginTestHarness$1.run(PluginTestHarness.java:50)
 at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
 at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134)
 at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4041)
 at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3660)
 at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2629)
 at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2593)
 at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2427)
 at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:670)
 at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
 at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:663)
 at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
 at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)
 at org.eclipse.tptp.test.tools.junit.plugin.runner.ui.UITestApplication.start(UITestApplication.java:49)
 at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
 at org.eclipse.equinox.internal.app.MainApplicationLauncher.run(MainApplicationLauncher.java:32)
 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:369)
 at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:618)
 at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619)
 at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
 at org.eclipse.equinox.launcher.Main.run(Main.java:1407)
 at org.eclipse.equinox.launcher.Main.main(Main.java:1383)
 at org.eclipse.core.launcher.Main.main(Main.java:34)

This defect requires the following test cases to be readded to /org.eclipse.hyades.test.ui.navigator.tests/junit_plugin/Test.UI.FileProxyMarkerPersisterTest.testsuite:

Save and load proxy (large proxy test).
Save and load proxy (large proxy quick test).
Save and load proxy (large proxy slow test).
Comment 1 Paul Slauenwhite CLA 2010-05-28 10:05:29 EDT
Jerome, please size.
Comment 2 Bozier jerome CLA 2010-05-28 10:18:44 EDT
delicate mechanism to fix, so i size it to around one week for all the testing (i hope it will be a bit less)
Comment 3 Paul Slauenwhite CLA 2010-06-22 10:05:02 EDT
Since this defect is not impacting TPTP users or any consuming product and only impacting the JUnits, we will defer this defect.
Comment 4 Paul Slauenwhite CLA 2010-11-26 07:28:23 EST
Insufficient resources to complete.
Comment 5 Paul Slauenwhite CLA 2010-11-29 08:12:54 EST
Closing.