From e32ca00aed9df8503da861c22984a17cb27038f2 Mon Sep 17 00:00:00 2001 From: jochen Date: Tue, 13 Oct 2026 16:55:49 +0200 Subject: [PATCH] =?UTF-8?q?Test=20that=20a=20settings=20send=20moves=20no?= =?UTF-8?q?=20ungated=20build=20waiting=20on=20its=20machine=20(issue=2064?= =?UTF-8?q?1,=20ADR=200344=20=C2=A73)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cmd/mesh-controller/settings_walk_test.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/cmd/mesh-controller/settings_walk_test.go b/cmd/mesh-controller/settings_walk_test.go index 0c7e81f9..72107bfc 100644 --- a/cmd/mesh-controller/settings_walk_test.go +++ b/cmd/mesh-controller/settings_walk_test.go @@ -413,6 +413,18 @@ func TestASettingsWalkSendsTheLayerAloneEveryBuildKept(t *testing.T) { if kept, _ := recordedKept(ctx, w.open, "anchor"); kept["app"] != "" { t.Fatalf("an ordinary send keeps a rolled-out build: %v", kept) } + // And so the ungated build waiting on anchor is no move of the settings send's: nothing for a gate to see. + f, err := readMoveFacts(ctx, inv) + if err != nil { + t.Fatal(err) + } + waiting, _ := machineMoves(ctx, w.open, f, "anchor", false) + if len(waiting) != 1 || waiting[0].Module != "app" { + t.Fatalf("anchor waits for %+v, want app's c2", waiting) + } + if moved, err := withoutKept(keepingBuildsForSettings(ctx, "anchor"), w.open, "anchor", waiting); err != nil || len(moved) != 0 { + t.Fatalf("a settings send to anchor would move %+v (%v)", moved, err) + } } // A machine whose send would move a running module's data stops the walk there, failed and said with the push that