diff --git a/compiler/testData/compileKotlinAgainstBinariesCustom/brokenJarWithNoClassForObjectProperty/broken.jar b/compiler/testData/compileKotlinAgainstCustomBinaries/brokenJarWithNoClassForObjectProperty/broken.jar similarity index 100% rename from compiler/testData/compileKotlinAgainstBinariesCustom/brokenJarWithNoClassForObjectProperty/broken.jar rename to compiler/testData/compileKotlinAgainstCustomBinaries/brokenJarWithNoClassForObjectProperty/broken.jar diff --git a/compiler/testData/compileKotlinAgainstBinariesCustom/brokenJarWithNoClassForObjectProperty/brokenJarWithNoClassForObjectProperty.kt b/compiler/testData/compileKotlinAgainstCustomBinaries/brokenJarWithNoClassForObjectProperty/brokenJarWithNoClassForObjectProperty.kt similarity index 100% rename from compiler/testData/compileKotlinAgainstBinariesCustom/brokenJarWithNoClassForObjectProperty/brokenJarWithNoClassForObjectProperty.kt rename to compiler/testData/compileKotlinAgainstCustomBinaries/brokenJarWithNoClassForObjectProperty/brokenJarWithNoClassForObjectProperty.kt diff --git a/compiler/testData/compileKotlinAgainstBinariesCustom/brokenJarWithNoClassForObjectProperty/source.kt.txt b/compiler/testData/compileKotlinAgainstCustomBinaries/brokenJarWithNoClassForObjectProperty/source.kt.txt similarity index 100% rename from compiler/testData/compileKotlinAgainstBinariesCustom/brokenJarWithNoClassForObjectProperty/source.kt.txt rename to compiler/testData/compileKotlinAgainstCustomBinaries/brokenJarWithNoClassForObjectProperty/source.kt.txt diff --git a/compiler/testData/compileKotlinAgainstBinariesCustom/duplicateObjectInBinaryAndSources/duplicateObjectInBinaryAndSources.kt b/compiler/testData/compileKotlinAgainstCustomBinaries/duplicateObjectInBinaryAndSources/duplicateObjectInBinaryAndSources.kt similarity index 100% rename from compiler/testData/compileKotlinAgainstBinariesCustom/duplicateObjectInBinaryAndSources/duplicateObjectInBinaryAndSources.kt rename to compiler/testData/compileKotlinAgainstCustomBinaries/duplicateObjectInBinaryAndSources/duplicateObjectInBinaryAndSources.kt diff --git a/compiler/testData/compileKotlinAgainstBinariesCustom/duplicateObjectInBinaryAndSources/objectBinaries.jar b/compiler/testData/compileKotlinAgainstCustomBinaries/duplicateObjectInBinaryAndSources/objectBinaries.jar similarity index 100% rename from compiler/testData/compileKotlinAgainstBinariesCustom/duplicateObjectInBinaryAndSources/objectBinaries.jar rename to compiler/testData/compileKotlinAgainstCustomBinaries/duplicateObjectInBinaryAndSources/objectBinaries.jar diff --git a/compiler/testData/compileKotlinAgainstBinariesCustom/duplicateObjectInBinaryAndSources/source.kt.txt b/compiler/testData/compileKotlinAgainstCustomBinaries/duplicateObjectInBinaryAndSources/source.kt.txt similarity index 100% rename from compiler/testData/compileKotlinAgainstBinariesCustom/duplicateObjectInBinaryAndSources/source.kt.txt rename to compiler/testData/compileKotlinAgainstCustomBinaries/duplicateObjectInBinaryAndSources/source.kt.txt diff --git a/compiler/tests/org/jetbrains/jet/jvm/compiler/CompileKotlinAgainstBinariesCustomTest.java b/compiler/tests/org/jetbrains/jet/jvm/compiler/CompileKotlinAgainstBinariesCustomTest.java deleted file mode 100644 index f45ab588898..00000000000 --- a/compiler/tests/org/jetbrains/jet/jvm/compiler/CompileKotlinAgainstBinariesCustomTest.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * 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.jvm.compiler; - -import org.jetbrains.annotations.NotNull; -import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor; -import org.jetbrains.jet.lang.descriptors.VariableDescriptorForObject; -import org.jetbrains.jet.lang.types.ErrorUtils; - -import java.io.File; -import java.io.IOException; -import java.util.Collection; - -public final class CompileKotlinAgainstBinariesCustomTest extends AbstractCompileKotlinAgainstCustomBinariesTest { - public static final String TEST_DATA_PATH = "compiler/testData/compileKotlinAgainstBinariesCustom/"; - - @NotNull - private Collection analyzeAndGetAllDescriptors() throws IOException { - String testName = getTestName(true); - File ktFile = new File(TEST_DATA_PATH + testName, testName + ".kt"); - return analyzeFileToNamespace(ktFile).getMemberScope().getAllDescriptors(); - } - - public void testDuplicateObjectInBinaryAndSources() throws Exception { - Collection allDescriptors = analyzeAndGetAllDescriptors(); - assertEquals(allDescriptors.size(), 2); - for (DeclarationDescriptor descriptor : allDescriptors) { - assertTrue(descriptor.getName().asString().equals("Lol")); - assertTrue(descriptor instanceof VariableDescriptorForObject); - assertFalse("Object property should have valid class", - ErrorUtils.isError(((VariableDescriptorForObject) descriptor).getObjectClass())); - } - } - - public void testBrokenJarWithNoClassForObjectProperty() throws Exception { - Collection allDescriptors = analyzeAndGetAllDescriptors(); - assertEquals(allDescriptors.size(), 1); - DeclarationDescriptor descriptor = allDescriptors.iterator().next(); - assertTrue(descriptor.getName().asString().equals("Lol")); - assertTrue(descriptor instanceof VariableDescriptorForObject); - assertTrue("Object property should have an error class", - ErrorUtils.isError(((VariableDescriptorForObject) descriptor).getObjectClass())); - } -} diff --git a/compiler/tests/org/jetbrains/jet/jvm/compiler/CompileKotlinAgainstCustomBinariesGenerated.java b/compiler/tests/org/jetbrains/jet/jvm/compiler/CompileKotlinAgainstCustomBinariesGenerated.java deleted file mode 100644 index 4a24808fbf4..00000000000 --- a/compiler/tests/org/jetbrains/jet/jvm/compiler/CompileKotlinAgainstCustomBinariesGenerated.java +++ /dev/null @@ -1,73 +0,0 @@ -/* - * 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.jvm.compiler; - -import junit.framework.Assert; -import junit.framework.Test; -import junit.framework.TestSuite; - -import java.io.File; -import java.util.regex.Pattern; -import org.jetbrains.jet.JetTestUtils; -import org.jetbrains.jet.test.InnerTestClasses; -import org.jetbrains.jet.test.TestMetadata; - -import org.jetbrains.jet.jvm.compiler.AbstractCompileKotlinAgainstCustomBinariesTest; - -/** This class is generated by {@link org.jetbrains.jet.generators.tests.GenerateTests}. DO NOT MODIFY MANUALLY */ -@SuppressWarnings("all") -@TestMetadata("compiler/testData/compileKotlinAgainstCustomBinaries") -@InnerTestClasses({CompileKotlinAgainstCustomBinariesGenerated.DuplicateLibraries.class, CompileKotlinAgainstCustomBinariesGenerated.MissingEnumReferencedInAnnotation.class}) -public class CompileKotlinAgainstCustomBinariesGenerated extends AbstractCompileKotlinAgainstCustomBinariesTest { - public void testAllFilesPresentInCompileKotlinAgainstCustomBinaries() throws Exception { - JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.GenerateTests", new File("compiler/testData/compileKotlinAgainstCustomBinaries"), Pattern.compile("^(.+)\\.kt$"), true); - } - - @TestMetadata("compiler/testData/compileKotlinAgainstCustomBinaries/duplicateLibraries") - public static class DuplicateLibraries extends AbstractCompileKotlinAgainstCustomBinariesTest { - public void testAllFilesPresentInDuplicateLibraries() throws Exception { - JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.GenerateTests", new File("compiler/testData/compileKotlinAgainstCustomBinaries/duplicateLibraries"), Pattern.compile("^(.+)\\.kt$"), true); - } - - @TestMetadata("DuplicateLibraries.kt") - public void testDuplicateLibraries() throws Exception { - doTest("compiler/testData/compileKotlinAgainstCustomBinaries/duplicateLibraries/DuplicateLibraries.kt"); - } - - } - - @TestMetadata("compiler/testData/compileKotlinAgainstCustomBinaries/missingEnumReferencedInAnnotation") - public static class MissingEnumReferencedInAnnotation extends AbstractCompileKotlinAgainstCustomBinariesTest { - public void testAllFilesPresentInMissingEnumReferencedInAnnotation() throws Exception { - JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.GenerateTests", new File("compiler/testData/compileKotlinAgainstCustomBinaries/missingEnumReferencedInAnnotation"), Pattern.compile("^(.+)\\.kt$"), true); - } - - @TestMetadata("MissingEnumReferencedInAnnotation.kt") - public void testMissingEnumReferencedInAnnotation() throws Exception { - doTest("compiler/testData/compileKotlinAgainstCustomBinaries/missingEnumReferencedInAnnotation/MissingEnumReferencedInAnnotation.kt"); - } - - } - - public static Test suite() { - TestSuite suite = new TestSuite("CompileKotlinAgainstCustomBinariesGenerated"); - suite.addTestSuite(CompileKotlinAgainstCustomBinariesGenerated.class); - suite.addTestSuite(DuplicateLibraries.class); - suite.addTestSuite(MissingEnumReferencedInAnnotation.class); - return suite; - } -} diff --git a/compiler/tests/org/jetbrains/jet/jvm/compiler/AbstractCompileKotlinAgainstCustomBinariesTest.java b/compiler/tests/org/jetbrains/jet/jvm/compiler/CompileKotlinAgainstCustomBinariesTest.java similarity index 58% rename from compiler/tests/org/jetbrains/jet/jvm/compiler/AbstractCompileKotlinAgainstCustomBinariesTest.java rename to compiler/tests/org/jetbrains/jet/jvm/compiler/CompileKotlinAgainstCustomBinariesTest.java index 3bdd7cdd751..7a310cf1c63 100644 --- a/compiler/tests/org/jetbrains/jet/jvm/compiler/AbstractCompileKotlinAgainstCustomBinariesTest.java +++ b/compiler/tests/org/jetbrains/jet/jvm/compiler/CompileKotlinAgainstCustomBinariesTest.java @@ -26,16 +26,20 @@ import org.jetbrains.jet.JetTestUtils; import org.jetbrains.jet.TestJdkKind; import org.jetbrains.jet.cli.jvm.compiler.JetCoreEnvironment; import org.jetbrains.jet.config.CompilerConfiguration; +import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor; import org.jetbrains.jet.lang.descriptors.NamespaceDescriptor; +import org.jetbrains.jet.lang.descriptors.VariableDescriptorForObject; import org.jetbrains.jet.lang.resolve.AnalyzerScriptParameter; import org.jetbrains.jet.lang.resolve.BindingContext; import org.jetbrains.jet.lang.resolve.java.AnalyzerFacadeForJVM; +import org.jetbrains.jet.lang.types.ErrorUtils; import org.jetbrains.jet.test.TestCaseWithTmpdir; import org.jetbrains.jet.test.util.DescriptorValidator; import org.jetbrains.jet.test.util.NamespaceComparator; import java.io.File; import java.io.IOException; +import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.concurrent.CopyOnWriteArrayList; @@ -43,10 +47,11 @@ import java.util.regex.Pattern; import static org.jetbrains.jet.test.util.NamespaceComparator.validateAndCompareNamespaceWithFile; -public abstract class AbstractCompileKotlinAgainstCustomBinariesTest extends TestCaseWithTmpdir { - protected void doTest(@NotNull String ktFilePath) throws Exception { - assertTrue(ktFilePath.endsWith(".kt")); - File ktFile = new File(ktFilePath); +public class CompileKotlinAgainstCustomBinariesTest extends TestCaseWithTmpdir { + public static final String TEST_DATA_PATH = "compiler/testData/compileKotlinAgainstCustomBinaries/"; + + private void doTestWithTxt() throws Exception { + File ktFile = new File(TEST_DATA_PATH + getTestName(true), getTestName(false) + ".kt"); NamespaceDescriptor namespace = analyzeFileToNamespace(ktFile); @@ -57,8 +62,8 @@ public abstract class AbstractCompileKotlinAgainstCustomBinariesTest extends Tes } @NotNull - protected NamespaceDescriptor analyzeFileToNamespace(@NotNull File ktFile) throws IOException { - Project project = getEnvironment(ktFile.getParentFile()).getProject(); + private NamespaceDescriptor analyzeFileToNamespace(@NotNull File ktFile) throws IOException { + Project project = createEnvironment(ktFile.getParentFile()).getProject(); BindingContext bindingContext = AnalyzerFacadeForJVM.analyzeOneFileWithJavaIntegration( JetTestUtils.loadJetFile(project, ktFile), @@ -72,7 +77,7 @@ public abstract class AbstractCompileKotlinAgainstCustomBinariesTest extends Tes } @NotNull - private JetCoreEnvironment getEnvironment(@NotNull File dir) { + private JetCoreEnvironment createEnvironment(@NotNull File dir) { List jarFiles = FileUtil.findFilesByMask(Pattern.compile("^.*\\.jar$"), dir); CopyOnWriteArrayList extras = Lists.newCopyOnWriteArrayList(); @@ -85,4 +90,40 @@ public abstract class AbstractCompileKotlinAgainstCustomBinariesTest extends Tes return new JetCoreEnvironment(getTestRootDisposable(), configurationWithADirInClasspath); } + + @NotNull + private Collection analyzeAndGetAllDescriptors() throws IOException { + String testName = getTestName(true); + File ktFile = new File(TEST_DATA_PATH + testName, testName + ".kt"); + return analyzeFileToNamespace(ktFile).getMemberScope().getAllDescriptors(); + } + + public void testDuplicateObjectInBinaryAndSources() throws Exception { + Collection allDescriptors = analyzeAndGetAllDescriptors(); + assertEquals(allDescriptors.size(), 2); + for (DeclarationDescriptor descriptor : allDescriptors) { + assertTrue(descriptor.getName().asString().equals("Lol")); + assertTrue(descriptor instanceof VariableDescriptorForObject); + assertFalse("Object property should have valid class", + ErrorUtils.isError(((VariableDescriptorForObject) descriptor).getObjectClass())); + } + } + + public void testBrokenJarWithNoClassForObjectProperty() throws Exception { + Collection allDescriptors = analyzeAndGetAllDescriptors(); + assertEquals(allDescriptors.size(), 1); + DeclarationDescriptor descriptor = allDescriptors.iterator().next(); + assertTrue(descriptor.getName().asString().equals("Lol")); + assertTrue(descriptor instanceof VariableDescriptorForObject); + assertTrue("Object property should have an error class", + ErrorUtils.isError(((VariableDescriptorForObject) descriptor).getObjectClass())); + } + + public void testDuplicateLibraries() throws Exception { + doTestWithTxt(); + } + + public void testMissingEnumReferencedInAnnotation() throws Exception { + doTestWithTxt(); + } } diff --git a/generators/src/org/jetbrains/jet/generators/tests/GenerateTests.java b/generators/src/org/jetbrains/jet/generators/tests/GenerateTests.java index b277cb8c7a1..abb741a4949 100644 --- a/generators/src/org/jetbrains/jet/generators/tests/GenerateTests.java +++ b/generators/src/org/jetbrains/jet/generators/tests/GenerateTests.java @@ -208,13 +208,6 @@ public class GenerateTests { testModel("compiler/testData/compileKotlinAgainstKotlin", true, "A.kt", "doTest") ); - generateTest( - "compiler/tests/", - "CompileKotlinAgainstCustomBinariesGenerated", - AbstractCompileKotlinAgainstCustomBinariesTest.class, - testModel("compiler/testData/compileKotlinAgainstCustomBinaries") - ); - generateTest( "compiler/tests/", "LazyResolveDescriptorRendererTestGenerated",