[Tests] Re-enable K1 IC tests for expect-actual
^KT-60831 fixed ^KT-60831 next step KT-63183 Merge-request: KT-MR-12855 Merged-by: Evgenii Mazhukin <evgenii.mazhukin@jetbrains.com>
This commit is contained in:
committed by
Space Team
parent
4050285fef
commit
20af98c776
+1
-1
@@ -25,4 +25,4 @@ abstract class AbstractIncrementalK1JsLegacyMultiplatformJsCompilerRunnerTest :
|
|||||||
multiPlatform = true
|
multiPlatform = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+4
-2
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2010-2017 JetBrains s.r.o.
|
* Copyright 2010-2023 JetBrains s.r.o.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@@ -23,6 +23,8 @@ abstract class AbstractIncrementalMultiplatformJvmCompilerRunnerTest : AbstractI
|
|||||||
override fun createCompilerArguments(destinationDir: File, testDir: File): K2JVMCompilerArguments {
|
override fun createCompilerArguments(destinationDir: File, testDir: File): K2JVMCompilerArguments {
|
||||||
return super.createCompilerArguments(destinationDir, testDir).apply {
|
return super.createCompilerArguments(destinationDir, testDir).apply {
|
||||||
multiPlatform = true
|
multiPlatform = true
|
||||||
|
useK2 = false
|
||||||
|
languageVersion = "1.9"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+10
-10
@@ -68,29 +68,29 @@ public class IncrementalMultiplatformJvmCompilerRunnerTestGenerated extends Abst
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@TestMetadata("jps/jps-plugin/testData/incremental/mpp/jvmOnly")
|
@TestMetadata("jps/jps-plugin/testData/incremental/mpp/jvmOnlyK1")
|
||||||
@TestDataPath("$PROJECT_ROOT")
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
@RunWith(JUnit3RunnerWithInners.class)
|
@RunWith(JUnit3RunnerWithInners.class)
|
||||||
public static class JvmOnly extends AbstractIncrementalMultiplatformJvmCompilerRunnerTest {
|
public static class JvmOnlyK1 extends AbstractIncrementalMultiplatformJvmCompilerRunnerTest {
|
||||||
private void runTest(String testDataFilePath) throws Exception {
|
private void runTest(String testDataFilePath) throws Exception {
|
||||||
KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
|
KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testAllFilesPresentInJvmOnly() throws Exception {
|
public void testAllFilesPresentInJvmOnlyK1() throws Exception {
|
||||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/mpp/jvmOnly"), Pattern.compile("^([^\\.]+)$"), null, true);
|
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/mpp/jvmOnlyK1"), Pattern.compile("^([^\\.]+)$"), null, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@TestMetadata("multifilePartChanged")
|
@TestMetadata("multifilePartChanged")
|
||||||
public void testMultifilePartChanged() throws Exception {
|
public void testMultifilePartChanged() throws Exception {
|
||||||
runTest("jps/jps-plugin/testData/incremental/mpp/jvmOnly/multifilePartChanged/");
|
runTest("jps/jps-plugin/testData/incremental/mpp/jvmOnlyK1/multifilePartChanged/");
|
||||||
}
|
}
|
||||||
|
|
||||||
@TestMetadata("optionalExpectationWithActual")
|
@TestMetadata("optionalExpectationWithActual")
|
||||||
public void testOptionalExpectationWithActual() throws Exception {
|
public void testOptionalExpectationWithActual() throws Exception {
|
||||||
runTest("jps/jps-plugin/testData/incremental/mpp/jvmOnly/optionalExpectationWithActual/");
|
runTest("jps/jps-plugin/testData/incremental/mpp/jvmOnlyK1/optionalExpectationWithActual/");
|
||||||
}
|
}
|
||||||
|
|
||||||
@TestMetadata("jps/jps-plugin/testData/incremental/mpp/jvmOnly/multifilePartChanged")
|
@TestMetadata("jps/jps-plugin/testData/incremental/mpp/jvmOnlyK1/multifilePartChanged")
|
||||||
@TestDataPath("$PROJECT_ROOT")
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
@RunWith(JUnit3RunnerWithInners.class)
|
@RunWith(JUnit3RunnerWithInners.class)
|
||||||
public static class MultifilePartChanged extends AbstractIncrementalMultiplatformJvmCompilerRunnerTest {
|
public static class MultifilePartChanged extends AbstractIncrementalMultiplatformJvmCompilerRunnerTest {
|
||||||
@@ -99,11 +99,11 @@ public class IncrementalMultiplatformJvmCompilerRunnerTestGenerated extends Abst
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void testAllFilesPresentInMultifilePartChanged() throws Exception {
|
public void testAllFilesPresentInMultifilePartChanged() throws Exception {
|
||||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/mpp/jvmOnly/multifilePartChanged"), Pattern.compile("^([^\\.]+)$"), null, true);
|
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/mpp/jvmOnlyK1/multifilePartChanged"), Pattern.compile("^([^\\.]+)$"), null, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@TestMetadata("jps/jps-plugin/testData/incremental/mpp/jvmOnly/optionalExpectationWithActual")
|
@TestMetadata("jps/jps-plugin/testData/incremental/mpp/jvmOnlyK1/optionalExpectationWithActual")
|
||||||
@TestDataPath("$PROJECT_ROOT")
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
@RunWith(JUnit3RunnerWithInners.class)
|
@RunWith(JUnit3RunnerWithInners.class)
|
||||||
public static class OptionalExpectationWithActual extends AbstractIncrementalMultiplatformJvmCompilerRunnerTest {
|
public static class OptionalExpectationWithActual extends AbstractIncrementalMultiplatformJvmCompilerRunnerTest {
|
||||||
@@ -112,7 +112,7 @@ public class IncrementalMultiplatformJvmCompilerRunnerTestGenerated extends Abst
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void testAllFilesPresentInOptionalExpectationWithActual() throws Exception {
|
public void testAllFilesPresentInOptionalExpectationWithActual() throws Exception {
|
||||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/mpp/jvmOnly/optionalExpectationWithActual"), Pattern.compile("^([^\\.]+)$"), null, true);
|
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/mpp/jvmOnlyK1/optionalExpectationWithActual"), Pattern.compile("^([^\\.]+)$"), null, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+7
-2
@@ -109,8 +109,13 @@ class SimpleTestClassModel(
|
|||||||
val listFiles = rootFile.listFiles()
|
val listFiles = rootFile.listFiles()
|
||||||
if (listFiles != null && (deep == null || deep == 0)) {
|
if (listFiles != null && (deep == null || deep == 0)) {
|
||||||
for (file in listFiles) {
|
for (file in listFiles) {
|
||||||
val excluded = excludePattern != null && excludePattern.matcher(file.name).matches()
|
val excluded = let {
|
||||||
if (filenamePattern.matcher(file.name).matches() && !excluded) {
|
val name = file.name
|
||||||
|
val byPattern = excludePattern != null && excludePattern.matcher(name).matches()
|
||||||
|
val byDirectory = file.isDirectory && (name in excludeDirs || name in excludeDirsRecursively)
|
||||||
|
return@let byPattern || byDirectory
|
||||||
|
}
|
||||||
|
if (!excluded && filenamePattern.matcher(file.name).matches()) {
|
||||||
if (file.isDirectory && excludeParentDirs && dirHasSubDirs(file)) {
|
if (file.isDirectory && excludeParentDirs && dirHasSubDirs(file)) {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -50,6 +50,22 @@ import org.jetbrains.kotlinx.atomicfu.AbstractAtomicfuJsIrTest
|
|||||||
import org.jetbrains.kotlinx.atomicfu.AbstractAtomicfuJvmIrTest
|
import org.jetbrains.kotlinx.atomicfu.AbstractAtomicfuJvmIrTest
|
||||||
import org.junit.jupiter.api.Tag
|
import org.junit.jupiter.api.Tag
|
||||||
|
|
||||||
|
|
||||||
|
private class ExcludePattern {
|
||||||
|
companion object {
|
||||||
|
private const val MEMBER_ALIAS = "(^removeMemberTypeAlias)|(^addMemberTypeAlias)"
|
||||||
|
|
||||||
|
private const val ALL_EXPECT = "(^.*Expect.*)"
|
||||||
|
private const val COMPANION_CONSTANT = "(^companionConstantChanged)"
|
||||||
|
|
||||||
|
internal val forK2 = listOf(
|
||||||
|
ALL_EXPECT, // KT-63125 - Partially related to single-module expect-actual tests, but regexp is really wide
|
||||||
|
MEMBER_ALIAS, // KT-55195 - Invalid for K2
|
||||||
|
COMPANION_CONSTANT // KT-56242 - Work in progress
|
||||||
|
).joinToString("|")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
fun main(args: Array<String>) {
|
fun main(args: Array<String>) {
|
||||||
System.setProperty("java.awt.headless", "true")
|
System.setProperty("java.awt.headless", "true")
|
||||||
generateTestGroupSuite(args) {
|
generateTestGroupSuite(args) {
|
||||||
@@ -69,9 +85,7 @@ fun main(args: Array<String>) {
|
|||||||
init = incrementalJvmTestData(
|
init = incrementalJvmTestData(
|
||||||
TargetBackend.JVM_IR,
|
TargetBackend.JVM_IR,
|
||||||
folderToExcludePatternMap = mapOf(
|
folderToExcludePatternMap = mapOf(
|
||||||
PURE_KOTLIN to "(^.*Expect.*)"
|
PURE_KOTLIN to ExcludePattern.forK2
|
||||||
+ "|(^removeMemberTypeAlias)|(^addMemberTypeAlias)" //KT-55195
|
|
||||||
+ "|(^companionConstantChanged)" //KT-56242
|
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
@@ -80,9 +94,7 @@ fun main(args: Array<String>) {
|
|||||||
init = incrementalJvmTestData(
|
init = incrementalJvmTestData(
|
||||||
TargetBackend.JVM_IR,
|
TargetBackend.JVM_IR,
|
||||||
folderToExcludePatternMap = mapOf(
|
folderToExcludePatternMap = mapOf(
|
||||||
PURE_KOTLIN to "(^.*Expect.*)"
|
PURE_KOTLIN to ExcludePattern.forK2,
|
||||||
+ "|(^removeMemberTypeAlias)|(^addMemberTypeAlias)" //KT-55195
|
|
||||||
+ "|(^companionConstantChanged)", //KT-56242
|
|
||||||
WITH_JAVA to "^classToPackageFacade" // KT-56698
|
WITH_JAVA to "^classToPackageFacade" // KT-56698
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
@@ -91,14 +103,12 @@ fun main(args: Array<String>) {
|
|||||||
init = incrementalJvmTestData(
|
init = incrementalJvmTestData(
|
||||||
TargetBackend.JVM_IR,
|
TargetBackend.JVM_IR,
|
||||||
folderToExcludePatternMap = mapOf(
|
folderToExcludePatternMap = mapOf(
|
||||||
PURE_KOTLIN to "(^.*Expect.*)"
|
PURE_KOTLIN to ExcludePattern.forK2
|
||||||
+ "|(^removeMemberTypeAlias)|(^addMemberTypeAlias)" //KT-55195
|
|
||||||
+ "|(^companionConstantChanged)" //KT-56242
|
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
testClass<AbstractIncrementalK1JsKlibCompilerRunnerTest>() {
|
testClass<AbstractIncrementalK1JsKlibCompilerRunnerTest> {
|
||||||
// IC of sealed interfaces are not supported in JS
|
// IC of sealed interfaces are not supported in JS
|
||||||
model("incremental/pureKotlin", extension = null, recursive = false, excludedPattern = "(^sealed.*)|(.*SinceK2)")
|
model("incremental/pureKotlin", extension = null, recursive = false, excludedPattern = "(^sealed.*)|(.*SinceK2)")
|
||||||
model("incremental/classHierarchyAffected", extension = null, recursive = false)
|
model("incremental/classHierarchyAffected", extension = null, recursive = false)
|
||||||
@@ -124,16 +134,16 @@ fun main(args: Array<String>) {
|
|||||||
// TODO: https://youtrack.jetbrains.com/issue/KT-61602/JS-K2-ICL-Fix-muted-tests
|
// TODO: https://youtrack.jetbrains.com/issue/KT-61602/JS-K2-ICL-Fix-muted-tests
|
||||||
testClass<AbstractIncrementalK2JsKlibCompilerWithScopeExpansionRunnerTest> {
|
testClass<AbstractIncrementalK2JsKlibCompilerWithScopeExpansionRunnerTest> {
|
||||||
// IC of sealed interfaces are not supported in JS
|
// IC of sealed interfaces are not supported in JS
|
||||||
model("incremental/pureKotlin", extension = null, recursive = false,
|
model(
|
||||||
|
"incremental/pureKotlin", extension = null, recursive = false,
|
||||||
// TODO: 'fileWithConstantRemoved' should be fixed in https://youtrack.jetbrains.com/issue/KT-58824
|
// TODO: 'fileWithConstantRemoved' should be fixed in https://youtrack.jetbrains.com/issue/KT-58824
|
||||||
excludedPattern = "^(sealed.*|fileWithConstantRemoved|propertyRedeclaration|funRedeclaration|funVsConstructorOverloadConflict)"
|
excludedPattern = "^(sealed.*|fileWithConstantRemoved|propertyRedeclaration|funRedeclaration|funVsConstructorOverloadConflict)"
|
||||||
)
|
)
|
||||||
model("incremental/classHierarchyAffected", extension = null, recursive = false,
|
model(
|
||||||
|
"incremental/classHierarchyAffected", extension = null, recursive = false,
|
||||||
excludedPattern = "secondaryConstructorAdded"
|
excludedPattern = "secondaryConstructorAdded"
|
||||||
)
|
)
|
||||||
model("incremental/js", extension = null, excludeParentDirs = true)
|
model("incremental/js", extension = null, excludeParentDirs = true)
|
||||||
|
|
||||||
//model("incremental/scopeExpansion", extension = null, excludeParentDirs = true)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
testClass<AbstractIncrementalK1JsLegacyCompilerRunnerWithFriendModulesDisabledTest> {
|
testClass<AbstractIncrementalK1JsLegacyCompilerRunnerWithFriendModulesDisabledTest> {
|
||||||
@@ -142,11 +152,12 @@ fun main(args: Array<String>) {
|
|||||||
|
|
||||||
testClass<AbstractIncrementalMultiplatformJvmCompilerRunnerTest> {
|
testClass<AbstractIncrementalMultiplatformJvmCompilerRunnerTest> {
|
||||||
model("incremental/mpp/allPlatforms", extension = null, excludeParentDirs = true)
|
model("incremental/mpp/allPlatforms", extension = null, excludeParentDirs = true)
|
||||||
model("incremental/mpp/jvmOnly", extension = null, excludeParentDirs = true)
|
model("incremental/mpp/jvmOnlyK1", extension = null, excludeParentDirs = true)
|
||||||
}
|
}
|
||||||
testClass<AbstractIncrementalK1JsLegacyMultiplatformJsCompilerRunnerTest> {
|
testClass<AbstractIncrementalK1JsLegacyMultiplatformJsCompilerRunnerTest> {
|
||||||
model("incremental/mpp/allPlatforms", extension = null, excludeParentDirs = true)
|
model("incremental/mpp/allPlatforms", extension = null, excludeParentDirs = true)
|
||||||
}
|
}
|
||||||
|
//TODO: write a proper k2 multiplatform test runner KT-63183
|
||||||
}
|
}
|
||||||
|
|
||||||
testGroup(
|
testGroup(
|
||||||
|
|||||||
+2
-2
@@ -34,5 +34,5 @@ Supported dependency flags:
|
|||||||
- `runtime`
|
- `runtime`
|
||||||
- `provided`
|
- `provided`
|
||||||
- `expectedBy` (old MPP)
|
- `expectedBy` (old MPP)
|
||||||
- `included` (new MPP)
|
- `include` (new MPP)
|
||||||
- `exproted`
|
- `exported`
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
-language-version 1.9
|
||||||
|
-Xexpect-actual-classes
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
-language-version 1.9
|
||||||
|
-Xexpect-actual-classes
|
||||||
+1
@@ -0,0 +1 @@
|
|||||||
|
-language-version 1.9
|
||||||
+3
@@ -0,0 +1,3 @@
|
|||||||
|
-Xmulti-platform
|
||||||
|
-Xexpect-actual-classes
|
||||||
|
-language-version 1.9
|
||||||
Reference in New Issue
Block a user