test: support multiple responses per AT fixture - #242
Open
FUjr wants to merge 3 commits into
Open
Conversation
Represent each command as a stable fixture with an independent responses array so captures from different devices and modem states no longer overwrite one another. Append and deduplicate response bytes during collection, sanitize every response while packing, validate the array during import, and normalize legacy single-response feedback archives. Replay every raw response independently. Golden methods still use the baseline response, then rerun with each additional response for commands they actually consumed to verify parser compatibility without imposing call-order semantics.
Wrap all existing Air724UG, recognition, and Quectel command responses in the multi-response schema while preserving their original bytes, return codes, timestamps, profile metadata, and golden snapshots.
Group repeated AT responses by an explicit scenario and consume each command queue in capture order. Fail fixture replay when a command is missing or exhausted so tests cannot silently combine responses from incompatible modem states. Store golden outputs below expected/<scenario>, compare read-only vendor methods exactly, and migrate the existing feedback and synthetic fixtures to the scenario-aware layout. Serialize concurrent fixture collection, preserve identical repeated calls, and retain a stable capture sequence so archive imports remain idempotent while replay order can be normalized. Extend collection, import, profile, recognition, and CI coverage for the new behavior.
FUjr
force-pushed
the
feat/fixture-multiple-responses
branch
from
August 8, 2026 13:42
5166995 to
cc7028b
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
responses[]instead of overwriting one response per commandValidation
git diff --checkThe full encrypted feedback path remains covered by the existing GitHub Actions job, which builds qmodem-seal with libsodium.