TAP version 13 # Subtest: the host boots the broker, binds a launch in process, and the notifier DMs a blocking decision exactly once ok 1 - the host boots the broker, binds a launch in process, and the notifier DMs a blocking decision exactly once --- duration_ms: 1022.692043 type: 'test' ... # Subtest: a notifier that dies takes the host down with exit 1, so the unit restarts the pair ok 2 - a notifier that dies takes the host down with exit 1, so the unit restarts the pair --- duration_ms: 290.049557 type: 'test' ... # Subtest: a second host for the same data root refuses with exit 3 while the first runs ok 3 - a second host for the same data root refuses with exit 3 while the first runs --- duration_ms: 179.234414 type: 'test' ... # Subtest: two bus starts racing for one data root leave one host running; the other refuses that a host already runs ok 4 - two bus starts racing for one data root leave one host running; the other refuses that a host already runs --- duration_ms: 659.887677 type: 'test' ... # Subtest: a host takes over a host.lock its dead host left, and puts back a live claim that replaced it meanwhile ok 5 - a host takes over a host.lock its dead host left, and puts back a live claim that replaced it meanwhile --- duration_ms: 2.046386 type: 'test' ... # Subtest: a host.lock that goes between the check and the read is tried again; one that can't be parsed still refuses as unreadable ok 6 - a host.lock that goes between the check and the read is tried again; one that can't be parsed still refuses as unreadable --- duration_ms: 1.102222 type: 'test' ... # Subtest: a live host's lock stays, however old the file is ok 7 - a live host's lock stays, however old the file is --- duration_ms: 0.54824 type: 'test' ... # Subtest: a host.lock left by a host killed with SIGKILL doesn't stop the next bus start ok 8 - a host.lock left by a host killed with SIGKILL doesn't stop the next bus start --- duration_ms: 1093.922588 type: 'test' ... # Subtest: while a host boots, a reader sees no host: the human commands still ask for --business, stop and status find none ok 9 - while a host boots, a reader sees no host: the human commands still ask for --business, stop and status find none --- duration_ms: 363.55788 type: 'test' ... # Subtest: a host started before host.lock existed, holding only host.json, still refuses a second start, which leaves no lock ok 10 - a host started before host.lock existed, holding only host.json, still refuses a second start, which leaves no lock --- duration_ms: 40.256031 type: 'test' ... # Subtest: a broker fork that throws leaves no host.lock and no host.json ok 11 - a broker fork that throws leaves no host.lock and no host.json --- duration_ms: 71.452089 type: 'test' ... # Subtest: a broker send that throws leaves no host.lock and no host.json ok 12 - a broker send that throws leaves no host.lock and no host.json --- duration_ms: 49.521495 type: 'test' ... # Subtest: a broker that misses its boot wait leaves no host.lock and no host.json ok 13 - a broker that misses its boot wait leaves no host.lock and no host.json --- duration_ms: 40.674606 type: 'test' ... # Subtest: a notifier fork that throws stops the broker and leaves no host.lock and no host.json ok 14 - a notifier fork that throws stops the broker and leaves no host.lock and no host.json --- duration_ms: 234.528045 type: 'test' ... # Subtest: a notifier send that throws stops the broker and leaves no host.lock and no host.json ok 15 - a notifier send that throws stops the broker and leaves no host.lock and no host.json --- duration_ms: 237.706258 type: 'test' ... # Subtest: a boot reply with no reader for the business refuses with exit 3 naming it, before the notifier starts, and leaves no host.lock and no live broker ok 16 - a boot reply with no reader for the business refuses with exit 3 naming it, before the notifier starts, and leaves no host.lock and no live broker --- duration_ms: 250.66904 type: 'test' ... # Subtest: a boot reply with no reader for the business refuses with exit 3 naming it, with no notifier, and leaves no host.lock and no live broker ok 17 - a boot reply with no reader for the business refuses with exit 3 naming it, with no notifier, and leaves no host.lock and no live broker --- duration_ms: 196.608716 type: 'test' ... # Subtest: a host.json that can't be written stops both children and leaves no host.lock ok 18 - a host.json that can't be written stops both children and leaves no host.lock --- duration_ms: 325.555338 type: 'test' ... # Subtest: an error event on the broker before it replies fails the start at once, and leaves no host.lock and no live child ok 19 - an error event on the broker before it replies fails the start at once, and leaves no host.lock and no live child --- duration_ms: 35.5044 type: 'test' ... # Subtest: an error event on the notifier before it replies fails the start at once, and leaves no host.lock and no live child ok 20 - an error event on the notifier before it replies fails the start at once, and leaves no host.lock and no live child --- duration_ms: 187.03327 type: 'test' ... # Subtest: an error event on the broker while the notifier starts fails the start once the notifier replies ok 21 - an error event on the broker while the notifier starts fails the start once the notifier replies --- duration_ms: 353.473268 type: 'test' ... # Subtest: an error event on the broker once the host is up stops the host with exit 1, and leaves no host.lock and no host.json ok 22 - an error event on the broker once the host is up stops the host with exit 1, and leaves no host.lock and no host.json --- duration_ms: 342.614558 type: 'test' ... # Subtest: an error event on the notifier once the host is up stops the host with exit 1, and leaves no host.lock and no host.json ok 23 - an error event on the notifier once the host is up stops the host with exit 1, and leaves no host.lock and no host.json --- duration_ms: 366.012199 type: 'test' ... # Subtest: a broker reply that misses the wait breaks the channel: the late reply answers nothing, later requests refuse, the host exits 1 ok 24 - a broker reply that misses the wait breaks the channel: the late reply answers nothing, later requests refuse, the host exits 1 --- duration_ms: 1197.584716 type: 'test' ... # Subtest: a broker reply with another request's id, or none, breaks the channel and the host exits 1 ok 25 - a broker reply with another request's id, or none, breaks the channel and the host exits 1 --- duration_ms: 412.737097 type: 'test' ... # Subtest: a broker reply with no request waiting breaks the channel and the host exits 1 ok 26 - a broker reply with no request waiting breaks the channel and the host exits 1 --- duration_ms: 191.268036 type: 'test' ... # Subtest: a notifier that refuses stops the broker and the host refuses with exit 3 ok 27 - a notifier that refuses stops the broker and the host refuses with exit 3 --- duration_ms: 255.445466 type: 'test' ... # Subtest: a notifier that refuses after the broker died still refuses with exit 3, without a send to the dead broker ok 28 - a notifier that refuses after the broker died still refuses with exit 3, without a send to the dead broker --- duration_ms: 270.996451 type: 'test' ... # Subtest: a notifier that dies before it replies, after the broker died, still refuses, without a send to the dead broker ok 29 - a notifier that dies before it replies, after the broker died, still refuses, without a send to the dead broker --- duration_ms: 196.694621 type: 'test' ... # Subtest: a close send that fails with EPIPE after the notifier refuses still gives the notifier's refusal, exit 3 ok 30 - a close send that fails with EPIPE after the notifier refuses still gives the notifier's refusal, exit 3 --- duration_ms: 225.943126 type: 'test' ... # Subtest: a close send that fails with EPIPE after the notifier dies unanswered still gives the notifier's error ok 31 - a close send that fails with EPIPE after the notifier dies unanswered still gives the notifier's error --- duration_ms: 196.546041 type: 'test' ... # Subtest: close() whose stop and close sends fail with EPIPE still finishes, with exit 1 ok 32 - close() whose stop and close sends fail with EPIPE still finishes, with exit 1 --- duration_ms: 247.325878 type: 'test' ... # Subtest: watchChildren reports a child that died before it was called, and one that dies later ok 33 - watchChildren reports a child that died before it was called, and one that dies later --- duration_ms: 25.247243 type: 'test' ... # Subtest: bus stop refuses to signal a live pid that is not a bus host ok 34 - bus stop refuses to signal a live pid that is not a bus host --- duration_ms: 202.876756 type: 'test' ... # Subtest: bus start refuses with exit 3 and the code when the broker refuses to boot; bus status names the lock ok 35 - bus start refuses with exit 3 and the code when the broker refuses to boot; bus status names the lock --- duration_ms: 350.250448 type: 'test' ... # Subtest: bus start refuses with exit 3 without a notifier config ok 36 - bus start refuses with exit 3 without a notifier config --- duration_ms: 141.254053 type: 'test' ... # Subtest: bus start runs until bus stop; status reports it while it runs ok 37 - bus start runs until bus stop; status reports it while it runs --- duration_ms: 951.671648 type: 'test' ... # Subtest: bus start --no-launch says launches are disabled in its host-up line and stops cleanly; with --pm it is a usage error ok 38 - bus start --no-launch says launches are disabled in its host-up line and stops cleanly; with --pm it is a usage error --- duration_ms: 717.544239 type: 'test' ... # Subtest: bus-service.sh renders the unit and installs it into a given directory ok 39 - bus-service.sh renders the unit and installs it into a given directory --- duration_ms: 268.27879 type: 'test' ... # Subtest: bus-service.sh pins the claude binary, refuses one the unit can't carry, and renders without one ok 40 - bus-service.sh pins the claude binary, refuses one the unit can't carry, and renders without one --- duration_ms: 476.065024 type: 'test' ... # Subtest: bus-service.sh refuses a directory pin and keeps a symlink default unresolved ok 41 - bus-service.sh refuses a directory pin and keeps a symlink default unresolved --- duration_ms: 108.185969 type: 'test' ... # Subtest: bus-service.sh refuses a default claude without the execute bit, or in a PATH dir with a space ok 42 - bus-service.sh refuses a default claude without the execute bit, or in a PATH dir with a space --- duration_ms: 76.190182 type: 'test' ... # Subtest: bus start --pm while halted keeps the control host up without launching the chief ok 43 - bus start --pm while halted keeps the control host up without launching the chief --- duration_ms: 451.733221 type: 'test' ... 1..43 # tests 43 # suites 0 # pass 43 # fail 0 # cancelled 0 # skipped 0 # todo 0 # duration_ms 13428.106601