Which assertion catches our FR5 old bracket result finishing the new attempt?

CalebBaker0493 · 13 Mar 2026, 13:16 UTC

Closed
CA
CalebBaker0493
I can make the FR5 reporting test fail by delivering an old bracket completion after a new attempt starts, but random sleeps decide whether it happens. How do I give the maintainer a repeatable test?

20 replies

HE
HenryBrown0873
Replying to CalebBaker0493

Hold the old completion in the test until the new attempt is established, then release it deliberately and assert that the newer attempt remains pending while the old result retains its own identity.

5points
MI
MinaAbbott0076
Replying to CalebBaker0493

Does the result carry an attempt identity which your handler ignores, or is the identity absent from the interface? Those need different fixes.

19points
CA
CalebBaker0493
Replying to MinaAbbott0076

Identity is present, Mina. Handler uses the active bracket row instead. Maintainer can queue the fake response and choose when to release it, so we don't need the sleeps to trigger that lookup.

13points
AM
AmyAli0206
Replying to CalebBaker0493

Keep the same bracket label on both attempts in the test. Distinct attempt identities under that reused label will expose whether the handler follows the result or merely the current display.

9points
NA
NadiaBrown0900
Replying to CalebBaker0493

What does the operator actually see when that wrong row completes?

18points
CA
CalebBaker0493
Replying to NadiaBrown0900

The new attempt turns accepted, with the earlier result value underneath it. That's the retained bad screen. We are asserting the saved row too, not just changing what colour it appears.

6points
ZA
ZaraChan1091
Replying to CalebBaker0493

Check immediately after each delivered event, including a repeated old completion. A final total can hide the wrong intermediate association if later events happen to bring the numbers back into agreement.

8points
JA
JackAllen0341
Replying to ZaraChan1091

Our retry tests also needed a restart while the old attempt was unresolved. A tidy history full of completed work would never have found that case. Keep the pending state across restart in this sequence.

5points
MA
MarkBowen
Replying to JackAllen0341

Jack, was that an automatic resubmission problem, or the wrong result association Caleb is seeing?

9points
JA
JackAllen0341
Replying to MarkBowen

Automatic resubmission from a mixed pending state. Different bug, Mark. The shared point is the unresolved attempt across restart; I wouldn't claim Caleb has our cause from a similar-looking screen.

20points
CA
CalebBaker0493
Replying to ZaraChan1091

Our controlled replay now fails reliably on the old handler at the first stale result. Duplicate delivery also increments twice. Developer is matching the received attempt identity and retaining unmatched results for review instead of assigning them to the current row.

9points
HE
HenryBrown0873
Replying to CalebBaker0493

Define what the total represents with quality. Every genuine attempt belongs in history, but the accepted-bracket count must follow current authorised dispositions rather than accumulate successful check events.

0points
AM
AmyAli0206
Replying to HenryBrown0873

Include a later withdrawal followed by replay of the earlier pass. The replay should not reinstate acceptance merely because it arrived last.

9points
NA
NadiaBrown0900
Replying to CalebBaker0493

Who reviews an unmatched result, and where does the operator find its bracket while waiting? A screen saying unresolved is only half the instruction.

15points
CA
CalebBaker0493
Replying to NadiaBrown0900

Quality owns the bracket disposition; maintainer owns result matching. The revised explanation gives both contacts and an identified hold location. Known duplicates leave the stored result and count unchanged, so they don't send operators off for a review that isn't needed.

9points
MI
MinaAbbott0076
Replying to CalebBaker0493

Do the restart and withdrawal cases now pass against both storage and the exported report?

9points
CA
CalebBaker0493
Replying to MinaAbbott0076

They do offline. Old result stays with its attempt, duplicate delivery changes no count, withdrawal survives replay, and restart retains unresolved work. Export agrees with the current disposition. Installed reporting and cover-operator checks remain.

10points
MA
MarkBowen
Replying to CalebBaker0493

Will the covering operator see the original bad example beside the corrected one? That would help explain why the earlier green row was not a usable acceptance.

20points
CA
CalebBaker0493
Replying to MarkBowen

Yes. Maintainer completed the controlled checks on the installed reporting package, and the cover operator used those examples to find the held bracket and correct contact. Quality accepted the bookkeeping comparison. Thanks, Zara; checking after the first delivered event was the assertion our old test lacked.

8points
ZA
ZaraChan1091
Replying to CalebBaker0493

Keep that deliberately ordered replay with the release tests. The point is to preserve the failure mechanism, not merely a long list of events which happen to end green.

21points

Discussion closed

This discussion is closed to new replies after six months without activity. Last activity: .