Skip to content

feat(flutter): read qualflare_flutter markers - #13

Merged
qfroot merged 2 commits into
mainfrom
feat/flutter-markers
Oct 4, 2026
Merged

qfroot merged 2 commits into
mainfrom
feat/flutter-markers

Conversation

@qfroot

@qfroot qfroot commented Oct 4, 2026

Copy link
Copy Markdown
Contributor

Phase 2, Task 3 of the qualflare_flutter plan (docs/superpowers/plans/2026-10-04-qualflare-flutter-package-phase-2.md). The flutter parser now reads the ##qualflare[v1] markers that the qualflare_flutter Dart package prints inside tests.

  • What becomes case data: labels, links, tags and priority (deduplicated across retry attempts; the last priority wins), nested steps with status and duration (from the final attempt), and attachments. Attachments are rebuilt from base64 chunks in any order. An earlier attempt's attachments are named attempt <n>: <name>.
  • Caps:
    • the package's caps of 5 MiB per attachment and 20 MiB per test are re-applied;
    • non-image attachments get the same inline budget as xctest (1 MiB each, 8 MiB per file), so a large JSON can no longer get the whole launch rejected;
    • images are uploaded through the presigned flow, as before.
  • Marker lines are removed from system-out and attempt output. Warnings about dropped or malformed markers are appended after the output clamp, so they survive chatty tests.
  • Results without markers parse exactly as in v0.2.0. Golden files, generated from the unchanged parser, pin this for all four phase-1 captures.

Tests: golden tests against three real results files from the package's example suite, run on CI on Linux, an Android emulator and an iOS simulator (Qualflare/qualflare-flutter#2). Synthetic tests (named as such) cover interleaved and out-of-order chunks, incomplete attachments, unknown versions, malformed lines, markers after testDone, hidden tests, caps and the inline budget.

Release as v0.3.0 after merge (gated).

qfroot added 2 commits October 4, 2026 18:43
The flutter parser now turns ##qualflare[v1] marker lines printed inside
a test into case labels, links, tags, priority, steps and attachments.
Markers are read per attempt at the existing Retry: boundaries: steps
come from the final attempt, attachments from every attempt (earlier
ones named 'attempt <n>: <name>'), within the 5 MiB / 20 MiB caps.
Marker lines never reach system-out or attempt stdout; problems become
'qualflare: <warning>' output lines. Results without markers parse as
in v0.2.0 (golden suites under testdata/v0.2.0).
@qfroot
qfroot merged commit 04cbd77 into main Oct 4, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant