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>() {
@Override
public boolean process(File file) {
String path = relativePath(file);
if (path.endsWith(".kt")) {
ktFilePaths.add(path);
if (file.getName().endsWith(".kt")) {
ktFilePaths.add(relativePath(file));
}
else if (path.endsWith(".java")) {
javaFilePaths.add(path);
else if (file.getName().endsWith(".java")) {
javaFilePaths.add(file.getPath());
}
return true;
}
@@ -16,10 +16,8 @@
package org.jetbrains.kotlin.codegen;
import com.google.common.base.Function;
import com.google.common.collect.Lists;
import org.jetbrains.kotlin.resolve.*;
import org.jetbrains.kotlin.utils.StringsKt;
import kotlin.collections.CollectionsKt;
import kotlin.jvm.functions.Function1;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
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.state.GenerationState;
import org.jetbrains.kotlin.config.CompilerConfiguration;
import org.jetbrains.kotlin.resolve.AnalyzingUtils;
import org.jetbrains.kotlin.resolve.lazy.JvmResolveUtil;
import org.jetbrains.kotlin.test.KotlinTestUtils;
import org.jetbrains.kotlin.utils.ExceptionUtilsKt;
import org.jetbrains.kotlin.utils.StringsKt;
import java.io.File;
import java.io.IOException;
@@ -130,10 +130,10 @@ public class CodegenTestUtil {
));
options.addAll(additionalOptions);
List<File> fileList = Lists.transform(fileNames, new Function<String, File>() {
List<File> fileList = CollectionsKt.map(fileNames, new Function1<String, File>() {
@Override
public File apply(@Nullable String input) {
return new File(KotlinTestUtils.getTestDataPathBase() + "/codegen/" + input);
public File invoke(String input) {
return new File(input);
}
});
@@ -63,7 +63,7 @@ public class GenerateNotNullAssertionsTest extends CodegenTestCase {
}
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);
@@ -101,7 +101,8 @@ public class GenerateNotNullAssertionsTest extends CodegenTestCase {
}
public void testGenerateParamAssertions() throws Exception {
File javaClassesTempDirectory = compileJava(getPrefix() + "/doGenerateParamAssertions.java");
File javaClassesTempDirectory =
compileJava(KotlinTestUtils.getTestDataPathBase() + "/codegen/" + getPrefix() + "/doGenerateParamAssertions.java");
setUpEnvironment(true, false, javaClassesTempDirectory);
@@ -136,7 +137,8 @@ public class GenerateNotNullAssertionsTest extends CodegenTestCase {
}
public void testJavaMultipleSubstitutions() {
File javaClassesTempDirectory = compileJava(getPrefix() + "/javaMultipleSubstitutions.java");
File javaClassesTempDirectory =
compileJava(KotlinTestUtils.getTestDataPathBase() + "/codegen/" + getPrefix() + "/javaMultipleSubstitutions.java");
setUpEnvironment(false, false, javaClassesTempDirectory);
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.name.SpecialNames;
import org.jetbrains.kotlin.test.ConfigurationKind;
import org.jetbrains.kotlin.test.KotlinTestUtils;
import org.jetbrains.kotlin.utils.StringsKt;
import org.jetbrains.org.objectweb.asm.ClassReader;
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 {
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();