From 8c75b964a6f7f727a0a306913f26715570adb169 Mon Sep 17 00:00:00 2001 From: Matthew Raymer Date: Mon, 8 Dec 2025 10:40:42 +0000 Subject: [PATCH] test(phase3): fix TEST 2 missed count extraction for duplicate boot recovery Boot recovery runs twice on Android (both LOCKED_BOOT_COMPLETED and BOOT_COMPLETED fire). The first run marks missed alarms (missed=1), while the second run only reschedules future alarms (missed=0). TEST 2 was incorrectly extracting the last entry (missed=0) instead of the first entry (missed=1), causing false test failures. Changes: - Extract first missed count using head -n1 instead of tail -n1 - Add comment explaining why first entry is needed - Test now correctly validates missed alarm detection Fixes test validation for past alarm detection during boot recovery. --- test-apps/android-test-app/test-phase3.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/test-apps/android-test-app/test-phase3.sh b/test-apps/android-test-app/test-phase3.sh index c7a692f..14a9f84 100755 --- a/test-apps/android-test-app/test-phase3.sh +++ b/test-apps/android-test-app/test-phase3.sh @@ -164,7 +164,10 @@ test2_boot_past_alarms() { echo "$logs" local missed rescheduled verified errors scenario - missed="$(extract_field_from_logs "$logs" "missed")" + # For TEST 2, we need the FIRST entry (which has missed count) not the last + # Boot recovery runs twice (LOCKED_BOOT_COMPLETED and BOOT_COMPLETED) + # First run marks missed alarms, second run only reschedules (missed=0) + missed="$(echo "$logs" | grep -E "missed=" | sed -E "s/.*missed=([0-9]+).*/\1/" | head -n1 || echo "0")" rescheduled="$(extract_field_from_logs "$logs" "rescheduled")" verified="$(extract_field_from_logs "$logs" "verified")" errors="$(extract_field_from_logs "$logs" "errors")"