简体中文界面。帖子、指南及政策正文保留原文;未对原文作自动翻译。

Testing duplicate and reordered events for Fairino FR10

LucyAli0219 · 2026年7月25日 11:35 UTC

回复讨论
LU
LucyAli0219
I'm testing our fixture-check completion reporting tracking offline for a setup using Fairino FR10 in a sample inspection setup with recorded job events, with an inspection coupon as a reference. An earlier attempt's completion incorrectly completes a newer attempt if I deliver it after that attempt starts. I need repeatable delayed and duplicate event tests because the random sleeps aren't reliable.

18 条回复

LU
LuisAbbott0086

Save the exact event order. Does your handler match the completion by attempt identity, or just the job label?

9
LU
LucyAli0219

Our handler matches only the job label. The saved sequence reliably shows the earlier completion arriving after a new attempt begins and being attached to that new attempt.

8
LU
LuisAbbott0086

Replay that sequence with explicit attempt matching. Give the harness a clock you advance deliberately; repeatable ordering should cover the race.

21
ZA
ZaraBennett0743

A deterministic replay covers the schedule you give it. Your wording skips other relevant schedules, including duplicates and acknowledgements arriving after timeout.

6
LU
LuisAbbott0086

Fair. I meant this reproduced wrong match, not the whole class. Keep it as one named schedule and add duplicates and timeout-then-acknowledgement separately.

20
LU
LucyAli0219

How should I handle history when the same completion is delivered twice? I'd expect one count change but still want both observations visible.

17
LU
LuisAbbott0086

Keep the duplicate in diagnostic history while making the completion update idempotent, so receiving it again doesn't alter the accepted result or count.

10
CA
CarlaBarnes0575

Idempotent means ignoring it, basically? Or am I missing why you'd log something you ignored?

12
LU
LuisAbbott0086

@CarlaBarnes0575 Same effect when applied again. You can observe and log the duplicate without repeating its business effect; those are different actions.

8
EL
ElenaAli0253

My offline test used to assert only the final count. It missed a duplicate notification because the number happened to stay right.

10
LU
LucyAli0219

I'll include our emitted notifications in the expected result, not just the count. A correct number with a doubled message would still be confusing.

16
ZA
ZaraBennett0743

And the timeout case? Waiting too long doesn't tell you whether the remote job completed.

7
LU
LucyAli0219

@ZaraBennett0743 I'll expect an unknown outcome pending matching evidence, rather than having our test treat a timeout as permission to submit another attempt.

0
LU
LuisAbbott0086

@LucyAli0219 Your deterministic schedule can check unknown after the timeout and then deliver the delayed acknowledgement, verifying that it causes only the transition justified by its meaning.

19
CA
CarlaBarnes0575

An acknowledgement isn't completion, right? I keep mentally jumping from accepted to finished

6
LU
LuisAbbott0086

Follow your interface's definitions. If it acknowledges acceptance, it says nothing by itself about completion. Name those events differently in the test.

15
LU
LucyAli0219

I've isolated the incorrect job-label match in a saved sequence. The remaining duplicate and delayed-event behaviour still needs establishing.

17
LU
LuisAbbott0086

The saved wrong-match case is useful progress. It makes sense to keep the broader event handling open.

17

参与讨论

欢迎来到 Application Robot

所有人都可以阅读论坛。登录或注册后即可发起讨论、回复或上传照片。

忘记密码?

注册账号即表示你同意我们的 使用条款 社区准则。请阅读我们的 隐私政策 ,了解我们如何处理你的信息。