From 45acaca5a8745d486f5a7d0a05161eff5b26d9e0 Mon Sep 17 00:00:00 2001 From: Nariman Abdullin Date: Fri, 15 Dec 2023 19:10:45 +0300 Subject: [PATCH 1/2] Return exit code 1 when not all errors are fixed ### What's done: - calculate only not fixed errors - return 1 when there are errors --- .../com/saveourtool/diktat/api/DiktatProcessorListener.kt | 4 +++- .../src/main/kotlin/com/saveourtool/diktat/DiktatMain.kt | 6 +++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/diktat-api/src/main/kotlin/com/saveourtool/diktat/api/DiktatProcessorListener.kt b/diktat-api/src/main/kotlin/com/saveourtool/diktat/api/DiktatProcessorListener.kt index 35c202804d..489cc5ea69 100644 --- a/diktat-api/src/main/kotlin/com/saveourtool/diktat/api/DiktatProcessorListener.kt +++ b/diktat-api/src/main/kotlin/com/saveourtool/diktat/api/DiktatProcessorListener.kt @@ -88,7 +88,9 @@ interface DiktatProcessorListener { error: DiktatError, isCorrected: Boolean ) { - incrementAndGet() + if (!isCorrected) { + incrementAndGet() + } } } } diff --git a/diktat-cli/src/main/kotlin/com/saveourtool/diktat/DiktatMain.kt b/diktat-cli/src/main/kotlin/com/saveourtool/diktat/DiktatMain.kt index e0be27e5b1..1daa35806d 100644 --- a/diktat-cli/src/main/kotlin/com/saveourtool/diktat/DiktatMain.kt +++ b/diktat-cli/src/main/kotlin/com/saveourtool/diktat/DiktatMain.kt @@ -14,6 +14,7 @@ import java.nio.file.Path import java.nio.file.Paths import kotlin.io.path.absolutePathString +import kotlin.system.exitProcess private val log = KotlinLogging.logger { } @@ -39,7 +40,7 @@ fun main(args: Array) { ) val diktatRunner = diktatRunnerFactory(diktatRunnerArguments) - when (properties.mode) { + val unfixedErrors = when (properties.mode) { DiktatMode.CHECK -> diktatRunner.checkAll(diktatRunnerArguments) DiktatMode.FIX -> diktatRunner.fixAll(diktatRunnerArguments) { updatedFile -> log.warn { @@ -47,4 +48,7 @@ fun main(args: Array) { } } } + if (unfixedErrors > 0) { + exitProcess(1) + } } From 263ae063925afc26a353c87dd033ff8c20542e96 Mon Sep 17 00:00:00 2001 From: Nariman Abdullin Date: Mon, 18 Dec 2023 10:15:53 +0300 Subject: [PATCH 2/2] updated test to expect 1 at the end --- .../test/kotlin/com/saveourtool/diktat/smoke/DiktatCliTest.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/diktat-cli/src/test/kotlin/com/saveourtool/diktat/smoke/DiktatCliTest.kt b/diktat-cli/src/test/kotlin/com/saveourtool/diktat/smoke/DiktatCliTest.kt index 9c3dc622b8..f3cf04a864 100644 --- a/diktat-cli/src/test/kotlin/com/saveourtool/diktat/smoke/DiktatCliTest.kt +++ b/diktat-cli/src/test/kotlin/com/saveourtool/diktat/smoke/DiktatCliTest.kt @@ -78,7 +78,7 @@ class DiktatCliTest { val diktatCliProcess = processBuilder.start() val exitCode = diktatCliProcess.waitFor() - softly.assertThat(exitCode).describedAs("The exit code of Diktat CLI").isZero + softly.assertThat(exitCode).describedAs("The exit code of Diktat CLI").isOne softly.assertThat(diktatCliLog).isRegularFile