End-to-end tests: IR updates → probes → SystemState snapshots #6

Open
opened 2026-06-15 13:23:35 +02:00 by yorunikakeru · 0 comments
Owner

Цель

Проверить Watcher как актор целиком без зависимости от host /proc и /sys.

Scope

  • Fake clock/paused tokio time для точной проверки polling intervals.
  • Fake probes с управляемыми results и errors.
  • Fixtures IR v2 для process, CPU, battery, and, not, duplicate sources и разных intervals.
  • Сценарии initial IR, identical IR, changed interval, added/removed condition, invalid replacement IR и shutdown.
  • Проверка latest-wins поведения watch::Receiver<SystemState>.
  • Проверка recovery после transient probe failure.
  • Linux smoke test реальных probes, отделённый от deterministic suite и не зависящий от наличия battery.

Критерии приёмки

  • Tests доказывают dedupe (source, interval) из #1.
  • Tests доказывают отсутствие публикации при неизменном state.
  • Tests доказывают сохранение последней рабочей конфигурации после invalid IR update.
  • Tests доказывают отмену obsolete polling tasks и отсутствие tick после shutdown.
  • Suite стабильно проходит локально и в Nix check без sleep-based timing.

Зависимости

  • #1-#5.
## Цель Проверить Watcher как актор целиком без зависимости от host `/proc` и `/sys`. ## Scope - Fake clock/paused tokio time для точной проверки polling intervals. - Fake probes с управляемыми results и errors. - Fixtures IR v2 для process, CPU, battery, `and`, `not`, duplicate sources и разных intervals. - Сценарии initial IR, identical IR, changed interval, added/removed condition, invalid replacement IR и shutdown. - Проверка latest-wins поведения `watch::Receiver<SystemState>`. - Проверка recovery после transient probe failure. - Linux smoke test реальных probes, отделённый от deterministic suite и не зависящий от наличия battery. ## Критерии приёмки - Tests доказывают dedupe `(source, interval)` из #1. - Tests доказывают отсутствие публикации при неизменном state. - Tests доказывают сохранение последней рабочей конфигурации после invalid IR update. - Tests доказывают отмену obsolete polling tasks и отсутствие tick после shutdown. - Suite стабильно проходит локально и в Nix check без sleep-based timing. ## Зависимости - #1-#5.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
FrogOS/Toad#6
No description provided.