From 0caf0b5e11f534312d4c8c3c67798ef47f5d45c4 Mon Sep 17 00:00:00 2001 From: Egor Zhdan Date: Wed, 11 Nov 2020 20:11:14 +0300 Subject: [PATCH] Allow disabling reporting of filtered out test suites This change adds a command line argument which hides the test suites that don't match the filter from the report --- .../kotlin/kotlin/native/internal/test/TestRunner.kt | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/kotlin-native/runtime/src/main/kotlin/kotlin/native/internal/test/TestRunner.kt b/kotlin-native/runtime/src/main/kotlin/kotlin/native/internal/test/TestRunner.kt index 6ca30decc49..91a81e18a04 100644 --- a/kotlin-native/runtime/src/main/kotlin/kotlin/native/internal/test/TestRunner.kt +++ b/kotlin-native/runtime/src/main/kotlin/kotlin/native/internal/test/TestRunner.kt @@ -16,6 +16,7 @@ internal class TestRunner(val suites: List, args: Array) { private var logger: TestLogger = GTestLogger() private var runTests = true private var useExitCode = true + private var reportExcludedTestSuites = true var iterations = 1 private set var exitCode = 0 @@ -37,6 +38,7 @@ internal class TestRunner(val suites: List, args: Array) { logger.log(help); runTests = false } "--ktest_no_exit_code" -> useExitCode = false + "--ktest_no_excluded_test_suites" -> reportExcludedTestSuites = false else -> throw IllegalArgumentException("Unknown option: $it\n$help") } 2 -> { @@ -217,6 +219,9 @@ internal class TestRunner(val suites: List, args: Array) { |--ktest_logger=GTEST|TEAMCITY|SIMPLE|SILENT - Use the specified output format. The default one is GTEST. | |--ktest_no_exit_code - Don't return a non-zero exit code if there are failing tests. + | + |--ktest_no_excluded_test_suites - Don't report test suites that don't match the filter. + | Has no effect when filter is not specified. """.trimMargin() private inline fun sendToListeners(event: TestListener.() -> Unit) { @@ -252,7 +257,9 @@ internal class TestRunner(val suites: List, args: Array) { val iterationTime = measureTimeMillis { suitesFiltered.forEach { if (it.ignored) { - sendToListeners { ignoreSuite(it) } + if (reportExcludedTestSuites) { + sendToListeners { ignoreSuite(it) } + } } else { sendToListeners { startSuite(it) } val time = measureTimeMillis { it.run() }