File tree Expand file tree Collapse file tree 1 file changed +17
-0
lines changed
buildSrc/src/main/kotlin/datadog/gradle/plugin/ci Expand file tree Collapse file tree 1 file changed +17
-0
lines changed Original file line number Diff line number Diff line change 11package datadog.gradle.plugin.ci
22
3+ import org.gradle.api.GradleException
34import org.gradle.api.Project
45import org.gradle.api.Task
6+ import org.gradle.api.tasks.testing.Test
57import org.gradle.kotlin.dsl.extra
68
79/* *
@@ -45,6 +47,8 @@ private fun Project.createRootTask(
4547) {
4648 val coverage = forceCoverage || rootProject.providers.gradleProperty(" checkCoverage" ).isPresent
4749 tasks.register(rootTaskName) {
50+ val includedTestTasks = mutableListOf<Test >()
51+
4852 subprojects.forEach { subproject ->
4953 val activePartition = subproject.extra.get(" activePartition" ) as Boolean
5054 if (
@@ -70,6 +74,9 @@ private fun Project.createRootTask(
7074 }
7175 if (isAffected) {
7276 dependsOn(testTask)
77+ if (testTask is Test ) {
78+ includedTestTasks.add(testTask)
79+ }
7380 }
7481 }
7582
@@ -85,6 +92,16 @@ private fun Project.createRootTask(
8592 }
8693 }
8794 }
95+
96+ doLast {
97+ val failedTests = includedTestTasks.filter { testTask ->
98+ testTask.state.failure != null
99+ }
100+ if (failedTests.isNotEmpty()) {
101+ val failedTaskPaths = failedTests.map { " ${it.project.path} :${it.name} " }
102+ throw GradleException (" Tests failed in: ${failedTaskPaths.joinToString(" , " )} " )
103+ }
104+ }
88105 }
89106}
90107
You can’t perform that action at this time.
0 commit comments