Diagnostics tests prepared for the Lazy version

This commit is contained in:
Andrey Breslav
2012-07-11 17:10:30 +04:00
parent 09802271a8
commit 739a1f8245
4 changed files with 190 additions and 117 deletions
@@ -0,0 +1,81 @@
/*
* Copyright 2010-2012 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jetbrains.jet.checkers;
import com.google.common.base.Predicates;
import com.google.common.collect.Lists;
import com.intellij.psi.PsiFile;
import org.jetbrains.jet.lang.BuiltinsScopeExtensionMode;
import org.jetbrains.jet.lang.psi.JetFile;
import org.jetbrains.jet.lang.resolve.AnalyzerScriptParameter;
import org.jetbrains.jet.lang.resolve.BindingContext;
import org.jetbrains.jet.lang.resolve.java.AnalyzerFacadeForJVM;
import org.jetbrains.jet.test.generator.SimpleTestClassModel;
import org.jetbrains.jet.test.generator.TestGenerator;
import java.io.File;
import java.io.IOException;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
/**
* @author abreslav
*/
public abstract class AbstractDiagnosticsTestWithEagerResolve extends AbstractJetDiagnosticsTest {
protected void analyzeAndCheck(String expectedText, List<TestFile> testFiles) {
List<JetFile> jetFiles = Lists.newArrayList();
for (TestFile testFile : testFiles) {
if (testFile.getJetFile() != null) {
jetFiles.add(testFile.getJetFile());
}
}
BindingContext bindingContext = AnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration(
getProject(), jetFiles, Collections.<AnalyzerScriptParameter>emptyList(),
Predicates.<PsiFile>alwaysTrue(), BuiltinsScopeExtensionMode.ALL).getBindingContext();
boolean ok = true;
StringBuilder actualText = new StringBuilder();
for (TestFile testFile : testFiles) {
ok &= testFile.getActualText(bindingContext, actualText);
}
assertEquals(expectedText, actualText.toString());
assertTrue("Diagnostics mismatch. See the output above", ok);
}
public static void main(String[] args) throws IOException {
String aPackage = "org.jetbrains.jet.checkers";
Class<AbstractDiagnosticsTestWithEagerResolve> thisClass = AbstractDiagnosticsTestWithEagerResolve.class;
new TestGenerator(
"compiler/tests/",
aPackage,
"JetDiagnosticsTestGenerated",
thisClass,
Arrays.asList(
new SimpleTestClassModel(new File("compiler/testData/diagnostics/tests"), true, "kt", "doTest"),
new SimpleTestClassModel(new File("compiler/testData/diagnostics/tests/script"), true, "ktscript", "doTest")
),
thisClass
).generateAndSave();
}
}
@@ -16,7 +16,6 @@
package org.jetbrains.jet.checkers;
import com.google.common.base.Predicates;
import com.google.common.collect.Lists;
import com.google.common.io.Files;
import com.intellij.lang.java.JavaLanguage;
@@ -26,26 +25,20 @@ import com.intellij.openapi.util.io.FileUtil;
import com.intellij.psi.PsiFile;
import com.intellij.psi.PsiFileFactory;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.jet.ConfigurationKind;
import org.jetbrains.jet.JetLiteFixture;
import org.jetbrains.jet.JetTestUtils;
import org.jetbrains.jet.cli.jvm.compiler.JetCoreEnvironment;
import org.jetbrains.jet.lang.BuiltinsScopeExtensionMode;
import org.jetbrains.jet.lang.diagnostics.DiagnosticUtils;
import org.jetbrains.jet.lang.psi.JetFile;
import org.jetbrains.jet.lang.resolve.AnalyzerScriptParameter;
import org.jetbrains.jet.lang.resolve.AnalyzingUtils;
import org.jetbrains.jet.lang.resolve.BindingContext;
import org.jetbrains.jet.lang.resolve.java.AnalyzerFacadeForJVM;
import org.jetbrains.jet.test.generator.SimpleTestClassModel;
import org.jetbrains.jet.test.generator.TestGenerator;
import org.jetbrains.jet.utils.ExceptionUtils;
import java.io.File;
import java.io.IOException;
import java.nio.charset.Charset;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
/**
@@ -93,39 +86,20 @@ public abstract class AbstractJetDiagnosticsTest extends JetLiteFixture {
getEnvironment().addToClasspath(javaFilesDir);
}
List<JetFile> jetFiles = Lists.newArrayList();
for (TestFile testFile : testFiles) {
if (testFile.jetFile != null) {
jetFiles.add(testFile.jetFile);
}
}
BindingContext bindingContext = AnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration(
getProject(), jetFiles, Collections.<AnalyzerScriptParameter>emptyList(),
Predicates.<PsiFile>alwaysTrue(), BuiltinsScopeExtensionMode.ALL).getBindingContext();
boolean ok = true;
StringBuilder actualText = new StringBuilder();
for (TestFile testFileFile : testFiles) {
ok &= testFileFile.getActualText(bindingContext, actualText);
}
assertEquals(expectedText, actualText.toString());
assertTrue("Diagnostics mismatch. See the output above", ok);
analyzeAndCheck(expectedText, testFiles);
}
private class TestFile {
protected abstract void analyzeAndCheck(String expectedText, List<TestFile> files);
protected class TestFile {
private final List<CheckerTestUtil.DiagnosedRange> diagnosedRanges = Lists.newArrayList();
private final String expectedText;
private final String clearText;
private final JetFile jetFile;
private final PsiFile javaFile;
public TestFile(String fileName, String textWithMarkers) {
if (fileName.endsWith(".java")) {
this.javaFile = PsiFileFactory.getInstance(getProject()).createFileFromText(fileName, JavaLanguage.INSTANCE, textWithMarkers);
PsiFileFactory.getInstance(getProject()).createFileFromText(fileName, JavaLanguage.INSTANCE, textWithMarkers);
// TODO: check there's not syntax errors
this.jetFile = null;
this.expectedText = this.clearText = textWithMarkers;
@@ -133,7 +107,6 @@ public abstract class AbstractJetDiagnosticsTest extends JetLiteFixture {
else {
expectedText = textWithMarkers;
clearText = CheckerTestUtil.parseDiagnosedRanges(expectedText, diagnosedRanges);
this.javaFile = null;
this.jetFile = createCheckAndReturnPsiFile(null, fileName, clearText);
for (CheckerTestUtil.DiagnosedRange diagnosedRange : diagnosedRanges) {
diagnosedRange.setFile(jetFile);
@@ -141,6 +114,11 @@ public abstract class AbstractJetDiagnosticsTest extends JetLiteFixture {
}
}
@Nullable
public JetFile getJetFile() {
return jetFile;
}
public boolean getActualText(BindingContext bindingContext, StringBuilder actualText) {
if (this.jetFile == null) {
// TODO: check java files too
@@ -177,19 +155,4 @@ public abstract class AbstractJetDiagnosticsTest extends JetLiteFixture {
}
public static void main(String[] args) throws IOException {
String aPackage = "org.jetbrains.jet.checkers";
new TestGenerator(
"compiler/tests/",
aPackage,
"JetDiagnosticsTestGenerated",
AbstractJetDiagnosticsTest.class,
Arrays.asList(
new SimpleTestClassModel(new File("compiler/testData/diagnostics/tests"), true, "kt", "doTest"),
new SimpleTestClassModel(new File("compiler/testData/diagnostics/tests/script"), true, "ktscript", "doTest")
),
AbstractJetDiagnosticsTest.class
).generateAndSave();
}
}
@@ -22,10 +22,10 @@ import org.jetbrains.jet.test.TestMetadata;
import java.io.File;
/** This class is generated by {@link org.jetbrains.jet.checkers.AbstractJetDiagnosticsTest}. DO NOT MODIFY MANUALLY */
public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest {
/** This class is generated by {@link org.jetbrains.jet.checkers.AbstractDiagnosticsTestWithEagerResolve}. DO NOT MODIFY MANUALLY */
public class JetDiagnosticsTestGenerated extends AbstractDiagnosticsTestWithEagerResolve {
@TestMetadata("compiler/testData/diagnostics/tests")
public static class Tests extends AbstractJetDiagnosticsTest {
public static class Tests extends AbstractDiagnosticsTestWithEagerResolve {
@TestMetadata("Abstract.kt")
public void testAbstract() throws Exception {
doTest("compiler/testData/diagnostics/tests/Abstract.kt");
@@ -57,7 +57,7 @@ public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest {
}
public void testAllFilesPresentInTests() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractJetDiagnosticsTest", new File("compiler/testData/diagnostics/tests"), "kt", false);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractDiagnosticsTestWithEagerResolve", new File("compiler/testData/diagnostics/tests"), "kt", false);
}
@TestMetadata("AnonymousInitializerVarAndConstructor.kt")
@@ -486,9 +486,9 @@ public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest {
}
@TestMetadata("compiler/testData/diagnostics/tests/annotations")
public static class Annotations extends AbstractJetDiagnosticsTest {
public static class Annotations extends AbstractDiagnosticsTestWithEagerResolve {
public void testAllFilesPresentInAnnotations() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractJetDiagnosticsTest", new File("compiler/testData/diagnostics/tests/annotations"), "kt", false);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractDiagnosticsTestWithEagerResolve", new File("compiler/testData/diagnostics/tests/annotations"), "kt", false);
}
@TestMetadata("AmbigiousAnnotationConstructor.kt")
@@ -539,9 +539,9 @@ public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest {
}
@TestMetadata("compiler/testData/diagnostics/tests/backingField")
public static class BackingField extends AbstractJetDiagnosticsTest {
public static class BackingField extends AbstractDiagnosticsTestWithEagerResolve {
public void testAllFilesPresentInBackingField() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractJetDiagnosticsTest", new File("compiler/testData/diagnostics/tests/backingField"), "kt", false);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractDiagnosticsTestWithEagerResolve", new File("compiler/testData/diagnostics/tests/backingField"), "kt", false);
}
@TestMetadata("CustomGetSet.kt")
@@ -647,9 +647,9 @@ public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest {
}
@TestMetadata("compiler/testData/diagnostics/tests/cast")
public static class Cast extends AbstractJetDiagnosticsTest {
public static class Cast extends AbstractDiagnosticsTestWithEagerResolve {
public void testAllFilesPresentInCast() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractJetDiagnosticsTest", new File("compiler/testData/diagnostics/tests/cast"), "kt", false);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractDiagnosticsTestWithEagerResolve", new File("compiler/testData/diagnostics/tests/cast"), "kt", false);
}
@TestMetadata("AsErasedError.kt")
@@ -720,9 +720,9 @@ public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest {
}
@TestMetadata("compiler/testData/diagnostics/tests/checkArguments")
public static class CheckArguments extends AbstractJetDiagnosticsTest {
public static class CheckArguments extends AbstractDiagnosticsTestWithEagerResolve {
public void testAllFilesPresentInCheckArguments() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractJetDiagnosticsTest", new File("compiler/testData/diagnostics/tests/checkArguments"), "kt", false);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractDiagnosticsTestWithEagerResolve", new File("compiler/testData/diagnostics/tests/checkArguments"), "kt", false);
}
@TestMetadata("kt1897_diagnostic_part.kt")
@@ -743,9 +743,9 @@ public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest {
}
@TestMetadata("compiler/testData/diagnostics/tests/controlFlowAnalysis")
public static class ControlFlowAnalysis extends AbstractJetDiagnosticsTest {
public static class ControlFlowAnalysis extends AbstractDiagnosticsTestWithEagerResolve {
public void testAllFilesPresentInControlFlowAnalysis() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractJetDiagnosticsTest", new File("compiler/testData/diagnostics/tests/controlFlowAnalysis"), "kt", false);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractDiagnosticsTestWithEagerResolve", new File("compiler/testData/diagnostics/tests/controlFlowAnalysis"), "kt", false);
}
@TestMetadata("checkInnerLocalDeclarations.kt")
@@ -851,9 +851,9 @@ public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest {
}
@TestMetadata("compiler/testData/diagnostics/tests/controlStructures")
public static class ControlStructures extends AbstractJetDiagnosticsTest {
public static class ControlStructures extends AbstractDiagnosticsTestWithEagerResolve {
public void testAllFilesPresentInControlStructures() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractJetDiagnosticsTest", new File("compiler/testData/diagnostics/tests/controlStructures"), "kt", false);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractDiagnosticsTestWithEagerResolve", new File("compiler/testData/diagnostics/tests/controlStructures"), "kt", false);
}
@TestMetadata("ForWithoutBraces.kt")
@@ -899,9 +899,9 @@ public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest {
}
@TestMetadata("compiler/testData/diagnostics/tests/dataFlow")
public static class DataFlow extends AbstractJetDiagnosticsTest {
public static class DataFlow extends AbstractDiagnosticsTestWithEagerResolve {
public void testAllFilesPresentInDataFlow() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractJetDiagnosticsTest", new File("compiler/testData/diagnostics/tests/dataFlow"), "kt", false);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractDiagnosticsTestWithEagerResolve", new File("compiler/testData/diagnostics/tests/dataFlow"), "kt", false);
}
@TestMetadata("CalleeExpression.kt")
@@ -922,9 +922,9 @@ public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest {
}
@TestMetadata("compiler/testData/diagnostics/tests/dataFlowInfoTraversal")
public static class DataFlowInfoTraversal extends AbstractJetDiagnosticsTest {
public static class DataFlowInfoTraversal extends AbstractDiagnosticsTestWithEagerResolve {
public void testAllFilesPresentInDataFlowInfoTraversal() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractJetDiagnosticsTest", new File("compiler/testData/diagnostics/tests/dataFlowInfoTraversal"), "kt", false);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractDiagnosticsTestWithEagerResolve", new File("compiler/testData/diagnostics/tests/dataFlowInfoTraversal"), "kt", false);
}
@TestMetadata("AndOr.kt")
@@ -1030,9 +1030,9 @@ public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest {
}
@TestMetadata("compiler/testData/diagnostics/tests/declarationChecks")
public static class DeclarationChecks extends AbstractJetDiagnosticsTest {
public static class DeclarationChecks extends AbstractDiagnosticsTestWithEagerResolve {
public void testAllFilesPresentInDeclarationChecks() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractJetDiagnosticsTest", new File("compiler/testData/diagnostics/tests/declarationChecks"), "kt", false);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractDiagnosticsTestWithEagerResolve", new File("compiler/testData/diagnostics/tests/declarationChecks"), "kt", false);
}
@TestMetadata("kt1141.kt")
@@ -1063,9 +1063,9 @@ public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest {
}
@TestMetadata("compiler/testData/diagnostics/tests/extensions")
public static class Extensions extends AbstractJetDiagnosticsTest {
public static class Extensions extends AbstractDiagnosticsTestWithEagerResolve {
public void testAllFilesPresentInExtensions() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractJetDiagnosticsTest", new File("compiler/testData/diagnostics/tests/extensions"), "kt", false);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractDiagnosticsTestWithEagerResolve", new File("compiler/testData/diagnostics/tests/extensions"), "kt", false);
}
@TestMetadata("ExtensionFunctions.kt")
@@ -1106,9 +1106,9 @@ public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest {
}
@TestMetadata("compiler/testData/diagnostics/tests/generics")
public static class Generics extends AbstractJetDiagnosticsTest {
public static class Generics extends AbstractDiagnosticsTestWithEagerResolve {
public void testAllFilesPresentInGenerics() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractJetDiagnosticsTest", new File("compiler/testData/diagnostics/tests/generics"), "kt", false);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractDiagnosticsTestWithEagerResolve", new File("compiler/testData/diagnostics/tests/generics"), "kt", false);
}
@TestMetadata("kt1575-Class.kt")
@@ -1144,9 +1144,9 @@ public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest {
}
@TestMetadata("compiler/testData/diagnostics/tests/incompleteCode")
public static class IncompleteCode extends AbstractJetDiagnosticsTest {
public static class IncompleteCode extends AbstractDiagnosticsTestWithEagerResolve {
public void testAllFilesPresentInIncompleteCode() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractJetDiagnosticsTest", new File("compiler/testData/diagnostics/tests/incompleteCode"), "kt", false);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractDiagnosticsTestWithEagerResolve", new File("compiler/testData/diagnostics/tests/incompleteCode"), "kt", false);
}
@TestMetadata("arrayBracketsRange.kt")
@@ -1185,9 +1185,9 @@ public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest {
}
@TestMetadata("compiler/testData/diagnostics/tests/incompleteCode/diagnosticWithSyntaxError")
public static class DiagnosticWithSyntaxError extends AbstractJetDiagnosticsTest {
public static class DiagnosticWithSyntaxError extends AbstractDiagnosticsTestWithEagerResolve {
public void testAllFilesPresentInDiagnosticWithSyntaxError() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractJetDiagnosticsTest", new File("compiler/testData/diagnostics/tests/incompleteCode/diagnosticWithSyntaxError"), "kt", false);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractDiagnosticsTestWithEagerResolve", new File("compiler/testData/diagnostics/tests/incompleteCode/diagnosticWithSyntaxError"), "kt", false);
}
@TestMetadata("checkBackingFieldException.kt")
@@ -1236,9 +1236,9 @@ public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest {
}
@TestMetadata("compiler/testData/diagnostics/tests/inference")
public static class Inference extends AbstractJetDiagnosticsTest {
public static class Inference extends AbstractDiagnosticsTestWithEagerResolve {
public void testAllFilesPresentInInference() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractJetDiagnosticsTest", new File("compiler/testData/diagnostics/tests/inference"), "kt", false);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractDiagnosticsTestWithEagerResolve", new File("compiler/testData/diagnostics/tests/inference"), "kt", false);
}
@TestMetadata("kt1293.kt")
@@ -1254,9 +1254,9 @@ public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest {
}
@TestMetadata("compiler/testData/diagnostics/tests/infos")
public static class Infos extends AbstractJetDiagnosticsTest {
public static class Infos extends AbstractDiagnosticsTestWithEagerResolve {
public void testAllFilesPresentInInfos() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractJetDiagnosticsTest", new File("compiler/testData/diagnostics/tests/infos"), "kt", false);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractDiagnosticsTestWithEagerResolve", new File("compiler/testData/diagnostics/tests/infos"), "kt", false);
}
@TestMetadata("Autocasts.kt")
@@ -1272,9 +1272,9 @@ public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest {
}
@TestMetadata("compiler/testData/diagnostics/tests/j+k")
public static class J_k extends AbstractJetDiagnosticsTest {
public static class J_k extends AbstractDiagnosticsTestWithEagerResolve {
public void testAllFilesPresentInJ_k() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractJetDiagnosticsTest", new File("compiler/testData/diagnostics/tests/j+k"), "kt", false);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractDiagnosticsTestWithEagerResolve", new File("compiler/testData/diagnostics/tests/j+k"), "kt", false);
}
@TestMetadata("kt1402.kt")
@@ -1330,9 +1330,9 @@ public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest {
}
@TestMetadata("compiler/testData/diagnostics/tests/jdk-annotations")
public static class Jdk_annotations extends AbstractJetDiagnosticsTest {
public static class Jdk_annotations extends AbstractDiagnosticsTestWithEagerResolve {
public void testAllFilesPresentInJdk_annotations() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractJetDiagnosticsTest", new File("compiler/testData/diagnostics/tests/jdk-annotations"), "kt", false);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractDiagnosticsTestWithEagerResolve", new File("compiler/testData/diagnostics/tests/jdk-annotations"), "kt", false);
}
@TestMetadata("ArrayListAndMap.kt")
@@ -1353,9 +1353,9 @@ public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest {
}
@TestMetadata("compiler/testData/diagnostics/tests/library")
public static class Library extends AbstractJetDiagnosticsTest {
public static class Library extends AbstractDiagnosticsTestWithEagerResolve {
public void testAllFilesPresentInLibrary() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractJetDiagnosticsTest", new File("compiler/testData/diagnostics/tests/library"), "kt", false);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractDiagnosticsTestWithEagerResolve", new File("compiler/testData/diagnostics/tests/library"), "kt", false);
}
@TestMetadata("kt828.kt")
@@ -1366,9 +1366,9 @@ public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest {
}
@TestMetadata("compiler/testData/diagnostics/tests/nullabilityAndAutoCasts")
public static class NullabilityAndAutoCasts extends AbstractJetDiagnosticsTest {
public static class NullabilityAndAutoCasts extends AbstractDiagnosticsTestWithEagerResolve {
public void testAllFilesPresentInNullabilityAndAutoCasts() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractJetDiagnosticsTest", new File("compiler/testData/diagnostics/tests/nullabilityAndAutoCasts"), "kt", false);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractDiagnosticsTestWithEagerResolve", new File("compiler/testData/diagnostics/tests/nullabilityAndAutoCasts"), "kt", false);
}
@TestMetadata("AssertNotNull.kt")
@@ -1484,9 +1484,9 @@ public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest {
}
@TestMetadata("compiler/testData/diagnostics/tests/objects")
public static class Objects extends AbstractJetDiagnosticsTest {
public static class Objects extends AbstractDiagnosticsTestWithEagerResolve {
public void testAllFilesPresentInObjects() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractJetDiagnosticsTest", new File("compiler/testData/diagnostics/tests/objects"), "kt", false);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractDiagnosticsTestWithEagerResolve", new File("compiler/testData/diagnostics/tests/objects"), "kt", false);
}
@TestMetadata("kt2240.kt")
@@ -1517,9 +1517,9 @@ public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest {
}
@TestMetadata("compiler/testData/diagnostics/tests/operatorsOverloading")
public static class OperatorsOverloading extends AbstractJetDiagnosticsTest {
public static class OperatorsOverloading extends AbstractDiagnosticsTestWithEagerResolve {
public void testAllFilesPresentInOperatorsOverloading() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractJetDiagnosticsTest", new File("compiler/testData/diagnostics/tests/operatorsOverloading"), "kt", false);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractDiagnosticsTestWithEagerResolve", new File("compiler/testData/diagnostics/tests/operatorsOverloading"), "kt", false);
}
@TestMetadata("AssignOperatorAmbiguity.kt")
@@ -1540,9 +1540,9 @@ public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest {
}
@TestMetadata("compiler/testData/diagnostics/tests/overload")
public static class Overload extends AbstractJetDiagnosticsTest {
public static class Overload extends AbstractDiagnosticsTestWithEagerResolve {
public void testAllFilesPresentInOverload() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractJetDiagnosticsTest", new File("compiler/testData/diagnostics/tests/overload"), "kt", false);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractDiagnosticsTestWithEagerResolve", new File("compiler/testData/diagnostics/tests/overload"), "kt", false);
}
@TestMetadata("ConflictingOverloadsFunsDifferentReturnInClass.kt")
@@ -1608,7 +1608,7 @@ public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest {
}
@TestMetadata("compiler/testData/diagnostics/tests/override")
public static class Override extends AbstractJetDiagnosticsTest {
public static class Override extends AbstractDiagnosticsTestWithEagerResolve {
@TestMetadata("AbstractFunImplemented.kt")
public void testAbstractFunImplemented() throws Exception {
doTest("compiler/testData/diagnostics/tests/override/AbstractFunImplemented.kt");
@@ -1640,7 +1640,7 @@ public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest {
}
public void testAllFilesPresentInOverride() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractJetDiagnosticsTest", new File("compiler/testData/diagnostics/tests/override"), "kt", false);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractDiagnosticsTestWithEagerResolve", new File("compiler/testData/diagnostics/tests/override"), "kt", false);
}
@TestMetadata("ComplexValRedeclaration.kt")
@@ -1761,9 +1761,9 @@ public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest {
}
@TestMetadata("compiler/testData/diagnostics/tests/redeclarations")
public static class Redeclarations extends AbstractJetDiagnosticsTest {
public static class Redeclarations extends AbstractDiagnosticsTestWithEagerResolve {
public void testAllFilesPresentInRedeclarations() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractJetDiagnosticsTest", new File("compiler/testData/diagnostics/tests/redeclarations"), "kt", false);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractDiagnosticsTestWithEagerResolve", new File("compiler/testData/diagnostics/tests/redeclarations"), "kt", false);
}
@TestMetadata("MultiFilePackageRedeclaration.kt")
@@ -1779,9 +1779,9 @@ public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest {
}
@TestMetadata("compiler/testData/diagnostics/tests/regressions")
public static class Regressions extends AbstractJetDiagnosticsTest {
public static class Regressions extends AbstractDiagnosticsTestWithEagerResolve {
public void testAllFilesPresentInRegressions() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractJetDiagnosticsTest", new File("compiler/testData/diagnostics/tests/regressions"), "kt", false);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractDiagnosticsTestWithEagerResolve", new File("compiler/testData/diagnostics/tests/regressions"), "kt", false);
}
@TestMetadata("AmbiguityOnLazyTypeComputation.kt")
@@ -2267,9 +2267,9 @@ public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest {
}
@TestMetadata("compiler/testData/diagnostics/tests/scopes")
public static class Scopes extends AbstractJetDiagnosticsTest {
public static class Scopes extends AbstractDiagnosticsTestWithEagerResolve {
public void testAllFilesPresentInScopes() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractJetDiagnosticsTest", new File("compiler/testData/diagnostics/tests/scopes"), "kt", false);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractDiagnosticsTestWithEagerResolve", new File("compiler/testData/diagnostics/tests/scopes"), "kt", false);
}
@TestMetadata("ImportFromCurrentWithDifferentName.kt")
@@ -2470,9 +2470,9 @@ public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest {
}
@TestMetadata("compiler/testData/diagnostics/tests/shadowing")
public static class Shadowing extends AbstractJetDiagnosticsTest {
public static class Shadowing extends AbstractDiagnosticsTestWithEagerResolve {
public void testAllFilesPresentInShadowing() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractJetDiagnosticsTest", new File("compiler/testData/diagnostics/tests/shadowing"), "kt", false);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractDiagnosticsTestWithEagerResolve", new File("compiler/testData/diagnostics/tests/shadowing"), "kt", false);
}
@TestMetadata("ShadowParameterInFunctionBody.kt")
@@ -2523,9 +2523,9 @@ public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest {
}
@TestMetadata("compiler/testData/diagnostics/tests/substitutions")
public static class Substitutions extends AbstractJetDiagnosticsTest {
public static class Substitutions extends AbstractDiagnosticsTestWithEagerResolve {
public void testAllFilesPresentInSubstitutions() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractJetDiagnosticsTest", new File("compiler/testData/diagnostics/tests/substitutions"), "kt", false);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractDiagnosticsTestWithEagerResolve", new File("compiler/testData/diagnostics/tests/substitutions"), "kt", false);
}
@TestMetadata("kt1558-short.kt")
@@ -2536,9 +2536,9 @@ public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest {
}
@TestMetadata("compiler/testData/diagnostics/tests/subtyping")
public static class Subtyping extends AbstractJetDiagnosticsTest {
public static class Subtyping extends AbstractDiagnosticsTestWithEagerResolve {
public void testAllFilesPresentInSubtyping() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractJetDiagnosticsTest", new File("compiler/testData/diagnostics/tests/subtyping"), "kt", false);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractDiagnosticsTestWithEagerResolve", new File("compiler/testData/diagnostics/tests/subtyping"), "kt", false);
}
@TestMetadata("kt2069.kt")
@@ -2554,9 +2554,9 @@ public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest {
}
@TestMetadata("compiler/testData/diagnostics/tests/tuples")
public static class Tuples extends AbstractJetDiagnosticsTest {
public static class Tuples extends AbstractDiagnosticsTestWithEagerResolve {
public void testAllFilesPresentInTuples() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractJetDiagnosticsTest", new File("compiler/testData/diagnostics/tests/tuples"), "kt", false);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractDiagnosticsTestWithEagerResolve", new File("compiler/testData/diagnostics/tests/tuples"), "kt", false);
}
@TestMetadata("BasicTuples.kt")
@@ -2567,9 +2567,9 @@ public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest {
}
@TestMetadata("compiler/testData/diagnostics/tests/varargs")
public static class Varargs extends AbstractJetDiagnosticsTest {
public static class Varargs extends AbstractDiagnosticsTestWithEagerResolve {
public void testAllFilesPresentInVarargs() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractJetDiagnosticsTest", new File("compiler/testData/diagnostics/tests/varargs"), "kt", false);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractDiagnosticsTestWithEagerResolve", new File("compiler/testData/diagnostics/tests/varargs"), "kt", false);
}
@TestMetadata("AmbiguousVararg.kt")
@@ -2657,14 +2657,14 @@ public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest {
}
@TestMetadata("compiler/testData/diagnostics/tests/script")
public static class Script extends AbstractJetDiagnosticsTest {
public static class Script extends AbstractDiagnosticsTestWithEagerResolve {
@TestMetadata("AccessForwardDeclarationInScript.ktscript")
public void testAccessForwardDeclarationInScript() throws Exception {
doTest("compiler/testData/diagnostics/tests/script/AccessForwardDeclarationInScript.ktscript");
}
public void testAllFilesPresentInScript() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractJetDiagnosticsTest", new File("compiler/testData/diagnostics/tests/script"), "ktscript", false);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.checkers.AbstractDiagnosticsTestWithEagerResolve", new File("compiler/testData/diagnostics/tests/script"), "ktscript", false);
}
@TestMetadata("ComplexScript.ktscript")
@@ -16,17 +16,46 @@
package org.jetbrains.jet.lang.resolve.lazy;
import junit.framework.TestCase;
import org.jetbrains.jet.ConfigurationKind;
import org.jetbrains.jet.checkers.AbstractJetDiagnosticsTest;
import org.jetbrains.jet.cli.jvm.compiler.JetCoreEnvironment;
import org.jetbrains.jet.test.generator.SimpleTestClassModel;
import org.jetbrains.jet.test.generator.TestGenerator;
import java.io.File;
import java.io.IOException;
import java.util.Arrays;
import java.util.List;
/**
* @author abreslav
*/
public abstract class AbstractLazyResolveDiagnosticsTest extends KotlinTestWithEnvironment {
public abstract class AbstractLazyResolveDiagnosticsTest extends AbstractJetDiagnosticsTest {
@Override
protected JetCoreEnvironment createEnvironment() {
return createEnvironmentWithMockJdk(ConfigurationKind.ALL);
}
@Override
protected void analyzeAndCheck(String expectedText, List<TestFile> files) {
}
public static void main(String[] args) throws IOException {
Class<? extends TestCase> thisClass = AbstractLazyResolveDiagnosticsTest.class;
new TestGenerator(
"compiler/tests/",
thisClass.getPackage().getName(),
"LazyResolveDiagnosticsTestGenerated",
thisClass,
Arrays.asList(
new SimpleTestClassModel(new File("compiler/testData/diagnostics/tests"), true, "kt", "doTest"),
new SimpleTestClassModel(new File("compiler/testData/diagnostics/tests/script"), true, "ktscript", "doTest")
),
thisClass
).generateAndSave();
}
}