diff --git a/app/src/test/java/org/libremediaconverter/AppRootRestorationTest.kt b/app/src/test/java/org/libremediaconverter/AppRootRestorationTest.kt index 07dd1f0..5c125b7 100644 --- a/app/src/test/java/org/libremediaconverter/AppRootRestorationTest.kt +++ b/app/src/test/java/org/libremediaconverter/AppRootRestorationTest.kt @@ -33,9 +33,12 @@ import org.robolectric.RobolectricTestRunner * representation survives a `Bundle` round trip. A JVM round-trip test on the * saver covers the representation. * - * Robolectric rather than the instrumented suite, deliberately. The instrumented tests - * cannot run on the development host at all (see CLAUDE.md), and a red test nobody can - * execute is not a loop anyone can work in. + * Robolectric rather than the instrumented suite, deliberately -- but not because the + * instrumented suite is unavailable. It runs on this host for API 33-36 + * (`tools/local-emulator/run-e2e.sh`), and CI runs 33-37. The reason is cost: this test + * needs a composition and a saved-state round trip, nothing a device supplies, and it runs + * in the same `./gradlew` invocation as every other JVM test instead of booting an + * emulator. A loop measured in seconds is a loop people stay inside. */ @UnstableApi @RunWith(RobolectricTestRunner::class) diff --git a/app/src/test/java/org/libremediaconverter/convert/OutputPublisherStagingTest.kt b/app/src/test/java/org/libremediaconverter/convert/OutputPublisherStagingTest.kt index 4419919..f778f5a 100644 --- a/app/src/test/java/org/libremediaconverter/convert/OutputPublisherStagingTest.kt +++ b/app/src/test/java/org/libremediaconverter/convert/OutputPublisherStagingTest.kt @@ -18,8 +18,10 @@ import java.util.UUID * the actual filesystem — the same calls `reset()` makes, without needing a ViewModel (both * of those construct a `WorkManager`, which is not initialised on the JVM classpath). * - * The instrumented suite cannot run on the development host, so this is the only place the - * "Start over leaks a full-size copy" defect can be caught before CI. + * The instrumented suite could also catch the "Start over leaks a full-size copy" defect -- + * it runs on this host for API 33-36 (`tools/local-emulator/run-e2e.sh`) and on CI for + * 33-37. Here rather than there because a real `cacheDir` is all the defect needs, and + * finding it costs an emulator boot there and a few seconds here. */ @RunWith(RobolectricTestRunner::class) class OutputPublisherStagingTest {