From 97cf09b45a12cee9a0c7855b120dc9f3afd84ba5 Mon Sep 17 00:00:00 2001 From: Ilya Gorbunov Date: Sat, 21 Oct 2017 21:40:32 +0300 Subject: [PATCH] Do not fail build on TC when some tests fail, just report problem Required to have green builds with failing tests muted. --- build.gradle.kts | 5 +++++ buildSrc/src/main/kotlin/tasks.kt | 1 - libraries/stdlib/js/build.gradle | 1 + 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index 7bcbdd156b3..4246d104b20 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -217,6 +217,7 @@ fun Task.listConfigurationContents(configName: String) { val defaultJvmTarget = "1.8" val defaultJavaHome = jdkPath(defaultJvmTarget!!) +val ignoreTestFailures by extra(project.findProperty("ignoreTestFailures")?.toString()?.toBoolean() ?: project.hasProperty("teamcity")) allprojects { @@ -252,6 +253,10 @@ allprojects { } } + tasks.withType(VerificationTask::class.java as Class) { + (this as VerificationTask).ignoreFailures = ignoreTestFailures + } + tasks.withType { enabled = false } diff --git a/buildSrc/src/main/kotlin/tasks.kt b/buildSrc/src/main/kotlin/tasks.kt index 4e5a8cae64e..ba50797579d 100644 --- a/buildSrc/src/main/kotlin/tasks.kt +++ b/buildSrc/src/main/kotlin/tasks.kt @@ -47,7 +47,6 @@ fun Project.projectTest(taskName: String = "test", body: Test.() -> Unit = {}): environment("PROJECT_CLASSES_DIRS", the().sourceSets.getByName("test").output.classesDirs.asPath) environment("PROJECT_BUILD_DIR", buildDir) systemProperty("jps.kotlin.home", rootProject.extra["distKotlinHomeDir"]) - ignoreFailures = System.getenv("kotlin_build_ignore_test_failures")?.let { it == "yes" } ?: false body() } diff --git a/libraries/stdlib/js/build.gradle b/libraries/stdlib/js/build.gradle index 1ee8c4769ec..ddf4bad9b43 100644 --- a/libraries/stdlib/js/build.gradle +++ b/libraries/stdlib/js/build.gradle @@ -291,6 +291,7 @@ karma { karmaGenerateConfig.outputs.upToDateWhen { false } karmaRun { + ignoreExitValue = Boolean.valueOf(ignoreTestFailures) dependsOn testClasses dependsOn tasks.getByPath(':kotlin-test:kotlin-test-js:testClasses') }