diff options
author | Stephan Herrmann | 2018-07-14 20:17:15 +0000 |
---|---|---|
committer | Stephan Herrmann | 2018-07-14 20:17:15 +0000 |
commit | 806c9bf06a887685e619419df1058d0e5f0b0031 (patch) | |
tree | e21ffb10f8a4631483aa0a67eaf6fd8383dfbba9 | |
parent | ed3e5b9ededc48fd35d6fef21fb3c4117c12ce75 (diff) | |
download | eclipse.jdt.core-806c9bf06a887685e619419df1058d0e5f0b0031.tar.gz eclipse.jdt.core-806c9bf06a887685e619419df1058d0e5f0b0031.tar.xz eclipse.jdt.core-806c9bf06a887685e619419df1058d0e5f0b0031.zip |
Test: don't let ClassFileReaderTest_1_5.testBug504031() spam on stderr
Change-Id: I8ecd0a79f197c43ef781250564f90aaed46081bc
3 files changed, 23 insertions, 10 deletions
diff --git a/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/AbstractRegressionTest.java b/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/AbstractRegressionTest.java index 2a2bd26de4..6dde47324e 100644 --- a/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/AbstractRegressionTest.java +++ b/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/AbstractRegressionTest.java @@ -29,6 +29,7 @@ import java.io.FileWriter; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; +import java.io.OutputStream; import java.io.PrintWriter; import java.net.URL; import java.text.SimpleDateFormat; @@ -982,8 +983,10 @@ protected static class JavacTestOptions { protected void checkClassFile(String className, String source, String expectedOutput, int mode) throws ClassFormatException, IOException { this.checkClassFile("", className, source, expectedOutput, mode); } - protected void checkClassFile(String directoryName, String className, String disassembledClassName, String source, String expectedOutput, int mode) throws ClassFormatException, IOException { - compileAndDeploy(source, directoryName, className); + protected void checkClassFile(String directoryName, String className, String disassembledClassName, String source, String expectedOutput, + int mode, boolean suppressConsole) throws ClassFormatException, IOException + { + compileAndDeploy(source, directoryName, className, suppressConsole); try { File directory = new File(EVAL_DIRECTORY, directoryName); if (!directory.exists()) { @@ -1025,11 +1028,11 @@ protected static class JavacTestOptions { } protected void checkClassFile(String directoryName, String className, String source, String expectedOutput, int mode) throws ClassFormatException, IOException { - this.checkClassFile(directoryName, className, className, source, expectedOutput, mode); + this.checkClassFile(directoryName, className, className, source, expectedOutput, mode, false); } protected ClassFileReader getInternalClassFile(String directoryName, String className, String disassembledClassName, String source) throws ClassFormatException, IOException { - compileAndDeploy(source, directoryName, className); + compileAndDeploy(source, directoryName, className, false); try { File directory = new File(EVAL_DIRECTORY, directoryName); if (!directory.exists()) { @@ -1102,7 +1105,7 @@ protected static class JavacTestOptions { } } - protected void compileAndDeploy(String source, String directoryName, String className) { + protected void compileAndDeploy(String source, String directoryName, String className, boolean suppressConsole) { File directory = new File(SOURCE_DIRECTORY); if (!directory.exists()) { if (!directory.mkdirs()) { @@ -1155,7 +1158,17 @@ protected static class JavacTestOptions { .append(Util.getJavaClassLibsAsString()) .append(SOURCE_DIRECTORY) .append("\""); - BatchCompiler.compile(buffer.toString(), new PrintWriter(System.out), new PrintWriter(System.err), null/*progress*/); + OutputStream out = System.out; + OutputStream err = System.err; + if (suppressConsole) { + out = err = new OutputStream() { + @Override + public void write(int b) { + // silently swallow + } + }; + } + BatchCompiler.compile(buffer.toString(), new PrintWriter(out), new PrintWriter(err), null/*progress*/); } /* diff --git a/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/ClassFileReaderTest_1_4.java b/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/ClassFileReaderTest_1_4.java index cf697b1cb2..c7d5817caa 100644 --- a/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/ClassFileReaderTest_1_4.java +++ b/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/ClassFileReaderTest_1_4.java @@ -2772,7 +2772,7 @@ public class ClassFileReaderTest_1_4 extends AbstractRegressionTest { "}"; String expectedOutput = "private static class p.X$A {\n"; - checkClassFile("p", "X", "X$A", source, expectedOutput, ClassFileBytesDisassembler.DETAILED | ClassFileBytesDisassembler.COMPACT); + checkClassFile("p", "X", "X$A", source, expectedOutput, ClassFileBytesDisassembler.DETAILED | ClassFileBytesDisassembler.COMPACT, false); } // https://bugs.eclipse.org/bugs/show_bug.cgi?id=102473 diff --git a/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/ClassFileReaderTest_1_5.java b/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/ClassFileReaderTest_1_5.java index 867e61d634..eb61d46174 100644 --- a/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/ClassFileReaderTest_1_5.java +++ b/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/ClassFileReaderTest_1_5.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2014 IBM Corporation and others. + * Copyright (c) 2000, 2018 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -46,7 +46,7 @@ public class ClassFileReaderTest_1_5 extends AbstractRegressionTest { * @deprecated */ private void checkClassFileUsingInputStream(String directoryName, String className, String source, String expectedOutput, int mode) throws IOException { - compileAndDeploy(source, directoryName, className); + compileAndDeploy(source, directoryName, className, false); BufferedInputStream inputStream = null; try { File directory = new File(EVAL_DIRECTORY, directoryName); @@ -613,7 +613,7 @@ public class ClassFileReaderTest_1_5 extends AbstractRegressionTest { " )\n" + "}"; int mode = ClassFileBytesDisassembler.DETAILED | ClassFileBytesDisassembler.COMPACT | ClassFileBytesDisassembler.SYSTEM; - checkClassFile("test", "AllTests", source, expectedOutput, mode); + checkClassFile("test", "AllTests", "AllTests", source, expectedOutput, mode, true/*suppress expected errors*/); } } |