diff options
| author | Claude <noreply@anthropic.com> | 2026-09-21 19:40:45 +0000 |
|---|---|---|
| committer | Claude <noreply@anthropic.com> | 2026-09-21 19:40:45 +0000 |
| commit | c89250698116180acfe9a98c24e2e5291e050240 (patch) | |
| tree | e05fc28d7ee8b63410a866b4c4b70aac789f78ef /test | |
| parent | 35fd5e07e4a2554f62ed350b9d193a255901ce02 (diff) | |
gradle-report: a missing report is a failure, not a pass
The lint path was wrong -- AGP writes to app/build/reports/, not app/build/ --
and the script fell back to the gradle exit code, printing
'report: MISSING ... result: PASS'. A checker that cannot find what it is
meant to check and passes anyway is precisely the failure these wrappers
exist to prevent, and it hid real lint errors in Listen for one run.
Now locates the report rather than assuming a path, and a missing report fails
while saying the check did not actually inspect anything.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018AwnALZL6bD4VBtATDVv3B
Diffstat (limited to 'test')
| -rwxr-xr-x | test/run-tests.sh | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/test/run-tests.sh b/test/run-tests.sh index 0e655d0..1c75cd7 100755 --- a/test/run-tests.sh +++ b/test/run-tests.sh @@ -219,6 +219,17 @@ fi out=$("$BIN/gradle-report" "$tmproot/nope" detekt 2>&1); rc=$? if [ $rc -eq 2 ]; then ok "missing project dir is fatal"; else bad "missing dir" "rc=$rc"; fi +# A missing report must fail, not fall through to the exit code. A hardcoded path that stops +# resolving would otherwise report PASS forever while inspecting nothing. +d="$tmproot/report-noreport" +make_project "$d" 0 +out=$("$BIN/gradle-report" "$d" detekt 2>&1); rc=$? +if [ $rc -ne 0 ] && printf '%s' "$out" | grep -qi "did NOT inspect"; then + ok "a missing report fails instead of passing on exit code" +else + bad "missing report" "rc=$rc out=$out" +fi + printf '=== android-ui ===\n' # 16. Usage validation without a device. |
