NPE in AbstractTextEditor.close in automated tests [message #333648] |
Fri, 19 December 2008 11:25 |
Eclipse User |
|
|
|
Originally posted by: rob.brainkandy-dot-org.org
Hello,
I am running automated tests, and every other day or so, I get this exception,
coming from my tearDown method:
org.eclipse.ui.texteditor.AbstractTextEditor.close(AbstractT extEditor.java:4086)
org.eclipse.ui.texteditor.AbstractTextEditor$6.run(AbstractT extEditor.java:433)
org.eclipse.ui.texteditor.AbstractTextEditor$ElementStateLis tener.execute(AbstractTextEditor.java:549)
org.eclipse.ui.texteditor.AbstractTextEditor$ElementStateLis tener.elementDeleted(AbstractTextEditor.java:436)
org.eclipse.ui.editors.text.TextFileDocumentProvider$FileBuf ferListener.underlyingFileDeleted(TextFileDocumentProvider.j ava:334)
org.eclipse.core.internal.filebuffers.TextFileBufferManager$ 7.run(TextFileBufferManager.java:717)
org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
org.eclipse.core.internal.filebuffers.TextFileBufferManager. fireUnderlyingFileDeleted(TextFileBufferManager.java:715)
org.eclipse.core.internal.filebuffers.ResourceFileBuffer.han dleFileDeleted(ResourceFileBuffer.java:466)
org.eclipse.core.internal.filebuffers.ResourceFileBuffer$4.e xecute(ResourceFileBuffer.java:169)
org.eclipse.core.internal.filebuffers.ResourceFileBuffer$Saf eFileChange.run(ResourceFileBuffer.java:86)
org.eclipse.ui.internal.editors.text.UISynchronizationContex t.run(UISynchronizationContext.java:34)
org.eclipse.core.internal.filebuffers.TextFileBufferManager. execute(TextFileBufferManager.java:607)
org.eclipse.core.internal.filebuffers.ResourceFileBuffer$Fil eSynchronizer.resourceChanged(ResourceFileBuffer.java:179)
org.eclipse.core.internal.events.NotificationManager$2.run(N otificationManager.java:288)
org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
org.eclipse.core.internal.events.NotificationManager.notify( NotificationManager.java:282)
org.eclipse.core.internal.events.NotificationManager.broadca stChanges(NotificationManager.java:148)
org.eclipse.core.internal.resources.Workspace.broadcastPostC hange(Workspace.java:313)
org.eclipse.core.internal.resources.Workspace.endOperation(W orkspace.java:1022)
org.eclipse.core.internal.resources.Project.close(Project.ja va:178)
com.google.eclipse.testing.core.util.BaseTestCase$1.tearDown (BaseTestCase.java:79)
com.google.eclipse.testing.core.util.TearDownTestCase.tearDo wn(TearDownTestCase.java:84)
In my test, before calling super.tearDown, I call:
PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActi vePage().closeAllEditors(false);
So you can imagine that I'm a bit surprised that _any_ text editor remains open.
Incidentally, the NPE is coming from this line:
Display display= getSite().getShell().getDisplay();
The things I don't know:
1. is getSite() returning null?
2. is getShell() returning null?
3. which editor is still open?
4. is closeAllEditors really not closing all editors? (Note: I just discovered
that closeAllEditors returns false if not all editors close, so that's a start.)
5. how do I super-force all editors to close?
|
|
|
Powered by
FUDForum. Page generated in 0.02951 seconds