From 36936e0a6b0d1f27b4baab9eee8b7878f66e7a0f Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Thu, 6 Mar 2014 19:52:48 +0400 Subject: [PATCH] Minor fix in tests for sources appearing in libraries --- compiler/tests/org/jetbrains/jet/MockLibraryUtil.java | 9 +++++---- .../codegen/AbstractTopLevelMembersInvocationTest.java | 4 ++-- .../compiler/CompileKotlinAgainstCustomBinariesTest.java | 8 +++++--- .../jet/plugin/JdkAndMockLibraryProjectDescriptor.java | 2 +- 4 files changed, 13 insertions(+), 10 deletions(-) diff --git a/compiler/tests/org/jetbrains/jet/MockLibraryUtil.java b/compiler/tests/org/jetbrains/jet/MockLibraryUtil.java index f2ff9ab534d..4020cf5a296 100644 --- a/compiler/tests/org/jetbrains/jet/MockLibraryUtil.java +++ b/compiler/tests/org/jetbrains/jet/MockLibraryUtil.java @@ -24,15 +24,14 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.jet.cli.common.ExitCode; import org.jetbrains.jet.cli.jvm.K2JVMCompiler; import org.jetbrains.jet.codegen.forTestCompile.ForTestCompileRuntime; -import org.jetbrains.jet.utils.UtilsPackage; import org.jetbrains.jet.utils.PathUtil; +import org.jetbrains.jet.utils.UtilsPackage; import java.io.*; import java.lang.reflect.Method; import java.net.MalformedURLException; import java.net.URL; import java.net.URLClassLoader; -import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.regex.Pattern; @@ -44,7 +43,7 @@ public class MockLibraryUtil { private static Class compilerClass = null; - public static File compileLibraryToJar(String sourcesPath) { + public static File compileLibraryToJar(String sourcesPath, boolean addSources) { try { File contentDir = JetTestUtils.tmpDir("lib-content"); @@ -76,7 +75,9 @@ public class MockLibraryUtil { ZipOutputStream zip = new ZipOutputStream(new FileOutputStream(jarFile)); 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(); return jarFile; diff --git a/compiler/tests/org/jetbrains/jet/codegen/AbstractTopLevelMembersInvocationTest.java b/compiler/tests/org/jetbrains/jet/codegen/AbstractTopLevelMembersInvocationTest.java index 93eab297cc9..b0b05c8892b 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/AbstractTopLevelMembersInvocationTest.java +++ b/compiler/tests/org/jetbrains/jet/codegen/AbstractTopLevelMembersInvocationTest.java @@ -59,10 +59,10 @@ public abstract class AbstractTopLevelMembersInvocationTest extends AbstractByte File library = new File(root, LIBRARY); List classPath = library.exists() ? - Collections.singletonList(MockLibraryUtil.compileLibraryToJar(library.getPath())) : + Collections.singletonList(MockLibraryUtil.compileLibraryToJar(library.getPath(), false)) : Collections.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); myEnvironment = JetCoreEnvironment.createForTests(getTestRootDisposable(), JetTestUtils.compilerConfigurationForTests( diff --git a/compiler/tests/org/jetbrains/jet/jvm/compiler/CompileKotlinAgainstCustomBinariesTest.java b/compiler/tests/org/jetbrains/jet/jvm/compiler/CompileKotlinAgainstCustomBinariesTest.java index deb567300da..f9f79f7ce88 100644 --- a/compiler/tests/org/jetbrains/jet/jvm/compiler/CompileKotlinAgainstCustomBinariesTest.java +++ b/compiler/tests/org/jetbrains/jet/jvm/compiler/CompileKotlinAgainstCustomBinariesTest.java @@ -26,7 +26,9 @@ import org.jetbrains.jet.TestJdkKind; import org.jetbrains.jet.analyzer.AnalyzeExhaust; import org.jetbrains.jet.cli.jvm.compiler.JetCoreEnvironment; 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.java.AnalyzerFacadeForJVM; import org.jetbrains.jet.test.TestCaseWithTmpdir; @@ -43,8 +45,8 @@ import java.util.jar.JarEntry; import java.util.jar.JarFile; 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.test.util.RecursiveDescriptorComparator.validateAndCompareDescriptorWithFile; public class CompileKotlinAgainstCustomBinariesTest extends TestCaseWithTmpdir { public static final String TEST_DATA_PATH = "compiler/testData/compileKotlinAgainstCustomBinaries/"; @@ -56,7 +58,7 @@ public class CompileKotlinAgainstCustomBinariesTest extends TestCaseWithTmpdir { @NotNull 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 { diff --git a/idea/tests/org/jetbrains/jet/plugin/JdkAndMockLibraryProjectDescriptor.java b/idea/tests/org/jetbrains/jet/plugin/JdkAndMockLibraryProjectDescriptor.java index 043118f7476..e041e4333bc 100644 --- a/idea/tests/org/jetbrains/jet/plugin/JdkAndMockLibraryProjectDescriptor.java +++ b/idea/tests/org/jetbrains/jet/plugin/JdkAndMockLibraryProjectDescriptor.java @@ -21,7 +21,7 @@ public class JdkAndMockLibraryProjectDescriptor extends JetLightProjectDescripto @Override 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()) + "!/"; Library.ModifiableModel libraryModel = model.getModuleLibraryTable().getModifiableModel().createLibrary("myKotlinLib").getModifiableModel();