Community
Participate
Working Groups
In both I200405272000 and I200405280010. expected:<RGB {75, 21, 68}> but was:<RGB {0, 128, 0}> junit.framework.AssertionFailedError: expected:<RGB {75, 21, 68}> but was:<RGB {0, 128, 0}> at org.eclipse.ui.tests.themes.ThemeAPITest.testOverrideColorPreference(ThemeAPITest.java:292) at org.eclipse.ui.tests.themes.ThemeAPITest.testColorPreferenceListener(ThemeAPITest.java:119) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at org.eclipse.test.EclipseTestRunner.run(EclipseTestRunner.java:322) at org.eclipse.test.EclipseTestRunner.run(EclipseTestRunner.java:198) at org.eclipse.test.EclipseTestRunner.main(EclipseTestRunner.java:133) at org.eclipse.test.UITestApplication$3.run(UITestApplication.java:180) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:106) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:2693) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2385) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1363) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1334) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:253) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:141) at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:96) at org.eclipse.test.UITestApplication.runApplication(UITestApplication.java:123) at org.eclipse.test.UITestApplication.run(UITestApplication.java:55) at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:331) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:273) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:128) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at org.eclipse.core.launcher.Main.basicRun(Main.java:185) at org.eclipse.core.launcher.Main.run(Main.java:638) at org.eclipse.core.launcher.Main.main(Main.java:622) expected:<[1|Courier|30|2|WINDOWS|1|0|0|0|0|0|1|0|0|1|0|0|0|0|Courier> but was:<[1|Courier|10|2|WINDOWS|1|0|0|0|0|0|1|0|0|1|0|0|0|0|Courier> junit.framework.AssertionFailedError: expected:<[1|Courier|30|2|WINDOWS|1|0|0| 0|0|0|1|0|0|1|0|0|0|0|Courier> but was:<[1|Courier|10|2|WINDOWS|1|0|0|0|0|0|1| 0|0|1|0|0|0|0|Courier> at org.eclipse.ui.tests.themes.ThemeTest.assertArrayEquals(ThemeTest.java:32) at org.eclipse.ui.tests.themes.ThemeAPITest.testOverrideFontPreference(ThemeAPITest.java:306) at org.eclipse.ui.tests.themes.ThemeAPITest.testFontPreferenceListener(ThemeAPITest.java:219) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at org.eclipse.test.EclipseTestRunner.run(EclipseTestRunner.java:322) at org.eclipse.test.EclipseTestRunner.run(EclipseTestRunner.java:198) at org.eclipse.test.EclipseTestRunner.main(EclipseTestRunner.java:133) at org.eclipse.test.UITestApplication$3.run(UITestApplication.java:180) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:106) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:2693) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2385) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1363) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1334) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:253) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:141) at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:96) at org.eclipse.test.UITestApplication.runApplication(UITestApplication.java:123) at org.eclipse.test.UITestApplication.run(UITestApplication.java:55) at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:331) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:273) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:128) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at org.eclipse.core.launcher.Main.basicRun(Main.java:185) at org.eclipse.core.launcher.Main.run(Main.java:638) at org.eclipse.core.launcher.Main.main(Main.java:622)
This is caused by another preference listener dying during an event firing. This is because AbstractUIPlugin.CompatabilityPreferenceStore fires events to it's listener using a SafeRunnable, but the looping is done inside the runnable. If one listener fails they all fail. The fix is to move the looping outside of the runnable. Fix committed to HEAD with DW.
Verified in RC1 - the tests now pass. We should have an explicit test for this, however. Bug 64976 has been entered for this.
Closing to keep a tidy house. Pardon the spam.