Answer every seat call within ten seconds and keep what came of it (hq issue 265)

A push outlasted the console's 30s wait and, when it sent the bus its
changed user list, the broker's reload forgot the reply it may send:
the push happened and its caller was told it did not answer. Calls now
answer in full or as running with an id, a push answers before it
sends, refused answers are recorded on their call, and 'calls' reads
them back.
This commit is contained in:
jochen
2026-10-06 01:14:58 +02:00
parent ede9bce6ef
commit 801552c0eb
9 changed files with 658 additions and 29 deletions
+3 -3
View File
@@ -80,7 +80,7 @@ var saidOutright = map[string]string{
// shape of the push that named a machine and pushed every machine behind.
func TestNoArgumentAVerbIsGivenIsPassedOver(t *testing.T) {
for name, v := range servedSchemas(t) {
if name == "tools" {
if inProcess[name] {
continue
}
names, switches := declaredArguments(v)
@@ -123,7 +123,7 @@ func TestAnArgumentAVerbDoesNotDeclareIsRefused(t *testing.T) {
args := sampleArguments(v)
args[stranger] = "x"
_, err := argvFor(name, args)
if name == "tools" {
if inProcess[name] {
_, err = readArguments(name, args)
}
if err == nil || !strings.Contains(err.Error(), strconv.Quote(stranger)) {
@@ -283,7 +283,7 @@ func TestEveryFlagOfAVerbsCommandIsAnArgumentOrAccountedFor(t *testing.T) {
reached := map[string]map[string]bool{} // verb → flag sets its command lines reach
served := servedSchemas(t)
for name, v := range served {
if name == "tools" || name == "command" {
if inProcess[name] || name == "command" {
continue
}
names, switches := declaredArguments(v)