# Global per-test timeout. Without it, a widget test that pumpAndSettle()s a # screen with a never-settling source (a live Drift/Nostr stream, a periodic # Timer, connectivity_plus, a plugin) waits at the 10-minute default and the # whole run LOOKS hung. With this, such a test FAILS in 90s and names itself. # # The everyday, hang-proof gate is the logic layer, not widgets: # dart test packages/commons_core # pure Dart, ~1s # flutter test test/services # logic + in-memory DB, ~10s, no widgets # Run widget tests targeted (flutter test test/ui/), never blind, and # never pumpAndSettle a live screen — pump(Duration) a bounded number of times. # # A genuinely slower (but finite) test can opt out with @Timeout(Duration(...)). timeout: 90s tags: # Localized store/landing screenshots (test/screenshots/). These are asset # GENERATION, not a correctness gate, and golden pixel-matching is sensitive # to OS/font/Flutter version — so they must NOT run in the normal suite (incl. # CI's `flutter test --coverage`). Run them explicitly: # flutter test --run-skipped --tags screenshots test/screenshots/ # add --update-goldens to (re)write the PNGs. screenshots: skip: "asset generation; run with --run-skipped --tags screenshots"