node-tools: only a call pattern names a caller, and a fall-back for want of a responder is said (hq issue 365, review)
mesh/merge-gate pass: builds mesh-tools, node-tools → ace, g14, novox, shanks; no bus step; every machine composes with the change as it did without (4 of …
mesh/repo-check pass: THE CHANGE ALTERS ITS OWN CHECK (merge-check.sh): main's version judged it; the change's judges the pull requests after it merges; it…
mesh/delivery delivered

callerOn reads a caller only under the call kind, so a tool subscription ending
in a wildcard never yields one. A caller-named call that reached nobody is said
once per subject before it is asked on the old subject, so a runtime or grant
that drifted behind is seen rather than a quiet unproven. The caller tests wait
for their bundle's exit, which reads the launcher's restart pauses another test
sets.
This commit is contained in:
2026-10-11 11:22:29 +02:00
parent ab0f888d67
commit 541de48e04
4 changed files with 89 additions and 6 deletions
+14
View File
@@ -56,3 +56,17 @@ func TestTheCallerIsTheLastTokenOfTheSubjectTheCallArrivedOn(t *testing.T) {
}
}
}
// Only a pattern of the `call` kind names a caller: a `tool` subscription with a wildcard last — a node seat's
// verb on any machine, say — never yields one, whatever token a call arrived with.
func TestAToolPatternNeverYieldsACaller(t *testing.T) {
for pattern, subject := range map[string]string{
"mesh.mod.ledger.tool.who.*": "mesh.mod.ledger.tool.who.controller",
"mesh.seat.node-desk.tool.who.*": "mesh.seat.node-desk.tool.who.shanks~node-tools",
"mesh.mod.ledger.event.*": "mesh.mod.ledger.event.controller",
} {
if got := callerOn(pattern, subject); got != "" {
t.Errorf("%s on %s yielded caller %q", pattern, subject, got)
}
}
}