[TEST] Invert dependency between :test-generator and :tests-common modules
This is needed to provide ability for declaring new implementations of test generators, based on existing infrastructure, which won't add dependency on :compiler:tests-common Also this commit removes implicit dependency on :compiler:tests-common from :compiler:tests-common-new
This commit is contained in:
+1
-1
@@ -6,7 +6,7 @@
|
||||
package org.jetbrains.kotlin.generators.tests
|
||||
|
||||
import org.jetbrains.kotlin.codegen.ir.AbstractCompileKotlinAgainstKlibTest
|
||||
import org.jetbrains.kotlin.generators.generateTestGroupSuite
|
||||
import org.jetbrains.kotlin.generators.impl.generateTestGroupSuite
|
||||
import org.jetbrains.kotlin.test.TargetBackend
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
|
||||
Generated
+1
-1
@@ -14,7 +14,7 @@ import org.junit.jupiter.api.Test;
|
||||
import java.io.File;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
/** This class is generated by {@link org.jetbrains.kotlin.generators.tests.TestsPackage}. DO NOT MODIFY MANUALLY */
|
||||
/** This class is generated by {@link GenerateNewCompilerTests.kt}. DO NOT MODIFY MANUALLY */
|
||||
@SuppressWarnings("all")
|
||||
public class DiagnosticTestGenerated extends AbstractDiagnosticTest {
|
||||
@Nested
|
||||
|
||||
+1
-1
@@ -14,7 +14,7 @@ import org.junit.jupiter.api.Test;
|
||||
import java.io.File;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
/** This class is generated by {@link org.jetbrains.kotlin.generators.tests.TestsPackage}. DO NOT MODIFY MANUALLY */
|
||||
/** This class is generated by {@link GenerateNewCompilerTests.kt}. DO NOT MODIFY MANUALLY */
|
||||
@SuppressWarnings("all")
|
||||
@TestMetadata("compiler/testData/diagnostics/tests/javac")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
|
||||
+1
-1
@@ -14,7 +14,7 @@ import org.junit.jupiter.api.Test;
|
||||
import java.io.File;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
/** This class is generated by {@link org.jetbrains.kotlin.generators.tests.TestsPackage}. DO NOT MODIFY MANUALLY */
|
||||
/** This class is generated by {@link GenerateNewCompilerTests.kt}. DO NOT MODIFY MANUALLY */
|
||||
@SuppressWarnings("all")
|
||||
public class FirDiagnosticTestGenerated extends AbstractFirDiagnosticTest {
|
||||
@Nested
|
||||
|
||||
+1
-1
@@ -14,7 +14,7 @@ import org.junit.jupiter.api.Test;
|
||||
import java.io.File;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
/** This class is generated by {@link org.jetbrains.kotlin.generators.tests.TestsPackage}. DO NOT MODIFY MANUALLY */
|
||||
/** This class is generated by {@link GenerateNewCompilerTests.kt}. DO NOT MODIFY MANUALLY */
|
||||
@SuppressWarnings("all")
|
||||
public class FirOldFrontendDiagnosticsTestGenerated extends AbstractFirDiagnosticTest {
|
||||
@Nested
|
||||
|
||||
+2
@@ -36,3 +36,5 @@ fun main(args: Array<String>) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const val TEST_GENERATOR_NAME = "GenerateNewCompilerTests.kt"
|
||||
|
||||
+5
-12
@@ -8,10 +8,11 @@ package org.jetbrains.kotlin.test.generators
|
||||
import org.jetbrains.kotlin.generators.MethodGenerator
|
||||
import org.jetbrains.kotlin.generators.TestGenerator
|
||||
import org.jetbrains.kotlin.generators.TestGroup
|
||||
import org.jetbrains.kotlin.generators.impl.*
|
||||
import org.jetbrains.kotlin.generators.impl.SimpleTestClassModelTestAllFilesPresentMethodGenerator
|
||||
import org.jetbrains.kotlin.generators.impl.SimpleTestMethodGenerator
|
||||
import org.jetbrains.kotlin.generators.impl.SingleClassTestModelAllFilesPresentedMethodGenerator
|
||||
import org.jetbrains.kotlin.generators.model.*
|
||||
import org.jetbrains.kotlin.generators.util.GeneratorsFileUtil
|
||||
import org.jetbrains.kotlin.test.KotlinTestUtils
|
||||
import org.jetbrains.kotlin.test.TestMetadata
|
||||
import org.jetbrains.kotlin.test.util.KtTestUtil
|
||||
import org.jetbrains.kotlin.utils.Printer
|
||||
@@ -22,7 +23,6 @@ import java.io.IOException
|
||||
import java.util.*
|
||||
|
||||
private val METHOD_GENERATORS = listOf(
|
||||
RunTestMethodGenerator,
|
||||
SimpleTestClassModelTestAllFilesPresentMethodGenerator,
|
||||
SimpleTestMethodGenerator,
|
||||
SingleClassTestModelAllFilesPresentedMethodGenerator
|
||||
@@ -82,15 +82,8 @@ object NewTestGeneratorImpl : TestGenerator(METHOD_GENERATORS) {
|
||||
suiteTestClassFqName: String,
|
||||
baseTestClassFqName: String,
|
||||
private val testClassModels: Collection<TestClassModel>,
|
||||
methodGenerators: Map<MethodModel.Kind, MethodGenerator<*>>
|
||||
private val methodGenerators: Map<MethodModel.Kind, MethodGenerator<*>>
|
||||
) {
|
||||
private val methodGenerators = methodGenerators.toMutableMap().apply {
|
||||
val newGenerator = this.computeIfPresent(CoroutinesTestMethodModel.Kind) { _, _ ->
|
||||
SimpleTestMethodGenerator
|
||||
} ?: return@apply
|
||||
this[CoroutinesTestMethodModel.Kind] = newGenerator
|
||||
}
|
||||
|
||||
private val baseTestClassPackage: String = baseTestClassFqName.substringBeforeLast('.', "")
|
||||
private val baseTestClassName: String = baseTestClassFqName.substringAfterLast('.', baseTestClassFqName)
|
||||
private val suiteClassPackage: String = suiteTestClassFqName.substringBeforeLast('.', baseTestClassPackage)
|
||||
@@ -148,7 +141,7 @@ object NewTestGeneratorImpl : TestGenerator(METHOD_GENERATORS) {
|
||||
p.println("import java.io.File;")
|
||||
p.println("import java.util.regex.Pattern;")
|
||||
p.println()
|
||||
p.println("/** This class is generated by {@link ", KotlinTestUtils.TEST_GENERATOR_NAME, "}. DO NOT MODIFY MANUALLY */")
|
||||
p.println("/** This class is generated by {@link ", TEST_GENERATOR_NAME, "}. DO NOT MODIFY MANUALLY */")
|
||||
|
||||
p.generateSuppressAllWarnings()
|
||||
|
||||
|
||||
@@ -45,6 +45,8 @@ dependencies {
|
||||
testCompile(project(":js:js.translator"))
|
||||
testCompile(project(":native:frontend.native"))
|
||||
testCompileOnly(project(":plugins:android-extensions-compiler"))
|
||||
testApi(projectTests(":generators:test-generator"))
|
||||
testCompile(projectTests(":compiler:tests-classic-compiler-utils"))
|
||||
testCompile(project(":kotlin-test:kotlin-test-jvm"))
|
||||
testCompile(projectTests(":compiler:tests-common-jvm6"))
|
||||
testCompile(project(":kotlin-scripting-compiler-impl"))
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
/*
|
||||
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.generators.impl
|
||||
|
||||
import org.jetbrains.kotlin.generators.InconsistencyChecker
|
||||
import org.jetbrains.kotlin.generators.InconsistencyChecker.Companion.inconsistencyChecker
|
||||
import org.jetbrains.kotlin.generators.TestGroupSuite
|
||||
import org.jetbrains.kotlin.generators.testGroupSuite
|
||||
|
||||
fun generateTestGroupSuite(
|
||||
args: Array<String>,
|
||||
init: TestGroupSuite.() -> Unit
|
||||
) {
|
||||
generateTestGroupSuite(InconsistencyChecker.hasDryRunArg(args), init)
|
||||
}
|
||||
|
||||
fun generateTestGroupSuite(
|
||||
dryRun: Boolean = false,
|
||||
init: TestGroupSuite.() -> Unit
|
||||
) {
|
||||
val suite = testGroupSuite(init)
|
||||
for (testGroup in suite.testGroups) {
|
||||
for (testClass in testGroup.testClasses) {
|
||||
val (changed, testSourceFilePath) = TestGeneratorImpl.generateAndSave(testClass, dryRun)
|
||||
if (changed) {
|
||||
inconsistencyChecker(dryRun).add(testSourceFilePath)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Generated
+1
-1
@@ -15,7 +15,7 @@ import org.junit.runner.RunWith;
|
||||
import java.io.File;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
/** This class is generated by {@link org.jetbrains.kotlin.generators.tests.TestsPackage}. DO NOT MODIFY MANUALLY */
|
||||
/** This class is generated by {@link GenerateNewCompilerTests.kt}. DO NOT MODIFY MANUALLY */
|
||||
@SuppressWarnings("all")
|
||||
@TestMetadata("compiler/testData/diagnostics/testsWithJsStdLib")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
|
||||
+1
-1
@@ -21,7 +21,7 @@ import org.jetbrains.kotlin.checkers.AbstractForeignJava8AnnotationsNoAnnotation
|
||||
import org.jetbrains.kotlin.checkers.AbstractForeignJava8AnnotationsTest
|
||||
import org.jetbrains.kotlin.checkers.AbstractJspecifyAnnotationsTest
|
||||
import org.jetbrains.kotlin.checkers.javac.AbstractJavacForeignJava8AnnotationsTest
|
||||
import org.jetbrains.kotlin.generators.generateTestGroupSuite
|
||||
import org.jetbrains.kotlin.generators.impl.generateTestGroupSuite
|
||||
import org.jetbrains.kotlin.jvm.compiler.AbstractLoadJava8Test
|
||||
import org.jetbrains.kotlin.jvm.compiler.AbstractLoadJava8WithPsiClassReadingTest
|
||||
import org.jetbrains.kotlin.jvm.compiler.javac.AbstractLoadJava8UsingJavacTest
|
||||
|
||||
+1
-1
@@ -5,7 +5,7 @@
|
||||
|
||||
package org.jetbrains.kotlin.spec.utils.tasks
|
||||
|
||||
import org.jetbrains.kotlin.generators.generateTestGroupSuite
|
||||
import org.jetbrains.kotlin.generators.impl.generateTestGroupSuite
|
||||
import org.jetbrains.kotlin.spec.checkers.AbstractDiagnosticsTestSpec
|
||||
import org.jetbrains.kotlin.spec.checkers.AbstractFirDiagnosticsTestSpec
|
||||
import org.jetbrains.kotlin.spec.codegen.AbstractBlackBoxCodegenTestSpec
|
||||
|
||||
@@ -29,7 +29,7 @@ import org.jetbrains.kotlin.fir.java.AbstractFirOldFrontendLightClassesTest
|
||||
import org.jetbrains.kotlin.fir.java.AbstractFirTypeEnhancementTest
|
||||
import org.jetbrains.kotlin.fir.java.AbstractOwnFirTypeEnhancementTest
|
||||
import org.jetbrains.kotlin.fir.lightTree.AbstractLightTree2FirConverterTestCase
|
||||
import org.jetbrains.kotlin.generators.generateTestGroupSuite
|
||||
import org.jetbrains.kotlin.generators.impl.generateTestGroupSuite
|
||||
import org.jetbrains.kotlin.generators.util.TestGeneratorUtil.KT_OR_KTS_WITHOUT_DOTS_IN_NAME
|
||||
import org.jetbrains.kotlin.generators.util.TestGeneratorUtil.KT_WITHOUT_DOTS_IN_NAME
|
||||
import org.jetbrains.kotlin.integration.AbstractAntTaskTest
|
||||
|
||||
+1
-1
@@ -16,7 +16,7 @@
|
||||
|
||||
package org.jetbrains.kotlin.generators.tests
|
||||
|
||||
import org.jetbrains.kotlin.generators.generateTestGroupSuite
|
||||
import org.jetbrains.kotlin.generators.impl.generateTestGroupSuite
|
||||
import org.jetbrains.kotlin.jvm.runtime.AbstractJvm8RuntimeDescriptorLoaderTest
|
||||
import org.jetbrains.kotlin.jvm.runtime.AbstractJvmRuntimeDescriptorLoaderTest
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ plugins {
|
||||
dependencies {
|
||||
testCompile(intellijDep()) { includeJars("util") }
|
||||
testCompile(project(":core:util.runtime"))
|
||||
testCompile(projectTests(":compiler:tests-common"))
|
||||
testApi(projectTests(":compiler:test-infrastructure-utils"))
|
||||
testCompile(kotlinStdlib())
|
||||
testCompile(commonDep("junit:junit"))
|
||||
testCompile(project(":generators"))
|
||||
|
||||
@@ -5,10 +5,7 @@
|
||||
|
||||
package org.jetbrains.kotlin.generators
|
||||
|
||||
import org.jetbrains.kotlin.generators.impl.TestGeneratorImpl
|
||||
import org.jetbrains.kotlin.generators.model.*
|
||||
import org.jetbrains.kotlin.generators.InconsistencyChecker.Companion.hasDryRunArg
|
||||
import org.jetbrains.kotlin.generators.InconsistencyChecker.Companion.inconsistencyChecker
|
||||
import org.jetbrains.kotlin.generators.util.TestGeneratorUtil
|
||||
import org.jetbrains.kotlin.test.TargetBackend
|
||||
import java.io.File
|
||||
@@ -21,28 +18,6 @@ fun testGroupSuite(
|
||||
return TestGroupSuite().apply(init)
|
||||
}
|
||||
|
||||
fun generateTestGroupSuite(
|
||||
args: Array<String>,
|
||||
init: TestGroupSuite.() -> Unit
|
||||
) {
|
||||
generateTestGroupSuite(hasDryRunArg(args), init)
|
||||
}
|
||||
|
||||
fun generateTestGroupSuite(
|
||||
dryRun: Boolean = false,
|
||||
init: TestGroupSuite.() -> Unit
|
||||
) {
|
||||
val suite = testGroupSuite(init)
|
||||
for (testGroup in suite.testGroups) {
|
||||
for (testClass in testGroup.testClasses) {
|
||||
val (changed, testSourceFilePath) = TestGeneratorImpl.generateAndSave(testClass, dryRun)
|
||||
if (changed) {
|
||||
inconsistencyChecker(dryRun).add(testSourceFilePath)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class TestGroupSuite {
|
||||
private val _testGroups = mutableListOf<TestGroup>()
|
||||
val testGroups: List<TestGroup>
|
||||
|
||||
-35
@@ -1,35 +0,0 @@
|
||||
/*
|
||||
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.generators.model
|
||||
|
||||
import org.jetbrains.kotlin.test.TargetBackend
|
||||
import java.io.File
|
||||
import java.util.regex.Pattern
|
||||
|
||||
class CoroutinesTestMethodModel(
|
||||
rootDir: File,
|
||||
file: File,
|
||||
filenamePattern: Pattern,
|
||||
checkFilenameStartsLowerCase: Boolean?,
|
||||
targetBackend: TargetBackend,
|
||||
skipIgnored: Boolean,
|
||||
val isLanguageVersion1_3: Boolean
|
||||
) : SimpleTestMethodModel(
|
||||
rootDir,
|
||||
file,
|
||||
filenamePattern,
|
||||
checkFilenameStartsLowerCase,
|
||||
targetBackend,
|
||||
skipIgnored
|
||||
) {
|
||||
object Kind : MethodModel.Kind()
|
||||
|
||||
override val kind: MethodModel.Kind
|
||||
get() = Kind
|
||||
|
||||
override val name: String
|
||||
get() = super.name + if (isLanguageVersion1_3) "_1_3" else "_1_2"
|
||||
}
|
||||
@@ -25,7 +25,7 @@ import org.jetbrains.kotlin.fir.plugin.AbstractFirAllOpenDiagnosticTest
|
||||
import org.jetbrains.kotlin.formatter.AbstractFormatterTest
|
||||
import org.jetbrains.kotlin.formatter.AbstractTypingIndentationTestBase
|
||||
import org.jetbrains.kotlin.generators.TestGroup
|
||||
import org.jetbrains.kotlin.generators.generateTestGroupSuite
|
||||
import org.jetbrains.kotlin.generators.impl.generateTestGroupSuite
|
||||
import org.jetbrains.kotlin.generators.util.TestGeneratorUtil.KT_OR_KTS
|
||||
import org.jetbrains.kotlin.generators.util.TestGeneratorUtil.KT_OR_KTS_WITHOUT_DOTS_IN_NAME
|
||||
import org.jetbrains.kotlin.generators.util.TestGeneratorUtil.KT_WITHOUT_DOTS_IN_NAME
|
||||
|
||||
@@ -30,7 +30,7 @@ import org.jetbrains.kotlin.findUsages.AbstractKotlinFindUsagesWithLibraryTest
|
||||
import org.jetbrains.kotlin.formatter.AbstractFormatterTest
|
||||
import org.jetbrains.kotlin.formatter.AbstractTypingIndentationTestBase
|
||||
import org.jetbrains.kotlin.generators.TestGroup
|
||||
import org.jetbrains.kotlin.generators.generateTestGroupSuite
|
||||
import org.jetbrains.kotlin.generators.impl.generateTestGroupSuite
|
||||
import org.jetbrains.kotlin.generators.util.TestGeneratorUtil.KT_OR_KTS
|
||||
import org.jetbrains.kotlin.generators.util.TestGeneratorUtil.KT_OR_KTS_WITHOUT_DOTS_IN_NAME
|
||||
import org.jetbrains.kotlin.generators.util.TestGeneratorUtil.KT_WITHOUT_DOTS_IN_NAME
|
||||
|
||||
@@ -30,7 +30,7 @@ import org.jetbrains.kotlin.findUsages.AbstractKotlinFindUsagesWithLibraryTest
|
||||
import org.jetbrains.kotlin.formatter.AbstractFormatterTest
|
||||
import org.jetbrains.kotlin.formatter.AbstractTypingIndentationTestBase
|
||||
import org.jetbrains.kotlin.generators.TestGroup
|
||||
import org.jetbrains.kotlin.generators.generateTestGroupSuite
|
||||
import org.jetbrains.kotlin.generators.impl.generateTestGroupSuite
|
||||
import org.jetbrains.kotlin.generators.util.TestGeneratorUtil.KT_OR_KTS
|
||||
import org.jetbrains.kotlin.generators.util.TestGeneratorUtil.KT_OR_KTS_WITHOUT_DOTS_IN_NAME
|
||||
import org.jetbrains.kotlin.generators.util.TestGeneratorUtil.KT_WITHOUT_DOTS_IN_NAME
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
package org.jetbrains.kotlin.generators.tests
|
||||
|
||||
import org.jetbrains.kotlin.generators.generateTestGroupSuite
|
||||
import org.jetbrains.kotlin.generators.impl.generateTestGroupSuite
|
||||
import org.jetbrains.kotlin.js.test.AbstractDceTest
|
||||
import org.jetbrains.kotlin.js.test.AbstractJsLineNumberTest
|
||||
import org.jetbrains.kotlin.js.test.es6.semantics.*
|
||||
|
||||
@@ -23,6 +23,7 @@ dependencies {
|
||||
testCompileOnly(project(":kotlinx-metadata"))
|
||||
testCompileOnly(project(":kotlinx-metadata-jvm"))
|
||||
testCompile(commonDep("junit:junit"))
|
||||
testCompile(projectTests(":compiler:tests-common"))
|
||||
testCompile(projectTests(":generators:test-generator"))
|
||||
|
||||
testRuntime(project(":kotlinx-metadata-jvm", configuration = "runtime"))
|
||||
|
||||
+1
-1
@@ -5,7 +5,7 @@
|
||||
|
||||
package org.jetbrains.kotlin.kotlinp.test
|
||||
|
||||
import org.jetbrains.kotlin.generators.generateTestGroupSuite
|
||||
import org.jetbrains.kotlin.generators.impl.generateTestGroupSuite
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
System.setProperty("java.awt.headless", "true")
|
||||
|
||||
Reference in New Issue
Block a user