From f1d03f7bd675050a088e7baf3de648088e7f7e4b Mon Sep 17 00:00:00 2001 From: Peter Stone Date: Fri, 18 Sep 2026 21:04:49 +0000 Subject: Require the devtools wrappers for build/test and launch verification MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Each of these happened here and was reported as fact: Gradle running against a different directory after a silent `cd` failure; `adb shell monkey` reporting a healthy app as crashed and a crashed app as healthy on the same emulator minutes apart; and `adb install` refusing a filename into /dev/null, leaving the previous build installed and under test. Points at /workspace/devtools, which reports from exit codes, parsed JUnit XML, and a logcat capture started before launch. Documentation only — no production code touched, so no red step applies. --- CLAUDE.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/CLAUDE.md b/CLAUDE.md index 59b2350..f136fdc 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -112,3 +112,25 @@ checklist: - The migration-test requirement exists because `AppDatabase` is on its 11th schema version with zero migration tests, several of which are one-off hardcoded data repairs — exactly the kind of change most likely to corrupt a real, non-reproducible production DB if wrong. + +## Build & test verification — mandatory + +**Never conclude a build or test result from grepped console output**, and never +verify a launch with `adb shell monkey`. Use the shared wrappers, which report +from exit codes, parsed JUnit XML, and a logcat capture started before launch: + +``` +/workspace/devtools/bin/gradle-test /workspace/feedreader -- --rerun-tasks +/workspace/devtools/bin/android-launch-check org.terst.feedreader \ + --apk app/build/outputs/apk/debug/app-debug.apk --settle 15 +``` + +These exist because each of the following happened in this repo and was reported +as fact: Gradle running against a different directory after a silent `cd` +failure, `monkey` reporting a healthy app as crashed and a crashed app as +healthy, and `adb install` refusing a filename into `/dev/null` so the previous +build stayed installed and got tested instead. + +`android-launch-check` is also the fastest way to check the schema-downgrade +crash described in the published-APK notes — it prints the fatal stack directly. +See `/workspace/devtools/README.md`. -- cgit v1.2.3