diff --git a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/internal/databinding/swt/ControlObservableValueTest.java b/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/internal/databinding/swt/ControlObservableValueTest.java index 779fc61c175..55071bdaf15 100644 --- a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/internal/databinding/swt/ControlObservableValueTest.java +++ b/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/internal/databinding/swt/ControlObservableValueTest.java @@ -235,13 +235,17 @@ public void testObserveFocus() { System.out.println("active shell (5): " + shell.getDisplay().getActiveShell()); System.out.println("Value (should be true): " + value.getValue()); - Screenshots.takeScreenshot(getClass(), getClass().getSimpleName(), System.out); - - assertTrue(value.getValue()); - - assertEquals(1, tracker.count); - assertFalse(tracker.event.diff.getOldValue()); - assertTrue(tracker.event.diff.getNewValue()); + try { + assertTrue(value.getValue()); + + assertEquals(1, tracker.count); + assertFalse(tracker.event.diff.getOldValue()); + assertTrue(tracker.event.diff.getNewValue()); + } catch (Exception | AssertionError e) { + String screenshot = Screenshots.takeScreenshot(getClass(), getClass().getSimpleName(), System.out); + e.addSuppressed(new Throwable("Screenshot written to " + screenshot)); + throw e; + } } private void processDisplayQueue() { diff --git a/tests/org.eclipse.ui.workbench.texteditor.tests/src/org/eclipse/ui/workbench/texteditor/tests/ScreenshotTest.java b/tests/org.eclipse.ui.workbench.texteditor.tests/src/org/eclipse/ui/workbench/texteditor/tests/ScreenshotTest.java index 2084ce0c47f..8bc8393b0e9 100644 --- a/tests/org.eclipse.ui.workbench.texteditor.tests/src/org/eclipse/ui/workbench/texteditor/tests/ScreenshotTest.java +++ b/tests/org.eclipse.ui.workbench.texteditor.tests/src/org/eclipse/ui/workbench/texteditor/tests/ScreenshotTest.java @@ -44,7 +44,8 @@ public class ScreenshotTest { @Test public void testScreenshot() throws Exception { - takeScreenshot(ScreenshotTest.class, testName.getMethodName(), System.out); + String screenshot= takeScreenshot(ScreenshotTest.class, testName.getMethodName(), System.out); + new File(screenshot).delete(); } @Test @@ -73,7 +74,7 @@ public void testWindowsTaskManagerScreenshots() throws Exception { System.out.println("* CTRL up " + display.post(event)); runEventQueue(); - takeScreenshot(ScreenshotTest.class, testName.getMethodName() + 2, System.out); + String screenshot1= takeScreenshot(ScreenshotTest.class, testName.getMethodName() + 2, System.out); event.type= SWT.KeyDown; event.character= SWT.ESC; @@ -83,7 +84,9 @@ public void testWindowsTaskManagerScreenshots() throws Exception { System.out.println("* ESC up " + display.post(event)); runEventQueue(); - takeScreenshot(ScreenshotTest.class, testName.getMethodName() + 3, System.out); + String screenshot2= takeScreenshot(ScreenshotTest.class, testName.getMethodName() + 3, System.out); + new File(screenshot1).delete(); + new File(screenshot2).delete(); } /**