Skip to content

Commit 26cd58e

Browse files
authored
Add support for test sharding (#272)
* Add a common testutil module for shared helpers * Introduce ShardingFilter and mirror support for 'numShards' and 'shardIndex'
1 parent 6def54e commit 26cd58e

File tree

22 files changed

+444
-126
lines changed

22 files changed

+444
-126
lines changed

build-logic/src/main/kotlin/Dependencies.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ object libs {
4343
const val mockitoKotlin = "com.nhaarman.mockitokotlin2:mockito-kotlin:2.2.0"
4444
const val truth = "com.google.truth:truth:${versions.truth}"
4545
const val truthJava8Extensions = "com.google.truth.extensions:truth-java8-extension:${versions.truth}"
46+
const val robolectric = "org.robolectric:robolectric:4.8.1"
4647

4748
const val androidXTestCore = "androidx.test:core:${versions.androidXTest}"
4849
const val androidXTestRunner = "androidx.test:runner:${versions.androidXTest}"

instrumentation/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ Change Log
33

44
## Unreleased
55
- Update formatting of instrumentation test names to prevent breaking generation of log files in newer versions of AGP (#263)
6+
- Add support for test sharding (#270)
67

78
## 1.3.0 (2021-09-17)
89

instrumentation/core/build.gradle.kts

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -108,11 +108,7 @@ dependencies {
108108
androidTestRuntimeOnly(project(":runner"))
109109
androidTestRuntimeOnly(libs.junitJupiterEngine)
110110

111-
testImplementation(libs.junitJupiterApi)
112-
testImplementation(libs.mockitoCore)
113-
testImplementation(libs.mockitoKotlin)
114-
testImplementation(libs.truth)
115-
testImplementation(libs.truthJava8Extensions)
111+
testImplementation(project(":testutil"))
116112
}
117113

118114
project.configureDeployment(Artifacts.Instrumentation.Core)

instrumentation/core/src/test/java/de/mannodermaus/junit5/condition/DisabledIfBuildConfigValueConditionTests.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package de.mannodermaus.junit5.condition
22

33
import com.google.common.truth.Truth.assertThat
44
import de.mannodermaus.junit5.internal.DisabledIfBuildConfigValueCondition
5-
import de.mannodermaus.junit5.util.AndroidBuildUtils.withMockedInstrumentation
5+
import de.mannodermaus.junit5.testutil.AndroidBuildUtils.withMockedInstrumentation
66
import de.mannodermaus.junit5.util.RESOURCE_LOCK_INSTRUMENTATION
77
import org.junit.jupiter.api.Test
88
import org.junit.jupiter.api.assertThrows

instrumentation/core/src/test/java/de/mannodermaus/junit5/condition/DisabledOnManufacturerConditionTests.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package de.mannodermaus.junit5.condition
22

33
import com.google.common.truth.Truth.assertThat
44
import de.mannodermaus.junit5.internal.DisabledOnManufacturerCondition
5-
import de.mannodermaus.junit5.util.AndroidBuildUtils.withManufacturer
5+
import de.mannodermaus.junit5.testutil.AndroidBuildUtils.withManufacturer
66
import org.junit.jupiter.api.Test
77
import org.junit.jupiter.api.assertThrows
88
import org.junit.jupiter.api.extension.ExecutionCondition

instrumentation/core/src/test/java/de/mannodermaus/junit5/condition/DisabledOnSdkVersionConditionTests.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package de.mannodermaus.junit5.condition
22

33
import com.google.common.truth.Truth.assertThat
44
import de.mannodermaus.junit5.internal.DisabledOnSdkVersionCondition
5-
import de.mannodermaus.junit5.util.AndroidBuildUtils.withApiLevel
5+
import de.mannodermaus.junit5.testutil.AndroidBuildUtils.withApiLevel
66
import org.junit.jupiter.api.Test
77
import org.junit.jupiter.api.assertThrows
88
import org.junit.jupiter.api.extension.ExecutionCondition

instrumentation/core/src/test/java/de/mannodermaus/junit5/condition/EnabledIfBuildConfigValueConditionTests.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package de.mannodermaus.junit5.condition
22

33
import com.google.common.truth.Truth.assertThat
44
import de.mannodermaus.junit5.internal.EnabledIfBuildConfigValueCondition
5-
import de.mannodermaus.junit5.util.AndroidBuildUtils.withMockedInstrumentation
5+
import de.mannodermaus.junit5.testutil.AndroidBuildUtils.withMockedInstrumentation
66
import de.mannodermaus.junit5.util.RESOURCE_LOCK_INSTRUMENTATION
77
import org.junit.jupiter.api.Test
88
import org.junit.jupiter.api.assertThrows

instrumentation/core/src/test/java/de/mannodermaus/junit5/condition/EnabledOnManufacturerConditionTests.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package de.mannodermaus.junit5.condition
22

33
import com.google.common.truth.Truth.assertThat
44
import de.mannodermaus.junit5.internal.EnabledOnManufacturerCondition
5-
import de.mannodermaus.junit5.util.AndroidBuildUtils.withManufacturer
5+
import de.mannodermaus.junit5.testutil.AndroidBuildUtils.withManufacturer
66
import org.junit.jupiter.api.Test
77
import org.junit.jupiter.api.assertThrows
88
import org.junit.jupiter.api.extension.ExecutionCondition

instrumentation/core/src/test/java/de/mannodermaus/junit5/condition/EnabledOnSdkVersionConditionTests.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package de.mannodermaus.junit5.condition
22

33
import com.google.common.truth.Truth.assertThat
44
import de.mannodermaus.junit5.internal.EnabledOnSdkVersionCondition
5-
import de.mannodermaus.junit5.util.AndroidBuildUtils.withApiLevel
5+
import de.mannodermaus.junit5.testutil.AndroidBuildUtils.withApiLevel
66
import org.junit.jupiter.api.Test
77
import org.junit.jupiter.api.assertThrows
88
import org.junit.jupiter.api.extension.ExecutionCondition

instrumentation/core/src/test/java/de/mannodermaus/junit5/util/AndroidBuildUtils.kt

Lines changed: 0 additions & 82 deletions
This file was deleted.

0 commit comments

Comments
 (0)