blob: cced0dc25ca891a00e9924ca2ef9a2cb7f498989 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2021 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
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.jdt.core.tests.compiler.regression;
import java.io.File;
import junit.framework.Test;
@SuppressWarnings({ "rawtypes" })
public class BatchCompilerTest_16 extends AbstractBatchCompilerTest {
static {
// TESTS_NAMES = new String[] { "testBug571454_001" };
// TESTS_NUMBERS = new int[] { 306 };
// TESTS_RANGE = new int[] { 298, -1 };
}
/**
* This test suite only needs to be run on one compliance.
* As it includes some specific 1.5 tests, it must be used with a least a 1.5 VM
* and not be duplicated in general test suite.
* @see TestAll
*/
public static Test suite() {
return buildMinimalComplianceTestSuite(testClass(), F_16);
}
public static Class testClass() {
return BatchCompilerTest_16.class;
}
public BatchCompilerTest_16(String name) {
super(name);
}
public void testBug571454_001(){
String currentWorkingDirectoryPath = System.getProperty("user.dir");
if (currentWorkingDirectoryPath == null) {
System.err.println("BatchCompilerTest#testBug564047_001 could not access the current working directory " + currentWorkingDirectoryPath);
} else if (!new File(currentWorkingDirectoryPath).isDirectory()) {
System.err.println("BatchCompilerTest#testBug564047_001 current working directory is not a directory " + currentWorkingDirectoryPath);
} else {
try {
this.runNegativeTest(
new String[] {
"src/X.java",
"public class X {\n"+
" public static void main(String argv[]) {\n"+
" R rec = new R(3);\n"+
" if (rec.x() == 3) {\n" +
" // do nothing\n" +
" }\n" +
" }\n"+
"}\n",
"src/R.java",
"record R(int x) {\n"+
" R {\n"+
" super();\n"+
" }\n"+
"}",
},
"\"" + OUTPUT_DIR + File.separator + "src/X.java\""
+ " \"" + OUTPUT_DIR + File.separator + "src/R.java\""
+ " -sourcepath \"" + OUTPUT_DIR + File.separator + "src\""
+ " --release 16 --enable-preview -g -preserveAllLocals"
+ " -proceedOnError -referenceInfo"
+ " -d \"" + OUTPUT_DIR + File.separator + "bin\" ",
"",
"----------\n" +
"1. ERROR in ---OUTPUT_DIR_PLACEHOLDER---/src/R.java (at line 3)\n" +
" super();\n" +
" ^^^^^^^^\n" +
"The body of a compact constructor must not contain an explicit constructor call\n" +
"----------\n"
+ "1 problem (1 error)\n",
true);
} finally {
}
}
}
}