From 7d78e610b1e9b141ce6426ce5b9184f362e281ff Mon Sep 17 00:00:00 2001 From: Nikolay Krasko Date: Wed, 7 Apr 2021 21:05:02 +0300 Subject: [PATCH] Allow ProtoBufCompareConsistencyTest to work on teamcity --- generators/main/GeneratorsFileUtil.kt | 10 +++++++--- .../generators/protobuf/GenerateProtoBufCompare.kt | 5 +++-- .../protobuf/ProtoBufCompareConsistencyTest.kt | 2 +- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/generators/main/GeneratorsFileUtil.kt b/generators/main/GeneratorsFileUtil.kt index 1f8df241e7f..6d51628650e 100644 --- a/generators/main/GeneratorsFileUtil.kt +++ b/generators/main/GeneratorsFileUtil.kt @@ -17,10 +17,12 @@ object GeneratorsFileUtil { @JvmStatic @JvmOverloads @Throws(IOException::class) - fun writeFileIfContentChanged(file: File, newText: String, logNotChanged: Boolean = true) { + fun writeFileIfContentChanged(file: File, newText: String, logNotChanged: Boolean = true, forbidGenerationOnTeamcity: Boolean = true) { val parentFile = file.parentFile if (!parentFile.exists()) { - if (failOnTeamCity("Create dir `${parentFile.path}`")) return + if (forbidGenerationOnTeamcity) { + if (failOnTeamCity("Create dir `${parentFile.path}`")) return + } if (parentFile.mkdirs()) { println("Directory created: " + parentFile.absolutePath) } else { @@ -33,7 +35,9 @@ object GeneratorsFileUtil { } return } - if (failOnTeamCity("Write file `${file.toPath()}`")) return + if (forbidGenerationOnTeamcity) { + if (failOnTeamCity("Write file `${file.toPath()}`")) return + } val useTempFile = !SystemInfo.isWindows val targetFile = file.toPath() val tempFile = diff --git a/generators/tests/org/jetbrains/kotlin/generators/protobuf/GenerateProtoBufCompare.kt b/generators/tests/org/jetbrains/kotlin/generators/protobuf/GenerateProtoBufCompare.kt index 5aef8e154e8..c56d4faacde 100644 --- a/generators/tests/org/jetbrains/kotlin/generators/protobuf/GenerateProtoBufCompare.kt +++ b/generators/tests/org/jetbrains/kotlin/generators/protobuf/GenerateProtoBufCompare.kt @@ -38,8 +38,9 @@ class GenerateProtoBufCompare { generate(DEST_FILE) } - fun generate(destFile: File) { - GeneratorsFileUtil.writeFileIfContentChanged(destFile, GenerateProtoBufCompare().generate()) + fun generate(destFile: File, forbidGenerationOnTeamcity: Boolean = true) { + GeneratorsFileUtil.writeFileIfContentChanged(destFile, GenerateProtoBufCompare().generate(), + forbidGenerationOnTeamcity = forbidGenerationOnTeamcity) } } diff --git a/generators/tests/org/jetbrains/kotlin/generators/protobuf/ProtoBufCompareConsistencyTest.kt b/generators/tests/org/jetbrains/kotlin/generators/protobuf/ProtoBufCompareConsistencyTest.kt index 9da63897f41..0ec54f6518b 100644 --- a/generators/tests/org/jetbrains/kotlin/generators/protobuf/ProtoBufCompareConsistencyTest.kt +++ b/generators/tests/org/jetbrains/kotlin/generators/protobuf/ProtoBufCompareConsistencyTest.kt @@ -26,7 +26,7 @@ class ProtoBufCompareConsistencyTest : TestCase() { fun testAlreadyGenerated() { val testDir = KtTestUtil.tmpDir("testDirectory") val newFile = File(testDir, "ProtoCompareGenerated.kt") - GenerateProtoBufCompare.generate(newFile) + GenerateProtoBufCompare.generate(newFile, forbidGenerationOnTeamcity = false) KotlinTestUtils.assertEqualsToFile(newFile, FileUtil.loadFile(GenerateProtoBufCompare.DEST_FILE)) }