Dependency of js tests generation on compiler test data generation (KTI-404)

There was an error during "Generate Compiler Tests" execution:

Exception in thread "main" java.lang.RuntimeException: java.io.FileNotFoundException: compiler\testData\codegen\box\ranges\expression\inexactDownToMinValue.kt

The error was probable caused by parallel execution of tasks:compiler:generateTests and :js:js.tests:generateTests.

Exception could occur when GenerateRangesCodegenTestData.main(args) has
just removed directory with test data for regeneration but
:js:js.tests:generateTests had already seen files present.

 #KTI-404 Fixed
This commit is contained in:
Nikolay Krasko
2020-12-08 17:21:56 +03:00
committed by TeamCityServer
parent 0ca7c50452
commit df9ecb0f4a
5 changed files with 23 additions and 8 deletions
+2 -1
View File
@@ -54,11 +54,12 @@ var Project.javaHome: String?
extra["javaHome"] = v
}
fun Project.generator(fqName: String, sourceSet: SourceSet? = null) = smartJavaExec {
fun Project.generator(fqName: String, sourceSet: SourceSet? = null, configure: JavaExec.() -> Unit = {}) = smartJavaExec {
classpath = (sourceSet ?: testSourceSet).runtimeClasspath
mainClass.set(fqName)
workingDir = rootDir
systemProperty("line.separator", "\n")
configure()
}
fun Project.getBooleanProperty(name: String): Boolean? = this.findProperty(name)?.let {
+4 -1
View File
@@ -98,6 +98,9 @@ projectTest(parallel = true) {
}
}
val generateTests by generator("org.jetbrains.kotlin.generators.tests.GenerateCompilerTestsKt")
val generateTestData by generator("org.jetbrains.kotlin.generators.tests.GenerateCompilerTestDataKt")
val generateTests by generator("org.jetbrains.kotlin.generators.tests.GenerateCompilerTestsKt") {
dependsOn(generateTestData)
}
testsJar()
@@ -0,0 +1,13 @@
/*
* 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.tests
fun main(args: Array<String>) {
GenerateRangesCodegenTestData.main(args)
GenerateInRangeExpressionTestData.main(args)
GenerateSteppedRangesCodegenTestData.main(args)
GeneratePrimitiveVsObjectEqualityTestData.main(args)
}
@@ -181,11 +181,6 @@ fun main(args: Array<String>) {
model("parseCodeFragment/block", testMethod = "doBlockCodeFragmentParsingTest", extension = "kt")
}
GenerateRangesCodegenTestData.main(args)
GenerateInRangeExpressionTestData.main(args)
GenerateSteppedRangesCodegenTestData.main(args)
GeneratePrimitiveVsObjectEqualityTestData.main(args)
testClass<AbstractBlackBoxCodegenTest> {
model("codegen/box", targetBackend = TargetBackend.JVM)
}
+4 -1
View File
@@ -272,7 +272,10 @@ projectTest("quickTest", true) {
testsJar {}
val generateTests by generator("org.jetbrains.kotlin.generators.tests.GenerateJsTestsKt")
val generateTests by generator("org.jetbrains.kotlin.generators.tests.GenerateJsTestsKt") {
dependsOn(":compiler:generateTestData")
}
val testDataDir = project(":js:js.translator").projectDir.resolve("testData")
extensions.getByType(NodeExtension::class.java).nodeModulesDir = testDataDir