Move ExpectLoadError from tests to testData
To avoid loading all sources under "compiler/tests" in each test. Saves about 20-25% when running LoadJavaTestGenerated
This commit is contained in:
@@ -142,7 +142,8 @@ public abstract class AbstractLoadJavaTest extends TestCaseWithTmpdir {
|
|||||||
CompilerConfiguration configuration = JetTestUtils.compilerConfigurationForTests(
|
CompilerConfiguration configuration = JetTestUtils.compilerConfigurationForTests(
|
||||||
ConfigurationKind.JDK_ONLY, TestJdkKind.MOCK_JDK, tmpdir);
|
ConfigurationKind.JDK_ONLY, TestJdkKind.MOCK_JDK, tmpdir);
|
||||||
addKotlinSourceRoot(configuration, sourcesDir.getAbsolutePath());
|
addKotlinSourceRoot(configuration, sourcesDir.getAbsolutePath());
|
||||||
addJavaSourceRoot(configuration, new File("compiler/tests")); // for @ExpectLoadError annotation
|
addJavaSourceRoot(configuration, new File("compiler/testData/loadJava/include"));
|
||||||
|
|
||||||
KotlinCoreEnvironment environment =
|
KotlinCoreEnvironment environment =
|
||||||
KotlinCoreEnvironment.createForTests(getTestRootDisposable(), configuration, EnvironmentConfigFiles.JVM_CONFIG_FILES);
|
KotlinCoreEnvironment.createForTests(getTestRootDisposable(), configuration, EnvironmentConfigFiles.JVM_CONFIG_FILES);
|
||||||
|
|
||||||
|
|||||||
@@ -21,7 +21,6 @@ import org.jetbrains.annotations.NotNull;
|
|||||||
import org.jetbrains.kotlin.descriptors.*;
|
import org.jetbrains.kotlin.descriptors.*;
|
||||||
import org.jetbrains.kotlin.descriptors.annotations.AnnotationDescriptor;
|
import org.jetbrains.kotlin.descriptors.annotations.AnnotationDescriptor;
|
||||||
import org.jetbrains.kotlin.descriptors.impl.DeclarationDescriptorVisitorEmptyBodies;
|
import org.jetbrains.kotlin.descriptors.impl.DeclarationDescriptorVisitorEmptyBodies;
|
||||||
import org.jetbrains.kotlin.jvm.compiler.annotation.ExpectLoadError;
|
|
||||||
import org.jetbrains.kotlin.load.java.JavaBindingContext;
|
import org.jetbrains.kotlin.load.java.JavaBindingContext;
|
||||||
import org.jetbrains.kotlin.name.FqName;
|
import org.jetbrains.kotlin.name.FqName;
|
||||||
import org.jetbrains.kotlin.renderer.DescriptorRenderer;
|
import org.jetbrains.kotlin.renderer.DescriptorRenderer;
|
||||||
@@ -35,7 +34,7 @@ import static com.intellij.testFramework.UsefulTestCase.assertNotNull;
|
|||||||
import static com.intellij.testFramework.UsefulTestCase.assertSameElements;
|
import static com.intellij.testFramework.UsefulTestCase.assertSameElements;
|
||||||
|
|
||||||
public class ExpectedLoadErrorsUtil {
|
public class ExpectedLoadErrorsUtil {
|
||||||
public static final String ANNOTATION_CLASS_NAME = ExpectLoadError.class.getName();
|
public static final String ANNOTATION_CLASS_NAME = "org.jetbrains.kotlin.jvm.compiler.annotation.ExpectLoadError";
|
||||||
|
|
||||||
public static void checkForLoadErrors(
|
public static void checkForLoadErrors(
|
||||||
@NotNull PackageViewDescriptor packageFromJava,
|
@NotNull PackageViewDescriptor packageFromJava,
|
||||||
@@ -88,6 +87,7 @@ public class ExpectedLoadErrorsUtil {
|
|||||||
CompileTimeConstant<?> argument = annotation.getAllValueArguments().values().iterator().next();
|
CompileTimeConstant<?> argument = annotation.getAllValueArguments().values().iterator().next();
|
||||||
|
|
||||||
String error = (String) argument.getValue();
|
String error = (String) argument.getValue();
|
||||||
|
//noinspection ConstantConditions
|
||||||
List<String> errors = Arrays.asList(error.split("\\|"));
|
List<String> errors = Arrays.asList(error.split("\\|"));
|
||||||
|
|
||||||
map.put(descriptor, errors);
|
map.put(descriptor, errors);
|
||||||
|
|||||||
@@ -88,7 +88,7 @@ public final class LoadDescriptorUtil {
|
|||||||
testJdkKind,
|
testJdkKind,
|
||||||
JetTestUtils.getAnnotationsJar(),
|
JetTestUtils.getAnnotationsJar(),
|
||||||
javaRoot,
|
javaRoot,
|
||||||
new File("compiler/tests") // for @ExpectLoadError annotation
|
new File("compiler/testData/loadJava/include")
|
||||||
);
|
);
|
||||||
KotlinCoreEnvironment environment =
|
KotlinCoreEnvironment environment =
|
||||||
KotlinCoreEnvironment.createForTests(disposable, configuration, EnvironmentConfigFiles.JVM_CONFIG_FILES);
|
KotlinCoreEnvironment.createForTests(disposable, configuration, EnvironmentConfigFiles.JVM_CONFIG_FILES);
|
||||||
@@ -107,7 +107,7 @@ public final class LoadDescriptorUtil {
|
|||||||
JetTestUtils.getAnnotationsJar().getPath();
|
JetTestUtils.getAnnotationsJar().getPath();
|
||||||
JetTestUtils.compileJavaFiles(javaFiles, Arrays.asList(
|
JetTestUtils.compileJavaFiles(javaFiles, Arrays.asList(
|
||||||
"-classpath", classPath,
|
"-classpath", classPath,
|
||||||
"-sourcepath", "compiler/tests", // for @ExpectLoadError annotation
|
"-sourcepath", "compiler/testData/loadJava/include",
|
||||||
"-d", outDir.getPath()
|
"-d", outDir.getPath()
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user