Skip to main content

End-to-End Smoke Test

Run this test after flashing full firmware. It verifies the complete system end-to-end.


Prerequisites

  • Full firmware flashed and running
  • alarm.wav present in LittleFS at /lfs/alarms/alarm.wav (partition image flashed)
  • WiFi credentials configured in NVS
  • Serial monitor open

Test Checklist

T1 — Boot and Clock Display

#ActionExpected
T1.1Power onSerial shows startup sequence: NVS, LittleFS mount, RTC read, display render
T1.2Observe displayClock face shows correct time and date
T1.3Wait 1 minuteClock updates the displayed minutes

T2 — WiFi and NTP Sync

#ActionExpected
T2.1Wait 30–60 s after bootSerial shows "WiFi Connected" and "NTP Synced"
T2.2Power cycleTime reads correctly after reboot (from RTC, no WiFi required)

T3 — Alarm Set and Fire

#ActionExpected
T3.1Long-press SELECTMenu appears on display
T3.2Press DOWN to "Set alarm", press SELECTAlarm set screen appears
T3.3Use UP/DOWN to set time 2 minutes from now, press SELECT to saveAlarm confirmed on display
T3.4Wait 2 minutesAudio plays; display shows alarm screen
T3.5Observe serialI (...) alarm: Alarm fired: HH:MM

T4 — Snooze

#ActionExpected
T4.1While alarm is ringing, press SNOOZEAudio stops; display shows "Snoozed" screen with refire time
T4.2Wait 9 minutesAlarm refires; audio plays again
T4.3Press DISMISSAudio stops; clock face returns

T5 — Dismiss

#ActionExpected
T5.1Set a second alarm 1 minute out
T5.2When it fires, press DISMISS immediatelyAudio stops; clock face returns; alarm does not refire

T6 — Persistence Across Power Cycle

#ActionExpected
T6.1Set an alarm for tomorrow at 07:00
T6.2Power off and onAlarm is still configured (read back from NVS)

T7 — WiFi Not Available

#ActionExpected
T7.1Disable WiFi access point (or put wrong password in NVS temporarily)ESP32 boots, shows clock, operates normally
T7.2Verify time is accurateRTC maintains time without WiFi

Pass Criteria

All 7 test groups must pass. Any failure indicates a bug in the corresponding subsystem:

  • T1 failure → display driver or startup sequence
  • T2 failure → WiFi/NTP integration or RTC write-back
  • T3 failure → alarm scheduling logic
  • T4 failure → snooze logic
  • T5 failure → dismiss logic or one-shot alarm flag
  • T6 failure → NVS persistence
  • T7 failure → boot sequence incorrectly depends on WiFi