Add directive ALL_JAVA_AS_BINARIES and use it explicitly for foreign annotations tests with compiled java

This commit is contained in:
Victor Petukhov
2021-04-06 17:45:08 +03:00
parent 89270399db
commit 24685ee9d6
6 changed files with 18 additions and 12 deletions
@@ -16,7 +16,7 @@ import java.util.regex.Pattern;
/** This class is generated by {@link GenerateNewCompilerTests.kt}. DO NOT MODIFY MANUALLY */ /** This class is generated by {@link GenerateNewCompilerTests.kt}. DO NOT MODIFY MANUALLY */
@SuppressWarnings("all") @SuppressWarnings("all")
public class ForeignAnnotationsNoAnnotationInClasspathTestGenerated extends AbstractForeignAnnotationsNoAnnotationInClasspathTest { public class ForeignAnnotationsCompiledJavaTestGenerated extends AbstractForeignAnnotationsCompiledJavaTest {
@Nested @Nested
@TestMetadata("compiler/testData/diagnostics/foreignAnnotationsTests/tests") @TestMetadata("compiler/testData/diagnostics/foreignAnnotationsTests/tests")
@TestDataPath("$PROJECT_ROOT") @TestDataPath("$PROJECT_ROOT")
@@ -16,7 +16,7 @@ import java.util.regex.Pattern;
/** This class is generated by {@link GenerateNewCompilerTests.kt}. DO NOT MODIFY MANUALLY */ /** This class is generated by {@link GenerateNewCompilerTests.kt}. DO NOT MODIFY MANUALLY */
@SuppressWarnings("all") @SuppressWarnings("all")
public class ForeignAnnotationsNoAnnotationInClasspathWithPsiClassReadingTestGenerated extends AbstractForeignAnnotationsNoAnnotationInClasspathWithPsiClassReadingTest { public class ForeignAnnotationsCompiledJavaWithPsiClassReadingTestGenerated extends AbstractForeignAnnotationsCompiledJavaWithPsiClassReadingTest {
@Nested @Nested
@TestMetadata("compiler/testData/diagnostics/foreignAnnotationsTests/tests") @TestMetadata("compiler/testData/diagnostics/foreignAnnotationsTests/tests")
@TestDataPath("$PROJECT_ROOT") @TestDataPath("$PROJECT_ROOT")
@@ -16,7 +16,7 @@ import java.util.regex.Pattern;
/** This class is generated by {@link GenerateNewCompilerTests.kt}. DO NOT MODIFY MANUALLY */ /** This class is generated by {@link GenerateNewCompilerTests.kt}. DO NOT MODIFY MANUALLY */
@SuppressWarnings("all") @SuppressWarnings("all")
public class ForeignAnnotationsTestGenerated extends AbstractForeignAnnotationsTest { public class ForeignAnnotationsSourceJavaTestGenerated extends AbstractForeignAnnotationsSourceJavaTest {
@Nested @Nested
@TestMetadata("compiler/testData/diagnostics/foreignAnnotationsTests/tests") @TestMetadata("compiler/testData/diagnostics/foreignAnnotationsTests/tests")
@TestDataPath("$PROJECT_ROOT") @TestDataPath("$PROJECT_ROOT")
@@ -13,9 +13,9 @@ import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
import org.jetbrains.kotlin.test.directives.DiagnosticsDirectives.REPORT_JVM_DIAGNOSTICS_ON_FRONTEND import org.jetbrains.kotlin.test.directives.DiagnosticsDirectives.REPORT_JVM_DIAGNOSTICS_ON_FRONTEND
import org.jetbrains.kotlin.test.directives.DiagnosticsDirectives.SKIP_TXT import org.jetbrains.kotlin.test.directives.DiagnosticsDirectives.SKIP_TXT
import org.jetbrains.kotlin.test.directives.ForeignAnnotationsDirectives.ANNOTATIONS_PATH import org.jetbrains.kotlin.test.directives.ForeignAnnotationsDirectives.ANNOTATIONS_PATH
import org.jetbrains.kotlin.test.directives.JvmEnvironmentConfigurationDirectives.ALL_JAVA_AS_BINARY
import org.jetbrains.kotlin.test.directives.JvmEnvironmentConfigurationDirectives.COMPILE_JAVA_USING import org.jetbrains.kotlin.test.directives.JvmEnvironmentConfigurationDirectives.COMPILE_JAVA_USING
import org.jetbrains.kotlin.test.directives.JvmEnvironmentConfigurationDirectives.JDK_KIND import org.jetbrains.kotlin.test.directives.JvmEnvironmentConfigurationDirectives.JDK_KIND
import org.jetbrains.kotlin.test.directives.JvmEnvironmentConfigurationDirectives.SKIP_JAVA_SOURCES
import org.jetbrains.kotlin.test.directives.JvmEnvironmentConfigurationDirectives.USE_PSI_CLASS_FILES_READING import org.jetbrains.kotlin.test.directives.JvmEnvironmentConfigurationDirectives.USE_PSI_CLASS_FILES_READING
import org.jetbrains.kotlin.test.directives.JvmEnvironmentConfigurationDirectives.WITH_FOREIGN_ANNOTATIONS import org.jetbrains.kotlin.test.directives.JvmEnvironmentConfigurationDirectives.WITH_FOREIGN_ANNOTATIONS
import org.jetbrains.kotlin.test.directives.JvmEnvironmentConfigurationDirectives.WITH_JSR305_TEST_ANNOTATIONS import org.jetbrains.kotlin.test.directives.JvmEnvironmentConfigurationDirectives.WITH_JSR305_TEST_ANNOTATIONS
@@ -94,17 +94,20 @@ abstract class AbstractForeignAnnotationsTestBase : AbstractKotlinCompilerTest()
} }
} }
abstract class AbstractForeignAnnotationsTest : AbstractForeignAnnotationsTestBase() { abstract class AbstractForeignAnnotationsSourceJavaTest : AbstractForeignAnnotationsTestBase() {
override val foreignAnnotationsConfigurator: Constructor<JvmForeignAnnotationsConfigurator> override val foreignAnnotationsConfigurator: Constructor<JvmForeignAnnotationsConfigurator>
get() = ::JvmForeignAnnotationsConfigurator get() = ::JvmForeignAnnotationsConfigurator
} }
abstract class AbstractForeignAnnotationsNoAnnotationInClasspathTest : AbstractForeignAnnotationsTestBase() { abstract class AbstractForeignAnnotationsCompiledJavaTest : AbstractForeignAnnotationsTestBase() {
override val foreignAnnotationsConfigurator: Constructor<JvmForeignAnnotationsConfigurator>
get() = ::JvmForeignAnnotationsConfigurator
override fun configure(builder: TestConfigurationBuilder) { override fun configure(builder: TestConfigurationBuilder) {
super.configure(builder) super.configure(builder)
with(builder) { with(builder) {
defaultDirectives { defaultDirectives {
+SKIP_JAVA_SOURCES +ALL_JAVA_AS_BINARY
+SKIP_TXT +SKIP_TXT
} }
@@ -113,7 +116,7 @@ abstract class AbstractForeignAnnotationsNoAnnotationInClasspathTest : AbstractF
} }
} }
abstract class AbstractForeignAnnotationsNoAnnotationInClasspathWithPsiClassReadingTest : AbstractForeignAnnotationsNoAnnotationInClasspathTest() { abstract class AbstractForeignAnnotationsCompiledJavaWithPsiClassReadingTest : AbstractForeignAnnotationsCompiledJavaTest() {
override fun configure(builder: TestConfigurationBuilder) { override fun configure(builder: TestConfigurationBuilder) {
super.configure(builder) super.configure(builder)
with(builder) { with(builder) {
@@ -22,6 +22,7 @@ import org.jetbrains.kotlin.test.TestJavacVersion
import org.jetbrains.kotlin.test.TestJdkKind import org.jetbrains.kotlin.test.TestJdkKind
import org.jetbrains.kotlin.test.directives.ForeignAnnotationsDirectives import org.jetbrains.kotlin.test.directives.ForeignAnnotationsDirectives
import org.jetbrains.kotlin.test.directives.JvmEnvironmentConfigurationDirectives import org.jetbrains.kotlin.test.directives.JvmEnvironmentConfigurationDirectives
import org.jetbrains.kotlin.test.directives.JvmEnvironmentConfigurationDirectives.ALL_JAVA_AS_BINARY
import org.jetbrains.kotlin.test.directives.JvmEnvironmentConfigurationDirectives.ASSERTIONS_MODE import org.jetbrains.kotlin.test.directives.JvmEnvironmentConfigurationDirectives.ASSERTIONS_MODE
import org.jetbrains.kotlin.test.directives.JvmEnvironmentConfigurationDirectives.COMPILE_JAVA_USING import org.jetbrains.kotlin.test.directives.JvmEnvironmentConfigurationDirectives.COMPILE_JAVA_USING
import org.jetbrains.kotlin.test.directives.JvmEnvironmentConfigurationDirectives.CONSTRUCTOR_CALL_NORMALIZATION_MODE import org.jetbrains.kotlin.test.directives.JvmEnvironmentConfigurationDirectives.CONSTRUCTOR_CALL_NORMALIZATION_MODE
@@ -130,7 +131,9 @@ class JvmEnvironmentConfigurator(testServices: TestServices) : EnvironmentConfig
} }
val javaVersionToCompile = registeredDirectives[COMPILE_JAVA_USING].singleOrNull() val javaVersionToCompile = registeredDirectives[COMPILE_JAVA_USING].singleOrNull()
val javaBinaryFiles = module.javaFiles.filter { INCLUDE_JAVA_AS_BINARY in it.directives } val javaBinaryFiles = if (ALL_JAVA_AS_BINARY !in registeredDirectives) {
module.javaFiles.filter { INCLUDE_JAVA_AS_BINARY in it.directives }
} else module.javaFiles
val withForeignAnnotations = JvmEnvironmentConfigurationDirectives.WITH_FOREIGN_ANNOTATIONS in registeredDirectives val withForeignAnnotations = JvmEnvironmentConfigurationDirectives.WITH_FOREIGN_ANNOTATIONS in registeredDirectives
assertTrue(javaVersionToCompile == null || javaBinaryFiles.isNotEmpty() || withForeignAnnotations) { assertTrue(javaVersionToCompile == null || javaBinaryFiles.isNotEmpty() || withForeignAnnotations) {
@@ -47,19 +47,19 @@ fun generateJUnit5CompilerTests(args: Array<String>) {
model("diagnostics/nativeTests") model("diagnostics/nativeTests")
} }
testClass<AbstractForeignAnnotationsTest> { testClass<AbstractForeignAnnotationsSourceJavaTest> {
model("diagnostics/foreignAnnotationsTests/tests") model("diagnostics/foreignAnnotationsTests/tests")
model("diagnostics/foreignAnnotationsTests/java8Tests") model("diagnostics/foreignAnnotationsTests/java8Tests")
model("diagnostics/foreignAnnotationsTests/java9Tests") model("diagnostics/foreignAnnotationsTests/java9Tests")
} }
testClass<AbstractForeignAnnotationsNoAnnotationInClasspathTest> { testClass<AbstractForeignAnnotationsCompiledJavaTest> {
model("diagnostics/foreignAnnotationsTests/tests") model("diagnostics/foreignAnnotationsTests/tests")
model("diagnostics/foreignAnnotationsTests/java8Tests") model("diagnostics/foreignAnnotationsTests/java8Tests")
model("diagnostics/foreignAnnotationsTests/java9Tests") model("diagnostics/foreignAnnotationsTests/java9Tests")
} }
testClass<AbstractForeignAnnotationsNoAnnotationInClasspathWithPsiClassReadingTest> { testClass<AbstractForeignAnnotationsCompiledJavaWithPsiClassReadingTest> {
model("diagnostics/foreignAnnotationsTests/tests") model("diagnostics/foreignAnnotationsTests/tests")
model("diagnostics/foreignAnnotationsTests/java8Tests") model("diagnostics/foreignAnnotationsTests/java8Tests")
model("diagnostics/foreignAnnotationsTests/java9Tests") model("diagnostics/foreignAnnotationsTests/java9Tests")