diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/debugoptions/DebugOptionsTestCase.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/debugoptions/DebugOptionsTestCase.java index 1ce49e78fb0..1b436c2d43a 100644 --- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/debugoptions/DebugOptionsTestCase.java +++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/debugoptions/DebugOptionsTestCase.java @@ -1147,9 +1147,8 @@ public void testTraceFile09() throws IOException { public void testTraceSystemOut() throws IOException { PrintStream old = System.out; File traceFile = OSGiTestsActivator.getContext().getDataFile(getName() + ".trace"); //$NON-NLS-1$ - OutputStream out = new FileOutputStream(traceFile); final AtomicReference closed = new AtomicReference<>(Boolean.FALSE); - out = new FilterOutputStream(out) { + try (OutputStream out = new FilterOutputStream(new FileOutputStream(traceFile)) { @Override public void close() throws IOException { @@ -1157,17 +1156,17 @@ public void close() throws IOException { closed.set(Boolean.TRUE); } - }; - System.setOut(new PrintStream(out)); - try { - TestDebugTrace debugTrace = this.createDebugTrace(new File("/does/not/exist/trace.out")); - debugOptions.setOption(getName() + "/debug", "true"); - debugTrace.trace("/debug", "A message to System.out."); - debugTrace.trace("/debug", "Another message."); - assertFalse("Closed System.out.", closed.get().booleanValue()); - } finally { - System.setOut(old); - out.close(); + }) { + System.setOut(new PrintStream(out)); + try { + TestDebugTrace debugTrace = this.createDebugTrace(new File("/does/not/exist/trace.out")); + debugOptions.setOption(getName() + "/debug", "true"); + debugTrace.trace("/debug", "A message to System.out."); + debugTrace.trace("/debug", "Another message."); + assertFalse("Closed System.out.", closed.get().booleanValue()); + } finally { + System.setOut(old); + } } TraceEntry[] traceOutput = null; try {