diff --git a/test-apps/android-test-app/test-phase1.sh b/test-apps/android-test-app/test-phase1.sh index 695c45a..5c44b14 100755 --- a/test-apps/android-test-app/test-phase1.sh +++ b/test-apps/android-test-app/test-phase1.sh @@ -824,18 +824,36 @@ main() { info "Post-rollover alarm time: ${post_rollover_alarm_time} (normalized)" # Verify alarm time changed (rollover occurred) - # Compare dates only (YYYY-MM-DD) to detect day change - if [ -n "${initial_alarm_time}" ] && [ -n "${post_rollover_alarm_time}" ]; then - local initial_date=$(echo "${initial_alarm_time}" | cut -d' ' -f1) + # Compare alarm date to current date - if alarm is scheduled for tomorrow or later, rollover worked + if [ -n "${post_rollover_alarm_time}" ]; then + local current_date=$(date +%Y-%m-%d) local post_date=$(echo "${post_rollover_alarm_time}" | cut -d' ' -f1) - if [ "${initial_date}" != "${post_date}" ]; then - ok "Alarm date changed: ${initial_alarm_time} → ${post_rollover_alarm_time}" - rollover_verified=true + # Compare dates: if alarm date is >= current date, it's scheduled for today or future (correct) + # If we also have initial_alarm_time, check if it advanced + if [ -n "${initial_alarm_time}" ]; then + local initial_date=$(echo "${initial_alarm_time}" | cut -d' ' -f1) + if [ "${initial_date}" != "${post_date}" ]; then + ok "Alarm date changed: ${initial_alarm_time} → ${post_rollover_alarm_time}" + rollover_verified=true + elif [ "${post_date}" \> "${current_date}" ] || [ "${post_date}" = "${current_date}" ]; then + # Alarm is scheduled for today or future - this is correct + # If initial was also tomorrow, that's fine - rollover logs will confirm it occurred + info "Alarm scheduled for ${post_date} (current: ${current_date}) - date unchanged from initial, checking rollover logs" + # Don't set rollover_verified yet - let log check determine it + else + warn "Alarm date ${post_date} is in the past (current: ${current_date}) - rollover may have failed" + rollover_verified=false + fi else - warn "Alarm date did NOT change: ${post_rollover_alarm_time} (same date as initial: ${initial_date})" - warn "This indicates the notification did not fire and rollover did not occur" - rollover_verified=false + # No initial alarm time to compare, just check if it's scheduled for future + if [ "${post_date}" \> "${current_date}" ] || [ "${post_date}" = "${current_date}" ]; then + info "Alarm scheduled for ${post_date} (current: ${current_date}) - checking rollover logs for confirmation" + # Don't set rollover_verified yet - let log check determine it + else + warn "Alarm date ${post_date} is in the past (current: ${current_date}) - rollover may have failed" + rollover_verified=false + fi fi fi fi