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

CalebBaker0493 · 13 Mar 2026, 13:16 UTC

Reply to discussion
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.

5 points
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.

19 points
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.

13 points
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.

9 points
NA
NadiaBrown0900
Replying to CalebBaker0493

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

18 points
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.

6 points
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.

8 points
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.

5 points
MA
MarkBowen
Replying to JackAllen0341

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

9 points
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.

20 points
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.

9 points
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.

0 points
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.

9 points
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.

15 points
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.

9 points
MI
MinaAbbott0076
Replying to CalebBaker0493

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

9 points
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.

10 points
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.

20 points
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.

8 points
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.

21 points

Add to the discussion

Welcome to Application Robot

Everyone can read the forum. Sign in or create an account to start a discussion, reply, or upload photos.

Forgot your password?

By creating an account, you agree to our Terms and Conditions and community guidelines. Read our Privacy Policy for how your information is handled.