diff --git a/compiler/testData/codegen/topLevelMemberInvocation/twoModules/a.jar b/compiler/testData/codegen/topLevelMemberInvocation/twoModules/a.jar deleted file mode 100644 index 8307a0930ff..00000000000 Binary files a/compiler/testData/codegen/topLevelMemberInvocation/twoModules/a.jar and /dev/null differ diff --git a/compiler/testData/codegen/topLevelMemberInvocation/twoModules/a.kt.txt b/compiler/testData/codegen/topLevelMemberInvocation/twoModules/library/source.kt similarity index 100% rename from compiler/testData/codegen/topLevelMemberInvocation/twoModules/a.kt.txt rename to compiler/testData/codegen/topLevelMemberInvocation/twoModules/library/source.kt diff --git a/idea/tests/org/jetbrains/jet/plugin/MockLibraryUtil.java b/compiler/tests/org/jetbrains/jet/MockLibraryUtil.java similarity index 82% rename from idea/tests/org/jetbrains/jet/plugin/MockLibraryUtil.java rename to compiler/tests/org/jetbrains/jet/MockLibraryUtil.java index 66df0c80511..242da1d7140 100644 --- a/idea/tests/org/jetbrains/jet/plugin/MockLibraryUtil.java +++ b/compiler/tests/org/jetbrains/jet/MockLibraryUtil.java @@ -1,8 +1,23 @@ -package org.jetbrains.jet.plugin; +/* + * Copyright 2010-2013 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.jetbrains.jet; import com.intellij.util.io.ZipUtil; import org.jetbrains.annotations.NotNull; -import org.jetbrains.jet.JetTestUtils; import org.jetbrains.jet.cli.common.ExitCode; import org.jetbrains.jet.cli.jvm.K2JVMCompiler; import org.jetbrains.jet.utils.ExceptionUtils; diff --git a/compiler/tests/org/jetbrains/jet/codegen/AbstractTopLevelMembersInvocationTest.java b/compiler/tests/org/jetbrains/jet/codegen/AbstractTopLevelMembersInvocationTest.java index e557d279423..5f7e6d62e4e 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/AbstractTopLevelMembersInvocationTest.java +++ b/compiler/tests/org/jetbrains/jet/codegen/AbstractTopLevelMembersInvocationTest.java @@ -21,6 +21,7 @@ import com.intellij.util.Processor; import org.jetbrains.annotations.NotNull; import org.jetbrains.jet.ConfigurationKind; import org.jetbrains.jet.JetTestUtils; +import org.jetbrains.jet.MockLibraryUtil; import org.jetbrains.jet.TestJdkKind; import org.jetbrains.jet.cli.jvm.compiler.JetCoreEnvironment; @@ -31,24 +32,27 @@ import java.util.Collections; import java.util.List; public abstract class AbstractTopLevelMembersInvocationTest extends AbstractBytecodeTextTest { - + @Override public void doTest(@NotNull String filename) throws Exception { + final File root = new File(filename); final List sourceFiles = new ArrayList(2); - final List classPath = new ArrayList(1); - FileUtil.processFilesRecursively(new File(filename), new Processor() { + FileUtil.processFilesRecursively(root, new Processor() { @Override public boolean process(File file) { if (file.getName().endsWith(".kt")) { sourceFiles.add(file.getPath().substring("compiler/testData/codegen/".length())); + return true; } - else if (file.getName().endsWith(".jar")) { - classPath.add(file); - } - return true; + return FileUtil.filesEqual(file, root); } }); + File library = new File(root, "library"); + List classPath = library.exists() ? + Collections.singletonList(MockLibraryUtil.compileLibraryToJar(library.getPath())) : + Collections.emptyList(); + assert !sourceFiles.isEmpty() : getTestName(true) + " should contains at least one .kt file"; Collections.sort(sourceFiles); diff --git a/generators/src/org/jetbrains/jet/generators/tests/CompileBinaryTestData.kt b/generators/src/org/jetbrains/jet/generators/tests/CompileBinaryTestData.kt index d2afcb57bfb..01b3a5c59f1 100644 --- a/generators/src/org/jetbrains/jet/generators/tests/CompileBinaryTestData.kt +++ b/generators/src/org/jetbrains/jet/generators/tests/CompileBinaryTestData.kt @@ -45,12 +45,6 @@ Retention(RetentionPolicy.RUNTIME) private annotation class GenScript(val dir: String, val source: String, val binary: String) private object BinaryTestData { - GenScript("compiler/testData/codegen/topLevelMemberInvocation/twoModules", "a.kt", "a.jar") - fun genTwoModules() { - jar("a.jar", "a") - rm("a") - } - GenScript("compiler/testData/compileKotlinAgainstBinariesCustom/brokenJarWithNoClassForObjectProperty", "source.kt", "broken.jar") fun genBrokenJarWithNoClassForObjectProperty() { rm("test/Lol.class") diff --git a/idea/tests/org/jetbrains/jet/plugin/JdkAndMockLibraryProjectDescriptor.java b/idea/tests/org/jetbrains/jet/plugin/JdkAndMockLibraryProjectDescriptor.java index 49282ca6d2d..043118f7476 100644 --- a/idea/tests/org/jetbrains/jet/plugin/JdkAndMockLibraryProjectDescriptor.java +++ b/idea/tests/org/jetbrains/jet/plugin/JdkAndMockLibraryProjectDescriptor.java @@ -6,6 +6,7 @@ import com.intellij.openapi.roots.ModifiableRootModel; import com.intellij.openapi.roots.OrderRootType; import com.intellij.openapi.roots.libraries.Library; import com.intellij.openapi.util.io.FileUtilRt; +import org.jetbrains.jet.MockLibraryUtil; import java.io.File;