@@ -82,36 +82,47 @@ projectTest {
82
82
83
83
evaluationDependsOn(" :compiler:tests-common-jvm6" )
84
84
85
- fun Project.codegenTest (taskName : String , body : Test .() -> Unit ): Test = projectTest(taskName) {
85
+ fun Project.codegenTest (taskName : String , jdk : String , body : Test .() -> Unit ): Test = projectTest(taskName) {
86
86
dependsOn(* testDistProjects.map { " $it :dist" }.toTypedArray())
87
87
workingDir = rootDir
88
88
environment(" TEST_SERVER_CLASSES_DIRS" , project(" :compiler:tests-common-jvm6" ).the<JavaPluginConvention >().sourceSets.getByName(" main" ).output.classesDirs.asPath)
89
89
filter.includeTestsMatching(" org.jetbrains.kotlin.codegen.CodegenJdkCommonTestSuite*" )
90
+
91
+ if (jdk == " JDK_9" ) {
92
+ jvmArgs = listOf (" --add-opens" , " java.desktop/javax.swing=ALL-UNNAMED" , " --add-opens" , " java.base/java.io=ALL-UNNAMED" )
93
+ }
90
94
body()
95
+ doFirst {
96
+ val jdkPath = project.property(jdk) ? : error(" $jdk is not optional to run this test" )
97
+ executable = " $jdkPath /bin/java"
98
+ println (" Running test with $executable " )
99
+ }
100
+ }.also {
101
+ task(taskName.replace(Regex (" -[a-z]" ), { it.value.takeLast(1 ).toUpperCase() })) {
102
+ dependsOn(it)
103
+ group = " verification"
104
+ }
91
105
}
92
106
93
- codegenTest(" codegen-target6-jvm6-test" ) {
107
+ codegenTest(" codegen-target6-jvm6-test" , " JDK_18 " ) {
94
108
systemProperty(" kotlin.test.default.jvm.target" , " 1.6" )
95
109
systemProperty(" kotlin.test.java.compilation.target" , " 1.6" )
96
110
systemProperty(" kotlin.test.box.in.separate.process.port" , " 5100" )
97
111
}
98
112
99
- codegenTest(" codegen-target6-jvm9-test" ) {
113
+ codegenTest(" codegen-target6-jvm9-test" , " JDK_9 " ) {
100
114
systemProperty(" kotlin.test.default.jvm.target" , " 1.6" )
101
- jvmArgs = listOf (" --add-opens" , " java.desktop/javax.swing=ALL-UNNAMED" , " --add-opens" , " java.base/java.io=ALL-UNNAMED" )
102
115
}
103
116
104
- codegenTest(" codegen-target8-jvm8-test" ) {
117
+ codegenTest(" codegen-target8-jvm8-test" , " JDK_18 " ) {
105
118
systemProperty(" kotlin.test.default.jvm.target" , " 1.8" )
106
119
}
107
120
108
- codegenTest(" codegen-target8-jvm9-test" ) {
121
+ codegenTest(" codegen-target8-jvm9-test" , " JDK_9 " ) {
109
122
systemProperty(" kotlin.test.default.jvm.target" , " 1.8" )
110
- jvmArgs = listOf (" --add-opens" , " java.desktop/javax.swing=ALL-UNNAMED" , " --add-opens" , " java.base/java.io=ALL-UNNAMED" )
111
123
}
112
124
113
- codegenTest(" codegen-target9-jvm9-test" ) {
125
+ codegenTest(" codegen-target9-jvm9-test" , " JDK_9 " ) {
114
126
systemProperty(" kotlin.test.default.jvm.target" , " 1.8" )
115
127
systemProperty(" kotlin.test.substitute.bytecode.1.8.to.1.9" , " true" )
116
- jvmArgs = listOf (" --add-opens" , " java.desktop/javax.swing=ALL-UNNAMED" , " --add-opens" , " java.base/java.io=ALL-UNNAMED" )
117
128
}
0 commit comments