Minor, make CodegenTestUtil.compileJava take absolute paths of files

This commit is contained in:
Alexander Udalov
2016-03-01 13:03:26 +03:00
parent 12cf70ac38
commit 26de87d792
4 changed files with 19 additions and 16 deletions
@@ -127,12 +127,11 @@ public abstract class AbstractBlackBoxCodegenTest extends CodegenTestCase {
FileUtil.processFilesRecursively(dirFile, new Processor<File>() { FileUtil.processFilesRecursively(dirFile, new Processor<File>() {
@Override @Override
public boolean process(File file) { public boolean process(File file) {
String path = relativePath(file); if (file.getName().endsWith(".kt")) {
if (path.endsWith(".kt")) { ktFilePaths.add(relativePath(file));
ktFilePaths.add(path);
} }
else if (path.endsWith(".java")) { else if (file.getName().endsWith(".java")) {
javaFilePaths.add(path); javaFilePaths.add(file.getPath());
} }
return true; return true;
} }
@@ -16,10 +16,8 @@
package org.jetbrains.kotlin.codegen; package org.jetbrains.kotlin.codegen;
import com.google.common.base.Function; import kotlin.collections.CollectionsKt;
import com.google.common.collect.Lists; import kotlin.jvm.functions.Function1;
import org.jetbrains.kotlin.resolve.*;
import org.jetbrains.kotlin.utils.StringsKt;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import org.jetbrains.kotlin.analyzer.AnalysisResult; import org.jetbrains.kotlin.analyzer.AnalysisResult;
@@ -29,9 +27,11 @@ import org.jetbrains.kotlin.cli.jvm.config.JVMConfigurationKeys;
import org.jetbrains.kotlin.codegen.forTestCompile.ForTestCompileRuntime; import org.jetbrains.kotlin.codegen.forTestCompile.ForTestCompileRuntime;
import org.jetbrains.kotlin.codegen.state.GenerationState; import org.jetbrains.kotlin.codegen.state.GenerationState;
import org.jetbrains.kotlin.config.CompilerConfiguration; import org.jetbrains.kotlin.config.CompilerConfiguration;
import org.jetbrains.kotlin.resolve.AnalyzingUtils;
import org.jetbrains.kotlin.resolve.lazy.JvmResolveUtil; import org.jetbrains.kotlin.resolve.lazy.JvmResolveUtil;
import org.jetbrains.kotlin.test.KotlinTestUtils; import org.jetbrains.kotlin.test.KotlinTestUtils;
import org.jetbrains.kotlin.utils.ExceptionUtilsKt; import org.jetbrains.kotlin.utils.ExceptionUtilsKt;
import org.jetbrains.kotlin.utils.StringsKt;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
@@ -130,10 +130,10 @@ public class CodegenTestUtil {
)); ));
options.addAll(additionalOptions); options.addAll(additionalOptions);
List<File> fileList = Lists.transform(fileNames, new Function<String, File>() { List<File> fileList = CollectionsKt.map(fileNames, new Function1<String, File>() {
@Override @Override
public File apply(@Nullable String input) { public File invoke(String input) {
return new File(KotlinTestUtils.getTestDataPathBase() + "/codegen/" + input); return new File(input);
} }
}); });
@@ -63,7 +63,7 @@ public class GenerateNotNullAssertionsTest extends CodegenTestCase {
} }
private void doTestCallAssertions(boolean disableCallAssertions) throws Exception { private void doTestCallAssertions(boolean disableCallAssertions) throws Exception {
File javaClassesTempDirectory = compileJava(getPrefix() + "/A.java"); File javaClassesTempDirectory = compileJava(KotlinTestUtils.getTestDataPathBase() + "/codegen/" + getPrefix() + "/A.java");
setUpEnvironment(disableCallAssertions, true, javaClassesTempDirectory); setUpEnvironment(disableCallAssertions, true, javaClassesTempDirectory);
@@ -101,7 +101,8 @@ public class GenerateNotNullAssertionsTest extends CodegenTestCase {
} }
public void testGenerateParamAssertions() throws Exception { public void testGenerateParamAssertions() throws Exception {
File javaClassesTempDirectory = compileJava(getPrefix() + "/doGenerateParamAssertions.java"); File javaClassesTempDirectory =
compileJava(KotlinTestUtils.getTestDataPathBase() + "/codegen/" + getPrefix() + "/doGenerateParamAssertions.java");
setUpEnvironment(true, false, javaClassesTempDirectory); setUpEnvironment(true, false, javaClassesTempDirectory);
@@ -136,7 +137,8 @@ public class GenerateNotNullAssertionsTest extends CodegenTestCase {
} }
public void testJavaMultipleSubstitutions() { public void testJavaMultipleSubstitutions() {
File javaClassesTempDirectory = compileJava(getPrefix() + "/javaMultipleSubstitutions.java"); File javaClassesTempDirectory =
compileJava(KotlinTestUtils.getTestDataPathBase() + "/codegen/" + getPrefix() + "/javaMultipleSubstitutions.java");
setUpEnvironment(false, false, javaClassesTempDirectory); setUpEnvironment(false, false, javaClassesTempDirectory);
loadSource("javaMultipleSubstitutions.kt"); loadSource("javaMultipleSubstitutions.kt");
@@ -25,6 +25,7 @@ import org.jetbrains.kotlin.backend.common.output.OutputFile;
import org.jetbrains.kotlin.backend.common.output.OutputFileCollection; import org.jetbrains.kotlin.backend.common.output.OutputFileCollection;
import org.jetbrains.kotlin.name.SpecialNames; import org.jetbrains.kotlin.name.SpecialNames;
import org.jetbrains.kotlin.test.ConfigurationKind; import org.jetbrains.kotlin.test.ConfigurationKind;
import org.jetbrains.kotlin.test.KotlinTestUtils;
import org.jetbrains.kotlin.utils.StringsKt; import org.jetbrains.kotlin.utils.StringsKt;
import org.jetbrains.org.objectweb.asm.ClassReader; import org.jetbrains.org.objectweb.asm.ClassReader;
import org.jetbrains.org.objectweb.asm.ClassVisitor; import org.jetbrains.org.objectweb.asm.ClassVisitor;
@@ -151,7 +152,8 @@ public class OuterClassGenTest extends CodegenTestCase {
} }
private void doTest(@NotNull String classFqName, @NotNull String javaClassName, @NotNull String testDataFile) throws Exception { private void doTest(@NotNull String classFqName, @NotNull String javaClassName, @NotNull String testDataFile) throws Exception {
File javaClassesTempDirectory = compileJava(TEST_FOLDER + "/" + testDataFile + ".java"); File javaClassesTempDirectory = compileJava(
KotlinTestUtils.getTestDataPathBase() + "/codegen/" + TEST_FOLDER + "/" + testDataFile + ".java");
UrlClassLoader javaClassLoader = UrlClassLoader.build().urls(javaClassesTempDirectory.toURI().toURL()).get(); UrlClassLoader javaClassLoader = UrlClassLoader.build().urls(javaClassesTempDirectory.toURI().toURL()).get();