From 3c8e7bdfb121738cb1677a4507e503c7587d2b40 Mon Sep 17 00:00:00 2001 From: Vladimir Sukharev Date: Wed, 10 Jan 2024 18:08:09 +0100 Subject: [PATCH] [K/N][Tests] Refactor to AssertionsMode.assertionsEnabledWith() --- .../support/compilation/TestCompilation.kt | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/native/native.tests/tests/org/jetbrains/kotlin/konan/test/blackbox/support/compilation/TestCompilation.kt b/native/native.tests/tests/org/jetbrains/kotlin/konan/test/blackbox/support/compilation/TestCompilation.kt index 7a6bb1fd4ac..49ec90dff7c 100644 --- a/native/native.tests/tests/org/jetbrains/kotlin/konan/test/blackbox/support/compilation/TestCompilation.kt +++ b/native/native.tests/tests/org/jetbrains/kotlin/konan/test/blackbox/support/compilation/TestCompilation.kt @@ -25,6 +25,12 @@ import org.jetbrains.kotlin.test.services.JUnit5Assertions.assertTrue import org.jetbrains.kotlin.test.services.JUnit5Assertions.fail import java.io.File +private fun AssertionsMode.assertionsEnabledWith(optimizationMode: OptimizationMode) = when (this) { + AssertionsMode.ALWAYS_ENABLE -> true + AssertionsMode.ALWAYS_DISABLE -> false + else -> optimizationMode != OptimizationMode.OPT +} + internal abstract class TestCompilation { abstract val result: TestCompilationResult } @@ -55,8 +61,7 @@ internal abstract class BasicCompilation( private fun ArgsBuilder.applyCommonArgs() { add("-target", targets.testTarget.name) optimizationMode.compilerFlag?.let { compilerFlag -> add(compilerFlag) } - if ((freeCompilerArgs.assertionsMode != AssertionsMode.ALWAYS_DISABLE && optimizationMode != OptimizationMode.OPT) || - freeCompilerArgs.assertionsMode == AssertionsMode.ALWAYS_ENABLE) + if (freeCompilerArgs.assertionsMode.assertionsEnabledWith(optimizationMode)) add("-enable-assertions") add( "-Xverify-ir=error" @@ -554,14 +559,8 @@ internal class CategorizedDependencies(uncategorizedDependencies: Iterable { - val panic = mapOf("runtimeAssertionsMode" to "panic") - return when (assertionsMode) { - AssertionsMode.ALWAYS_ENABLE -> panic - AssertionsMode.ALWAYS_DISABLE -> mapOf() - else -> if (optimizationMode == OptimizationMode.OPT) mapOf() else panic - } - } + fun defaultForTesting(optimizationMode: OptimizationMode, assertionsMode: AssertionsMode) = + if (assertionsMode.assertionsEnabledWith(optimizationMode)) mapOf("runtimeAssertionsMode" to "panic") else mapOf() val forUseWithCache: Map = mapOf("runtimeAssertionsMode" to "ignore")