Skip to content

Commit 409a721

Browse files
committed
Allow alternative *AndroidTest.apk suffixes in AndroidTest.zip
Add more ducttape in guessing what is the app apk for a given test apk. Test: Updated the test
1 parent 876c5e3 commit 409a721

File tree

2 files changed

+21
-9
lines changed

2 files changed

+21
-9
lines changed

AndroidXCI/lib/src/main/kotlin/dev/androidx/ci/testRunner/FirebaseTestLabController.kt

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -211,10 +211,15 @@ internal class FirebaseTestLabController(
211211
devicePicker: DevicePicker? = null
212212
): List<TestMatrix> {
213213
val pairs = apks.mapNotNull { uploadedApk ->
214-
val isTestApk = uploadedApk.apkInfo.filePath.endsWith(TEST_APK_SUFFIX)
215-
if (isTestApk) {
214+
val isTestApkWithLegacySuffix = uploadedApk.apkInfo.filePath.endsWith(TEST_APK_SUFFIX_LEGACY)
215+
val isTestApkWithNewSuffix = uploadedApk.apkInfo.filePath.endsWith(TEST_APK_SUFFIX_NEW)
216+
if (isTestApkWithLegacySuffix || isTestApkWithNewSuffix) {
216217
// find the app apk
217-
val targetName = uploadedApk.apkInfo.filePath.replace(TEST_APK_SUFFIX, ".apk")
218+
val targetName = if (isTestApkWithNewSuffix) {
219+
uploadedApk.apkInfo.filePath.replace(TEST_APK_SUFFIX_NEW, ".apk")
220+
} else {
221+
uploadedApk.apkInfo.filePath.replace(TEST_APK_SUFFIX_LEGACY, ".apk")
222+
}
218223
val appApk = apks.firstOrNull {
219224
it.apkInfo.filePath == targetName
220225
}
@@ -240,7 +245,8 @@ internal class FirebaseTestLabController(
240245
}
241246

242247
companion object {
243-
private const val TEST_APK_SUFFIX = "-androidTest.apk"
248+
private const val TEST_APK_SUFFIX_LEGACY = "-androidTest.apk"
249+
private const val TEST_APK_SUFFIX_NEW = "AndroidTest.apk"
244250
}
245251
}
246252

AndroidXCI/lib/src/test/kotlin/dev/androidx/ci/testRunner/FirebaseTestLabControllerTest.kt

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -42,16 +42,21 @@ internal class FirebaseTestLabControllerTest {
4242

4343
@Test
4444
fun testPairing() = runBlocking<Unit> {
45-
val app1Apk = createUploadedApk("app1.apk")
46-
val app1TestApk = createUploadedApk("app1-androidTest.apk")
47-
val app2Apk = createUploadedApk("app2.apk")
48-
val app2TestApk = createUploadedApk("app2-androidTest.apk")
45+
val app1LegacyApk = createUploadedApk("app1Legacy.apk")
46+
val app1LegacyTestApk = createUploadedApk("app1Legacy-androidTest.apk")
47+
val app1Apk = createUploadedApk("app1debug.apk")
48+
val app1TestApk = createUploadedApk("app1debugAndroidTest.apk")
49+
val app2Apk = createUploadedApk("app2debug.apk")
50+
val app2TestApk = createUploadedApk("app2debugAndroidTest.apk")
4951
val placeholderApk = createUploadedApk("placeholder.apk")
5052
val noAppTestApk = createUploadedApk("no-app-apk-androidTest.apk")
53+
5154
val apks = listOf(
5255
app1TestApk,
5356
createUploadedApk("foo.apk"),
5457
createUploadedApk("bar.apk"),
58+
app1LegacyApk,
59+
app1LegacyTestApk,
5560
app1Apk,
5661
app2Apk,
5762
noAppTestApk,
@@ -61,7 +66,7 @@ internal class FirebaseTestLabControllerTest {
6166
apks = apks,
6267
placeholderApk = placeholderApk
6368
)
64-
assertThat(testMatrices).hasSize(3)
69+
assertThat(testMatrices).hasSize(4)
6570
val appApkPaths = testMatrices.mapNotNull {
6671
it.testSpecification.androidInstrumentationTest?.let {
6772
it.appApk!!.gcsPath to it.testApk.gcsPath
@@ -71,6 +76,7 @@ internal class FirebaseTestLabControllerTest {
7176
appApkPaths
7277
).containsExactlyElementsIn(
7378
listOf(
79+
app1LegacyApk.gcsPath.path to app1LegacyTestApk.gcsPath.path,
7480
app1Apk.gcsPath.path to app1TestApk.gcsPath.path,
7581
app2Apk.gcsPath.path to app2TestApk.gcsPath.path,
7682
placeholderApk.gcsPath.path to noAppTestApk.gcsPath.path

0 commit comments

Comments
 (0)