From cfd267beebdc6377e49f1ac183b88859e8b92413 Mon Sep 17 00:00:00 2001 From: "forkline-dev[bot]" Date: Fri, 13 Nov 2026 18:25:32 +0000 Subject: [PATCH 1/2] fix(test): update Robolectric SDK config from 23 to 26 Robolectric 4.17 enforces that @Config(sdk) must be >= app minSdk. The app's minSdk is 26, so SDK 23 is no longer valid and causes IllegalArgumentException at UnknownSdk.java:45. Updated both StrictDomainRegexTest and AutofillDecryptActivityTest to use @Config(sdk = [26]) to match the app's minSdk. --- .../passwordstore/ui/autofill/AutofillDecryptActivityTest.kt | 2 +- .../app/passwordstore/util/viewmodel/StrictDomainRegexTest.kt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/test/java/app/passwordstore/ui/autofill/AutofillDecryptActivityTest.kt b/app/src/test/java/app/passwordstore/ui/autofill/AutofillDecryptActivityTest.kt index 635ba13666..d3581afe85 100644 --- a/app/src/test/java/app/passwordstore/ui/autofill/AutofillDecryptActivityTest.kt +++ b/app/src/test/java/app/passwordstore/ui/autofill/AutofillDecryptActivityTest.kt @@ -16,7 +16,7 @@ import org.robolectric.RuntimeEnvironment import org.robolectric.annotation.Config @RunWith(RobolectricTestRunner::class) -@Config(sdk = [23]) +@Config(sdk = [26]) class AutofillDecryptActivityTest { @Test diff --git a/app/src/test/java/app/passwordstore/util/viewmodel/StrictDomainRegexTest.kt b/app/src/test/java/app/passwordstore/util/viewmodel/StrictDomainRegexTest.kt index 963a997bfa..2c7503777a 100644 --- a/app/src/test/java/app/passwordstore/util/viewmodel/StrictDomainRegexTest.kt +++ b/app/src/test/java/app/passwordstore/util/viewmodel/StrictDomainRegexTest.kt @@ -16,7 +16,7 @@ private infix fun String.matchedForDomain(domain: String) = SearchableRepositoryViewModel.generateStrictDomainRegex(domain)?.containsMatchIn(this) == true @RunWith(RobolectricTestRunner::class) -@Config(sdk = [23]) +@Config(sdk = [26]) class StrictDomainRegexTest { @Test From cdca11913c2c864d4666254fecadc83f25e9cf3e Mon Sep 17 00:00:00 2001 From: "forkline-dev[bot]" Date: Fri, 13 Nov 2026 18:31:33 +0000 Subject: [PATCH 2/2] refactor(test): remove brittle SDK pins and unnecessary Robolectric - Remove @Config(sdk=[26]) from AutofillDecryptActivityTest to let Robolectric use its default SDK selection (targetSdk clamped to max supported). This eliminates the root cause: hardcoded SDK pins break when minSdk changes. - Remove Robolectric entirely from StrictDomainRegexTest since it tests pure Kotlin regex logic (generateStrictDomainRegex) with no Android dependencies. This makes the test faster and eliminates SDK coupling for 6 of 7 previously affected tests. Both changes improve maintainability by removing brittle SDK configuration that caused the original CI failures. --- .../passwordstore/ui/autofill/AutofillDecryptActivityTest.kt | 2 -- .../passwordstore/util/viewmodel/StrictDomainRegexTest.kt | 5 ----- 2 files changed, 7 deletions(-) diff --git a/app/src/test/java/app/passwordstore/ui/autofill/AutofillDecryptActivityTest.kt b/app/src/test/java/app/passwordstore/ui/autofill/AutofillDecryptActivityTest.kt index d3581afe85..aab673203a 100644 --- a/app/src/test/java/app/passwordstore/ui/autofill/AutofillDecryptActivityTest.kt +++ b/app/src/test/java/app/passwordstore/ui/autofill/AutofillDecryptActivityTest.kt @@ -13,10 +13,8 @@ import kotlin.test.assertNotNull import org.junit.runner.RunWith import org.robolectric.RobolectricTestRunner import org.robolectric.RuntimeEnvironment -import org.robolectric.annotation.Config @RunWith(RobolectricTestRunner::class) -@Config(sdk = [26]) class AutofillDecryptActivityTest { @Test diff --git a/app/src/test/java/app/passwordstore/util/viewmodel/StrictDomainRegexTest.kt b/app/src/test/java/app/passwordstore/util/viewmodel/StrictDomainRegexTest.kt index 2c7503777a..914fe0d904 100644 --- a/app/src/test/java/app/passwordstore/util/viewmodel/StrictDomainRegexTest.kt +++ b/app/src/test/java/app/passwordstore/util/viewmodel/StrictDomainRegexTest.kt @@ -8,15 +8,10 @@ import kotlin.test.Test import kotlin.test.assertFalse import kotlin.test.assertNull import kotlin.test.assertTrue -import org.junit.runner.RunWith -import org.robolectric.RobolectricTestRunner -import org.robolectric.annotation.Config private infix fun String.matchedForDomain(domain: String) = SearchableRepositoryViewModel.generateStrictDomainRegex(domain)?.containsMatchIn(this) == true -@RunWith(RobolectricTestRunner::class) -@Config(sdk = [26]) class StrictDomainRegexTest { @Test