C5: the integration row reads the dropped step as dropped (ADR 0664 §4, issue 1748 review 1)
mesh/delivery merged: source.main moved to novox/mesh-catalog@a39b72c377a5
mesh/delivery-group group fix/1748-transport-retry merged: every member is merged
mesh/check checking e712cd227f37 on a39b72c377a5 | novox/mesh-catalog#649 in group fix/1748-transport-retry

Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
This commit is contained in:
2026-11-09 23:44:08 +01:00
parent 12059ad3cc
commit e712cd227f
@@ -144,7 +144,7 @@ func TestPullRedeliversAKilledPullersAsk(t *testing.T) {
// ADR 0664 §1, §5 (issue 1748) on the real server: a run that ends on a transport fault is written again and the bus gives the
// ask again after the delay, not before, as the second run (its delivery count one higher), and that run's end is the ask's;
// a step that runs when its ask is dropped ends refused, naming who dropped it, and the ask is not given again.
// a step that runs when its ask is dropped ends dropped, naming who dropped it, and the ask is not given again.
func TestAnAskThatMetTheNetworkIsGivenAgainAndADroppedOneIsEnded(t *testing.T) {
js := askBus(t, 30*time.Second)
a, doomed := testAsk(sdkstep.AskDelivery), testAsk(sdkstep.AskDelivery)
@@ -189,7 +189,7 @@ func TestAnAskThatMetTheNetworkIsGivenAgainAndADroppedOneIsEnded(t *testing.T) {
t.Fatal(err)
}
dkey, _ := sdkstep.AskStepKey("ace", doomed.ID)
waitFor(t, "the dropped step refused", func() bool { s, ok := st.get(dkey); return ok && s.State == sdkstep.StepRefused })
waitFor(t, "the dropped step dropped", func() bool { s, ok := st.get(dkey); return ok && s.State == sdkstep.StepDropped })
if s, _ := st.get(dkey); !contains(s.Reason, "dropped by mesh-delivery-builder: superseded") {
t.Errorf("the dropped step says %q", s.Reason)
}