Minor fix in tests for sources appearing in libraries
This commit is contained in:
@@ -24,15 +24,14 @@ import org.jetbrains.annotations.NotNull;
|
|||||||
import org.jetbrains.jet.cli.common.ExitCode;
|
import org.jetbrains.jet.cli.common.ExitCode;
|
||||||
import org.jetbrains.jet.cli.jvm.K2JVMCompiler;
|
import org.jetbrains.jet.cli.jvm.K2JVMCompiler;
|
||||||
import org.jetbrains.jet.codegen.forTestCompile.ForTestCompileRuntime;
|
import org.jetbrains.jet.codegen.forTestCompile.ForTestCompileRuntime;
|
||||||
import org.jetbrains.jet.utils.UtilsPackage;
|
|
||||||
import org.jetbrains.jet.utils.PathUtil;
|
import org.jetbrains.jet.utils.PathUtil;
|
||||||
|
import org.jetbrains.jet.utils.UtilsPackage;
|
||||||
|
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
import java.lang.reflect.Method;
|
import java.lang.reflect.Method;
|
||||||
import java.net.MalformedURLException;
|
import java.net.MalformedURLException;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
import java.net.URLClassLoader;
|
import java.net.URLClassLoader;
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
@@ -44,7 +43,7 @@ public class MockLibraryUtil {
|
|||||||
|
|
||||||
private static Class<?> compilerClass = null;
|
private static Class<?> compilerClass = null;
|
||||||
|
|
||||||
public static File compileLibraryToJar(String sourcesPath) {
|
public static File compileLibraryToJar(String sourcesPath, boolean addSources) {
|
||||||
try {
|
try {
|
||||||
File contentDir = JetTestUtils.tmpDir("lib-content");
|
File contentDir = JetTestUtils.tmpDir("lib-content");
|
||||||
|
|
||||||
@@ -76,7 +75,9 @@ public class MockLibraryUtil {
|
|||||||
|
|
||||||
ZipOutputStream zip = new ZipOutputStream(new FileOutputStream(jarFile));
|
ZipOutputStream zip = new ZipOutputStream(new FileOutputStream(jarFile));
|
||||||
ZipUtil.addDirToZipRecursively(zip, jarFile, classesDir, "", null, null);
|
ZipUtil.addDirToZipRecursively(zip, jarFile, classesDir, "", null, null);
|
||||||
ZipUtil.addDirToZipRecursively(zip, jarFile, new File(sourcesPath), "src", null, null);
|
if (addSources) {
|
||||||
|
ZipUtil.addDirToZipRecursively(zip, jarFile, new File(sourcesPath), "src", null, null);
|
||||||
|
}
|
||||||
zip.close();
|
zip.close();
|
||||||
|
|
||||||
return jarFile;
|
return jarFile;
|
||||||
|
|||||||
@@ -59,10 +59,10 @@ public abstract class AbstractTopLevelMembersInvocationTest extends AbstractByte
|
|||||||
|
|
||||||
File library = new File(root, LIBRARY);
|
File library = new File(root, LIBRARY);
|
||||||
List<File> classPath = library.exists() ?
|
List<File> classPath = library.exists() ?
|
||||||
Collections.singletonList(MockLibraryUtil.compileLibraryToJar(library.getPath())) :
|
Collections.singletonList(MockLibraryUtil.compileLibraryToJar(library.getPath(), false)) :
|
||||||
Collections.<File>emptyList();
|
Collections.<File>emptyList();
|
||||||
|
|
||||||
assert !sourceFiles.isEmpty() : getTestName(true) + " should contains at least one .kt file";
|
assert !sourceFiles.isEmpty() : getTestName(true) + " should contain at least one .kt file";
|
||||||
Collections.sort(sourceFiles);
|
Collections.sort(sourceFiles);
|
||||||
|
|
||||||
myEnvironment = JetCoreEnvironment.createForTests(getTestRootDisposable(), JetTestUtils.compilerConfigurationForTests(
|
myEnvironment = JetCoreEnvironment.createForTests(getTestRootDisposable(), JetTestUtils.compilerConfigurationForTests(
|
||||||
|
|||||||
+5
-3
@@ -26,7 +26,9 @@ import org.jetbrains.jet.TestJdkKind;
|
|||||||
import org.jetbrains.jet.analyzer.AnalyzeExhaust;
|
import org.jetbrains.jet.analyzer.AnalyzeExhaust;
|
||||||
import org.jetbrains.jet.cli.jvm.compiler.JetCoreEnvironment;
|
import org.jetbrains.jet.cli.jvm.compiler.JetCoreEnvironment;
|
||||||
import org.jetbrains.jet.config.CompilerConfiguration;
|
import org.jetbrains.jet.config.CompilerConfiguration;
|
||||||
import org.jetbrains.jet.lang.descriptors.*;
|
import org.jetbrains.jet.lang.descriptors.ClassDescriptor;
|
||||||
|
import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor;
|
||||||
|
import org.jetbrains.jet.lang.descriptors.PackageViewDescriptor;
|
||||||
import org.jetbrains.jet.lang.resolve.AnalyzerScriptParameter;
|
import org.jetbrains.jet.lang.resolve.AnalyzerScriptParameter;
|
||||||
import org.jetbrains.jet.lang.resolve.java.AnalyzerFacadeForJVM;
|
import org.jetbrains.jet.lang.resolve.java.AnalyzerFacadeForJVM;
|
||||||
import org.jetbrains.jet.test.TestCaseWithTmpdir;
|
import org.jetbrains.jet.test.TestCaseWithTmpdir;
|
||||||
@@ -43,8 +45,8 @@ import java.util.jar.JarEntry;
|
|||||||
import java.util.jar.JarFile;
|
import java.util.jar.JarFile;
|
||||||
import java.util.zip.ZipOutputStream;
|
import java.util.zip.ZipOutputStream;
|
||||||
|
|
||||||
import static org.jetbrains.jet.test.util.RecursiveDescriptorComparator.validateAndCompareDescriptorWithFile;
|
|
||||||
import static org.jetbrains.jet.lang.resolve.DescriptorUtils.isObject;
|
import static org.jetbrains.jet.lang.resolve.DescriptorUtils.isObject;
|
||||||
|
import static org.jetbrains.jet.test.util.RecursiveDescriptorComparator.validateAndCompareDescriptorWithFile;
|
||||||
|
|
||||||
public class CompileKotlinAgainstCustomBinariesTest extends TestCaseWithTmpdir {
|
public class CompileKotlinAgainstCustomBinariesTest extends TestCaseWithTmpdir {
|
||||||
public static final String TEST_DATA_PATH = "compiler/testData/compileKotlinAgainstCustomBinaries/";
|
public static final String TEST_DATA_PATH = "compiler/testData/compileKotlinAgainstCustomBinaries/";
|
||||||
@@ -56,7 +58,7 @@ public class CompileKotlinAgainstCustomBinariesTest extends TestCaseWithTmpdir {
|
|||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
private File compileLibrary(@NotNull String sourcePath) {
|
private File compileLibrary(@NotNull String sourcePath) {
|
||||||
return MockLibraryUtil.compileLibraryToJar(new File(getTestDataDirectory(), sourcePath).getPath());
|
return MockLibraryUtil.compileLibraryToJar(new File(getTestDataDirectory(), sourcePath).getPath(), false);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void doTestWithTxt(@NotNull File... extraClassPath) throws Exception {
|
private void doTestWithTxt(@NotNull File... extraClassPath) throws Exception {
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ public class JdkAndMockLibraryProjectDescriptor extends JetLightProjectDescripto
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void configureModule(Module module, ModifiableRootModel model, ContentEntry contentEntry) {
|
public void configureModule(Module module, ModifiableRootModel model, ContentEntry contentEntry) {
|
||||||
File libraryJar = MockLibraryUtil.compileLibraryToJar(sourcesPath);
|
File libraryJar = MockLibraryUtil.compileLibraryToJar(sourcesPath, withSources);
|
||||||
String jarUrl = "jar://" + FileUtilRt.toSystemIndependentName(libraryJar.getAbsolutePath()) + "!/";
|
String jarUrl = "jar://" + FileUtilRt.toSystemIndependentName(libraryJar.getAbsolutePath()) + "!/";
|
||||||
|
|
||||||
Library.ModifiableModel libraryModel = model.getModuleLibraryTable().getModifiableModel().createLibrary("myKotlinLib").getModifiableModel();
|
Library.ModifiableModel libraryModel = model.getModuleLibraryTable().getModifiableModel().createLibrary("myKotlinLib").getModifiableModel();
|
||||||
|
|||||||
Reference in New Issue
Block a user