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:
Alexander Udalov
2015-04-10 01:43:40 +03:00
parent 845d755fdd
commit 5c06204658
4 changed files with 6 additions and 5 deletions
@@ -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()
)); ));
} }