Failed
org.eclipse.jdt.core.tests.compiler.regression.ResourceLeakTests.test056l - 1.8 (from org.eclipse.jdt.core.tests.compiler.regression.TestAll)
Error Message
test056l - Eclipse found error(s) but Javac did not find any. ----------- Expected ------------ ------------ but was ------------ ----------\n 1. ERROR in X.java (at line 8)\n FileReader fileReader = getReader();\n ^^^^^^^^^^\n Resource 'fileReader' should be managed by try-with-resource\n ----------\n 2. ERROR in X.java (at line 11)\n FileReader r3 = getReader();\n ^^\n Resource 'r3' should be managed by try-with-resource\n ----------\n 3. ERROR in X.java (at line 24)\n FileReader r2 = new FileReader(new File("inexist")); // only potential problem: ctor X below might close r2\n ^^\n Potential resource leak: 'r2' may not be closed\n ----------\n 4. ERROR in X.java (at line 25)\n new X(r2).foo(new FileReader(new File("notthere"))); // potential problem: foo may/may not close the new FileReader\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n Potential resource leak: '<unassigned Closeable value>' may not be closed\n ----------\n --------- Difference is ---------- expected:<[]> but was:<[----------\n 1. ERROR in X.java (at line 8)\n FileReader fileReader = getReader();\n ^^^^^^^^^^\n Resource 'fileReader' should be managed by try-with-resource\n ----------\n 2. ERROR in X.java (at line 11)\n FileReader r3 = getReader();\n ^^\n Resource 'r3' should be managed by try-with-resource\n ----------\n 3. ERROR in X.java (at line 24)\n FileReader r2 = new FileReader(new File("inexist")); // only potential problem: ctor X below might close r2\n ^^\n Potential resource leak: 'r2' may not be closed\n ----------\n 4. ERROR in X.java (at line 25)\n new X(r2).foo(new FileReader(new File("notthere"))); // potential problem: foo may/may not close the new FileReader\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n Potential resource leak: '<unassigned Closeable value>' may not be closed\n ----------\n ]>
Stacktrace
junit.framework.ComparisonFailure: test056l - Eclipse found error(s) but Javac did not find any. ----------- Expected ------------ ------------ but was ------------ ----------\n 1. ERROR in X.java (at line 8)\n FileReader fileReader = getReader();\n ^^^^^^^^^^\n Resource 'fileReader' should be managed by try-with-resource\n ----------\n 2. ERROR in X.java (at line 11)\n FileReader r3 = getReader();\n ^^\n Resource 'r3' should be managed by try-with-resource\n ----------\n 3. ERROR in X.java (at line 24)\n FileReader r2 = new FileReader(new File("inexist")); // only potential problem: ctor X below might close r2\n ^^\n Potential resource leak: 'r2' may not be closed\n ----------\n 4. ERROR in X.java (at line 25)\n new X(r2).foo(new FileReader(new File("notthere"))); // potential problem: foo may/may not close the new FileReader\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n Potential resource leak: '<unassigned Closeable value>' may not be closed\n ----------\n --------- Difference is ---------- expected:<[]> but was:<[----------\n 1. ERROR in X.java (at line 8)\n FileReader fileReader = getReader();\n ^^^^^^^^^^\n Resource 'fileReader' should be managed by try-with-resource\n ----------\n 2. ERROR in X.java (at line 11)\n FileReader r3 = getReader();\n ^^\n Resource 'r3' should be managed by try-with-resource\n ----------\n 3. ERROR in X.java (at line 24)\n FileReader r2 = new FileReader(new File("inexist")); // only potential problem: ctor X below might close r2\n ^^\n Potential resource leak: 'r2' may not be closed\n ----------\n 4. ERROR in X.java (at line 25)\n new X(r2).foo(new FileReader(new File("notthere"))); // potential problem: foo may/may not close the new FileReader\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n Potential resource leak: '<unassigned Closeable value>' may not be closed\n ----------\n ]> at org.eclipse.jdt.core.tests.junit.extension.TestCase.assertStringEquals(TestCase.java:260) at org.eclipse.jdt.core.tests.junit.extension.TestCase.assertEquals(TestCase.java:236) at org.eclipse.jdt.core.tests.compiler.regression.AbstractRegressionTest.runJavac(AbstractRegressionTest.java:2044) at org.eclipse.jdt.core.tests.compiler.regression.AbstractRegressionTest.runTest(AbstractRegressionTest.java:2814) at org.eclipse.jdt.core.tests.compiler.regression.AbstractRegressionTest.runTest(AbstractRegressionTest.java:2539) at org.eclipse.jdt.core.tests.compiler.regression.AbstractRegressionTest.runNegativeTest(AbstractRegressionTest.java:2220) at org.eclipse.jdt.core.tests.compiler.regression.ResourceLeakTests.test056l(ResourceLeakTests.java:873)
Standard Output
org.eclipse.jdt.core.tests.compiler.regression.ResourceLeakTests#test056l - 1.8 X.java [ import java.io.File; import java.io.FileReader; import java.io.IOException; public class X { X(FileReader r0) {} FileReader getReader() { return null; } void foo(FileReader r1) throws IOException { FileReader fileReader = getReader(); if (fileReader == null) return; FileReader r3 = getReader(); if (r3 == null) r3 = new FileReader(new File("absent")); try { char[] in = new char[50]; fileReader.read(in); r1.read(in); } finally { fileReader.close(); r3.close(); } } public static void main(String[] args) throws IOException { FileReader r2 = new FileReader(new File("inexist")); // only potential problem: ctor X below might close r2 new X(r2).foo(new FileReader(new File("notthere"))); // potential problem: foo may/may not close the new FileReader } } ] Full results sent to /tmp/comptest/run.1514610271420/1.8.0_131_20171230_000432.txt
Standard Error
----------------------------------------