6895 lines
312 KiB
Plaintext
6895 lines
312 KiB
Plaintext
PREAMBLE {"head": "ffa93b054f28852a75017928d8478bdf9046e717", "manifest": "277ace0b4274970d5bd4c05cf8fe99aa1e7ebc469a719e4cefcb334a75d3865d", "source": "e6751ecab", "case_limit": 1200, "cli_limit": 5400, "cli_file_count": 59, "cli_files": ["packages/cli/tests/access-boot.test.mjs", "packages/cli/tests/access.test.mjs", "packages/cli/tests/app.test.mjs", "packages/cli/tests/boot-status.test.mjs", "packages/cli/tests/case1-accept.test.mjs", "packages/cli/tests/case1-hostcheck.test.mjs", "packages/cli/tests/case2-persona-import.test.mjs", "packages/cli/tests/case2-unit.test.mjs", "packages/cli/tests/channel-cli.test.mjs", "packages/cli/tests/channel-recovery.test.mjs", "packages/cli/tests/cli.test.mjs", "packages/cli/tests/compactions-launch.test.mjs", "packages/cli/tests/config.test.mjs", "packages/cli/tests/credentials.test.mjs", "packages/cli/tests/follow.test.mjs", "packages/cli/tests/format.test.mjs", "packages/cli/tests/gate-lane-auth.test.mjs", "packages/cli/tests/gate-lane-fixtures.test.mjs", "packages/cli/tests/gate-lane-image.test.mjs", "packages/cli/tests/gate-lane-state.test.mjs", "packages/cli/tests/gate-lane.test.mjs", "packages/cli/tests/git-socket.test.mjs", "packages/cli/tests/grants.test.mjs", "packages/cli/tests/host.test.mjs", "packages/cli/tests/hosts.test.mjs", "packages/cli/tests/instances.test.mjs", "packages/cli/tests/launch-account.test.mjs", "packages/cli/tests/launch-limit-checks.test.mjs", "packages/cli/tests/launch-limits.test.mjs", "packages/cli/tests/launch-routes.test.mjs", "packages/cli/tests/launcher.test.mjs", "packages/cli/tests/lifecycle.test.mjs", "packages/cli/tests/limits-tokens.test.mjs", "packages/cli/tests/limits.test.mjs", "packages/cli/tests/mark-read.test.mjs", "packages/cli/tests/names.test.mjs", "packages/cli/tests/notifier.test.mjs", "packages/cli/tests/other-tree.test.mjs", "packages/cli/tests/processing-cli.test.mjs", "packages/cli/tests/project-name-repo.test.mjs", "packages/cli/tests/project.test.mjs", "packages/cli/tests/publish-socket.test.mjs", "packages/cli/tests/session-clear.test.mjs", "packages/cli/tests/session-launch.test.mjs", "packages/cli/tests/stack-copy.test.mjs", "packages/cli/tests/stack-instances.test.mjs", "packages/cli/tests/stack-release-external.test.mjs", "packages/cli/tests/stack-release.test.mjs", "packages/cli/tests/stack-upgrade.test.mjs", "packages/cli/tests/tester-http.test.mjs", "packages/cli/tests/tester-reads.test.mjs", "packages/cli/tests/tester-threads.test.mjs", "packages/cli/tests/tester.test.mjs", "packages/cli/tests/thread-cli.test.mjs", "packages/cli/tests/thread-launch.test.mjs", "packages/cli/tests/trackers-boot.test.mjs", "packages/cli/tests/transport.test.mjs", "packages/cli/tests/usage.test.mjs", "packages/cli/tests/verbs.test.mjs"], "ambient_load_is_target_only": true}
|
|
START {"label": "syntax-1", "argv": ["timeout", "-k", "10", "120", "node", "--check", "packages/cli/tests/case-p10-timing-fixture.mjs"], "limit_seconds": 120, "tmpdir": "/mnt/storage/scratch/tmp/g6MkUyY", "started_utc": "2026-10-23T07:26:54Z", "start_load": "1.05 1.69 2.00 5/6642 199026", "log": "/mnt/storage/scratch/tmp/gABO62Q/records/syntax-1.log", "expected_red": false}
|
|
END {"label": "syntax-1", "argv": ["timeout", "-k", "10", "120", "node", "--check", "packages/cli/tests/case-p10-timing-fixture.mjs"], "limit_seconds": 120, "tmpdir": "/mnt/storage/scratch/tmp/g6MkUyY", "started_utc": "2026-10-23T07:26:54Z", "start_load": "1.05 1.69 2.00 5/6642 199026", "log": "/mnt/storage/scratch/tmp/gABO62Q/records/syntax-1.log", "expected_red": false, "rc": 0, "wall_seconds": 0.032, "finished_utc": "2026-10-23T07:26:54Z", "end_load": "1.05 1.69 2.00 3/6641 199047", "counts": {}, "metrics": [], "skip_lines": [], "external_timeout": false}
|
|
START {"label": "syntax-2", "argv": ["timeout", "-k", "10", "120", "node", "--check", "packages/cli/tests/case1-accept.test.mjs"], "limit_seconds": 120, "tmpdir": "/mnt/storage/scratch/tmp/gbr1O5v", "started_utc": "2026-10-23T07:26:55Z", "start_load": "1.05 1.69 2.00 2/6651 202505", "log": "/mnt/storage/scratch/tmp/gABO62Q/records/syntax-2.log", "expected_red": false}
|
|
END {"label": "syntax-2", "argv": ["timeout", "-k", "10", "120", "node", "--check", "packages/cli/tests/case1-accept.test.mjs"], "limit_seconds": 120, "tmpdir": "/mnt/storage/scratch/tmp/gbr1O5v", "started_utc": "2026-10-23T07:26:55Z", "start_load": "1.05 1.69 2.00 2/6651 202505", "log": "/mnt/storage/scratch/tmp/gABO62Q/records/syntax-2.log", "expected_red": false, "rc": 0, "wall_seconds": 0.032, "finished_utc": "2026-10-23T07:26:55Z", "end_load": "1.05 1.69 2.00 1/6651 202515", "counts": {}, "metrics": [], "skip_lines": [], "external_timeout": false}
|
|
START {"label": "case1-whole-1", "argv": ["timeout", "-k", "10", "1200", "node", "--test", "--test-reporter=tap", "packages/cli/tests/case1-accept.test.mjs"], "limit_seconds": 1200, "tmpdir": "/mnt/storage/scratch/tmp/geSGqXZ", "started_utc": "2026-10-23T07:26:57Z", "start_load": "1.05 1.69 2.00 1/6640 205920", "log": "/mnt/storage/scratch/tmp/gABO62Q/records/case1-whole-1.log", "expected_red": false}
|
|
TAP version 13
|
|
# Subtest: row253 socket observation uses configured root, metadata and the Console peer without sending bytes
|
|
ok 1 - row253 socket observation uses configured root, metadata and the Console peer without sending bytes
|
|
---
|
|
duration_ms: 1855.818133
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 P10 refuses unsafe metadata, wrong peers and an unsafe Python without claiming closure
|
|
ok 2 - row253 P10 refuses unsafe metadata, wrong peers and an unsafe Python without claiming closure
|
|
---
|
|
duration_ms: 29336.896059
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 acceptance rejects bad config and unsupported copies before talk
|
|
ok 3 - row253 acceptance rejects bad config and unsupported copies before talk
|
|
---
|
|
duration_ms: 1492.589344
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 stalled peer observation ends within its bound without leaving a reader
|
|
ok 4 - row253 stalled peer observation ends within its bound without leaving a reader
|
|
---
|
|
duration_ms: 3995.592937
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 P8 refuses both retired TCP and board listeners
|
|
ok 5 - row253 P8 refuses both retired TCP and board listeners
|
|
---
|
|
duration_ms: 3885.105115
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 C4 acceptance query inner reason holds under both sudo models
|
|
ok 6 - row253 C4 acceptance query inner reason holds under both sudo models
|
|
---
|
|
duration_ms: 10722.031738
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 C4 acceptance query outer reason discards stdout and names residual cleanup
|
|
ok 7 - row253 C4 acceptance query outer reason discards stdout and names residual cleanup
|
|
---
|
|
duration_ms: 14183.471618
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 C4 acceptance query overflow is output-limit in both models
|
|
ok 8 - row253 C4 acceptance query overflow is output-limit in both models
|
|
---
|
|
duration_ms: 492.660764
|
|
type: 'test'
|
|
...
|
|
# Subtest: row299 P10 timing copy preserves shipped bytes and isolates observer variables
|
|
ok 9 - row299 P10 timing copy preserves shipped bytes and isolates observer variables
|
|
---
|
|
duration_ms: 0.874413
|
|
type: 'test'
|
|
...
|
|
# Subtest: row299 P10 observers preserve stdout stderr status and the EXIT trap
|
|
ok 10 - row299 P10 observers preserve stdout stderr status and the EXIT trap
|
|
---
|
|
duration_ms: 3.117643
|
|
type: 'test'
|
|
...
|
|
# Subtest: row299 P10 observer records are complete and ordered
|
|
ok 11 - row299 P10 observer records are complete and ordered
|
|
---
|
|
duration_ms: 0.494254
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 C4 P10 inner reason holds under both sudo models
|
|
ok 12 - row253 C4 P10 inner reason holds under both sudo models
|
|
---
|
|
duration_ms: 11837.509919
|
|
type: 'test'
|
|
...
|
|
# {"fault":"inner","mode":"exec","baselineSeconds":1.8914214159999974,"faultSeconds":3.974223306999993,"probeSeconds":2.25}
|
|
# {"fault":"inner","mode":"hop","baselineSeconds":1.8980776110000006,"faultSeconds":4.004310756999999,"probeSeconds":2.27}
|
|
# Subtest: row253 C4 P10 outer reason holds under both sudo models
|
|
ok 13 - row253 C4 P10 outer reason holds under both sudo models
|
|
---
|
|
duration_ms: 15238.957947
|
|
type: 'test'
|
|
...
|
|
# {"fault":"outer","mode":"exec","baselineSeconds":1.8725320299999875,"faultSeconds":5.715126132999998,"probeSeconds":4}
|
|
# {"fault":"outer","mode":"hop","baselineSeconds":1.8715896639999992,"faultSeconds":5.726812752999991,"probeSeconds":4}
|
|
# Subtest: row253 C4 P10 overflow reason holds under both sudo models
|
|
ok 14 - row253 C4 P10 overflow reason holds under both sudo models
|
|
---
|
|
duration_ms: 3757.733977
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: every check passing exits 0, with each P mark and counts that match the lines
|
|
ok 15 - row 195 accept: every check passing exits 0, with each P mark and counts that match the lines
|
|
---
|
|
duration_ms: 1879.003371
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: exits 1 with each F check failing alone, and its line names it
|
|
ok 16 - row 195 accept: exits 1 with each F check failing alone, and its line names it
|
|
---
|
|
duration_ms: 21149.551708
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: F3 fails on exit 0 with no reply line, and its evidence takes talk's error
|
|
ok 17 - row 195 accept: F3 fails on exit 0 with no reply line, and its evidence takes talk's error
|
|
---
|
|
duration_ms: 3936.849005
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: F1 fails on a unit that isn't active or isn't User=mosaic
|
|
ok 18 - row 195 accept: F1 fails on a unit that isn't active or isn't User=mosaic
|
|
---
|
|
duration_ms: 3519.175544
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: F2 fails when healthz doesn't answer and when another pid holds the port
|
|
ok 19 - row 195 accept: F2 fails when healthz doesn't answer and when another pid holds the port
|
|
---
|
|
duration_ms: 3846.383271
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: F5 fails on unpriv_bwrap (enforce), on complain and on a trailing space
|
|
ok 20 - row 195 accept: F5 fails on unpriv_bwrap (enforce), on complain and on a trailing space
|
|
---
|
|
duration_ms: 8775.592742
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: F5 fails with no bwrap of mosaic's, and passes on comm alone
|
|
ok 21 - row 195 accept: F5 fails with no bwrap of mosaic's, and passes on comm alone
|
|
---
|
|
duration_ms: 4053.330344
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: F6 fails on a stub that prints nothing, on a path outside claude-<pin> and on a .. segment
|
|
ok 22 - row 195 accept: F6 fails on a stub that prints nothing, on a path outside claude-<pin> and on a .. segment
|
|
---
|
|
duration_ms: 5151.877925
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: F7 fails on two live PM launches, one for another business, and no launch.by
|
|
ok 23 - row 195 accept: F7 fails on two live PM launches, one for another business, and no launch.by
|
|
---
|
|
duration_ms: 5579.901611
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: F8 fails on 0640, on another owner and on a symlink, and never prints the credential
|
|
ok 24 - row 195 accept: F8 fails on 0640, on another owner and on a symlink, and never prints the credential
|
|
---
|
|
duration_ms: 5585.627061
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: F9 fails on another owner, a group-writable mode and a number for the flag
|
|
ok 25 - row 195 accept: F9 fails on another owner, a group-writable mode and a number for the flag
|
|
---
|
|
duration_ms: 5536.898215
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: F9 won't run --node as root off the pin path or with a writable directory above it
|
|
ok 26 - row 195 accept: F9 won't run --node as root off the pin path or with a writable directory above it
|
|
---
|
|
duration_ms: 5246.446744
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: F11 fails on one *.json under discord/ and passes on an empty directory
|
|
ok 27 - row 195 accept: F11 fails on one *.json under discord/ and passes on an empty directory
|
|
---
|
|
duration_ms: 3711.063365
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: each P check reports unnamed on its fault, and the exit stays 0
|
|
ok 28 - row 195 accept: each P check reports unnamed on its fault, and the exit stays 0
|
|
---
|
|
duration_ms: 16646.70564
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: P2 is unnamed with a supplementary group, and P5 names docker
|
|
ok 29 - row 195 accept: P2 is unnamed with a supplementary group, and P5 names docker
|
|
---
|
|
duration_ms: 3728.983
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: P5 is closed with no jarvis account, and P2 with an empty authorized_keys
|
|
ok 30 - row 195 accept: P5 is closed with no jarvis account, and P2 with an empty authorized_keys
|
|
---
|
|
duration_ms: 1843.108704
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: P9 is unnamed once for each item missing
|
|
ok 31 - row 195 accept: P9 is unnamed once for each item missing
|
|
---
|
|
duration_ms: 9276.56305
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 accept: P10 fails its observation with another peer; P11 with the unit disabled
|
|
ok 32 - row253 accept: P10 fails its observation with another peer; P11 with the unit disabled
|
|
---
|
|
duration_ms: 3822.919805
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: every P check unnamed together still exits 0
|
|
ok 33 - row 195 accept: every P check unnamed together still exits 0
|
|
---
|
|
duration_ms: 1656.312404
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: a bad args file refuses with exit 2 before any check, each for its own reason
|
|
ok 34 - row 195 accept: a bad args file refuses with exit 2 before any check, each for its own reason
|
|
---
|
|
duration_ms: 97.36437
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: usage errors and a run without --root as a user exit 2
|
|
ok 35 - row 195 accept: usage errors and a run without --root as a user exit 2
|
|
---
|
|
duration_ms: 10.881957
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: every in-instance call goes through sudo -u mosaic -H env PATH=<node dir>:...
|
|
ok 36 - row 195 accept: every in-instance call goes through sudo -u mosaic -H env PATH=<node dir>:...
|
|
---
|
|
duration_ms: 1850.760145
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: the host check runs with --check and never --enforce
|
|
ok 37 - row 195 accept: the host check runs with --check and never --enforce
|
|
---
|
|
duration_ms: 1869.942933
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 legacy call inventory pins every production bound and the conversation contract
|
|
ok 38 - row276 legacy call inventory pins every production bound and the conversation contract
|
|
---
|
|
duration_ms: 0.366334
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 talk legacy inner timeout cleans both sudo models
|
|
ok 39 - row276 talk legacy inner timeout cleans both sudo models
|
|
---
|
|
duration_ms: 1692.158566
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 precheck legacy inner timeout cleans both sudo models
|
|
ok 40 - row276 precheck legacy inner timeout cleans both sudo models
|
|
---
|
|
duration_ms: 1720.136504
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 claude-version legacy inner timeout cleans both sudo models
|
|
ok 41 - row276 claude-version legacy inner timeout cleans both sudo models
|
|
---
|
|
duration_ms: 1702.886014
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 pm-list legacy inner timeout cleans both sudo models
|
|
ok 42 - row276 pm-list legacy inner timeout cleans both sudo models
|
|
---
|
|
duration_ms: 1710.920935
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 node-version legacy inner timeout cleans both sudo models
|
|
ok 43 - row276 node-version legacy inner timeout cleans both sudo models
|
|
---
|
|
duration_ms: 1712.683898
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 legacy streams and display status preserve failures without granting success
|
|
ok 44 - row276 legacy streams and display status preserve failures without granting success
|
|
---
|
|
duration_ms: 2671.771328
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 trailer grammar cannot make supervisor failure pass
|
|
ok 45 - row276 trailer grammar cannot make supervisor failure pass
|
|
---
|
|
duration_ms: 2089.079622
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 earlier forged trailer and appended zero remain failures
|
|
ok 46 - row276 earlier forged trailer and appended zero remain failures
|
|
---
|
|
duration_ms: 513.433074
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 precheck outer bound discards success status and fixture cleans residual
|
|
ok 47 - row276 precheck outer bound discards success status and fixture cleans residual
|
|
---
|
|
duration_ms: 2173.848153
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 case1 capture and legacy tools refuse unsafe system tools
|
|
ok 48 - row276 case1 capture and legacy tools refuse unsafe system tools
|
|
---
|
|
duration_ms: 76.5521
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 stderr retention is bounded and keeps the final diagnostic
|
|
ok 49 - row276 stderr retention is bounded and keeps the final diagnostic
|
|
---
|
|
duration_ms: 278.525167
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 version and PM checks refuse successful-looking stdout on supervisor failure
|
|
ok 50 - row276 version and PM checks refuse successful-looking stdout on supervisor failure
|
|
---
|
|
duration_ms: 15.742297
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 full acceptance keeps all five healthy calls in both sudo models
|
|
ok 51 - row276 full acceptance keeps all five healthy calls in both sudo models
|
|
---
|
|
duration_ms: 3757.894895
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 vanished pid stat read returns 3 with empty stderr in both scripts
|
|
ok 52 - row276 vanished pid stat read returns 3 with empty stderr in both scripts
|
|
---
|
|
duration_ms: 4.785932
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 legacy stdout snapshot preserves exact bytes on success and command failure
|
|
ok 53 - row276 legacy stdout snapshot preserves exact bytes on success and command failure
|
|
---
|
|
duration_ms: 3281.165451
|
|
type: 'test'
|
|
...
|
|
1..53
|
|
# tests 53
|
|
# suites 0
|
|
# pass 53
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 239100.197017
|
|
END {"label": "case1-whole-1", "argv": ["timeout", "-k", "10", "1200", "node", "--test", "--test-reporter=tap", "packages/cli/tests/case1-accept.test.mjs"], "limit_seconds": 1200, "tmpdir": "/mnt/storage/scratch/tmp/geSGqXZ", "started_utc": "2026-10-23T07:26:57Z", "start_load": "1.05 1.69 2.00 1/6640 205920", "log": "/mnt/storage/scratch/tmp/gABO62Q/records/case1-whole-1.log", "expected_red": false, "rc": 0, "wall_seconds": 239.134, "finished_utc": "2026-10-23T07:30:56Z", "end_load": "3.41 2.47 2.22 1/6690 353962", "counts": {"tests": 53, "pass": 53, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "metrics": [{"fault": "inner", "mode": "exec", "baselineSeconds": 1.8914214159999974, "faultSeconds": 3.974223306999993, "probeSeconds": 2.25}, {"fault": "inner", "mode": "hop", "baselineSeconds": 1.8980776110000006, "faultSeconds": 4.004310756999999, "probeSeconds": 2.27}, {"fault": "outer", "mode": "exec", "baselineSeconds": 1.8725320299999875, "faultSeconds": 5.715126132999998, "probeSeconds": 4}, {"fault": "outer", "mode": "hop", "baselineSeconds": 1.8715896639999992, "faultSeconds": 5.726812752999991, "probeSeconds": 4}], "skip_lines": [], "external_timeout": false}
|
|
START {"label": "case1-whole-2", "argv": ["timeout", "-k", "10", "1200", "node", "--test", "--test-reporter=tap", "packages/cli/tests/case1-accept.test.mjs"], "limit_seconds": 1200, "tmpdir": "/mnt/storage/scratch/tmp/gd0qwWL", "started_utc": "2026-10-23T07:30:57Z", "start_load": "3.41 2.47 2.22 4/6666 357541", "log": "/mnt/storage/scratch/tmp/gABO62Q/records/case1-whole-2.log", "expected_red": false}
|
|
TAP version 13
|
|
# Subtest: row253 socket observation uses configured root, metadata and the Console peer without sending bytes
|
|
ok 1 - row253 socket observation uses configured root, metadata and the Console peer without sending bytes
|
|
---
|
|
duration_ms: 1878.940051
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 P10 refuses unsafe metadata, wrong peers and an unsafe Python without claiming closure
|
|
ok 2 - row253 P10 refuses unsafe metadata, wrong peers and an unsafe Python without claiming closure
|
|
---
|
|
duration_ms: 29659.298682
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 acceptance rejects bad config and unsupported copies before talk
|
|
ok 3 - row253 acceptance rejects bad config and unsupported copies before talk
|
|
---
|
|
duration_ms: 1402.898543
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 stalled peer observation ends within its bound without leaving a reader
|
|
ok 4 - row253 stalled peer observation ends within its bound without leaving a reader
|
|
---
|
|
duration_ms: 3999.716359
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 P8 refuses both retired TCP and board listeners
|
|
ok 5 - row253 P8 refuses both retired TCP and board listeners
|
|
---
|
|
duration_ms: 3772.509207
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 C4 acceptance query inner reason holds under both sudo models
|
|
ok 6 - row253 C4 acceptance query inner reason holds under both sudo models
|
|
---
|
|
duration_ms: 10718.848845
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 C4 acceptance query outer reason discards stdout and names residual cleanup
|
|
ok 7 - row253 C4 acceptance query outer reason discards stdout and names residual cleanup
|
|
---
|
|
duration_ms: 14188.226585
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 C4 acceptance query overflow is output-limit in both models
|
|
ok 8 - row253 C4 acceptance query overflow is output-limit in both models
|
|
---
|
|
duration_ms: 508.639752
|
|
type: 'test'
|
|
...
|
|
# Subtest: row299 P10 timing copy preserves shipped bytes and isolates observer variables
|
|
ok 9 - row299 P10 timing copy preserves shipped bytes and isolates observer variables
|
|
---
|
|
duration_ms: 0.798822
|
|
type: 'test'
|
|
...
|
|
# Subtest: row299 P10 observers preserve stdout stderr status and the EXIT trap
|
|
ok 10 - row299 P10 observers preserve stdout stderr status and the EXIT trap
|
|
---
|
|
duration_ms: 3.117025
|
|
type: 'test'
|
|
...
|
|
# Subtest: row299 P10 observer records are complete and ordered
|
|
ok 11 - row299 P10 observer records are complete and ordered
|
|
---
|
|
duration_ms: 0.531705
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 C4 P10 inner reason holds under both sudo models
|
|
ok 12 - row253 C4 P10 inner reason holds under both sudo models
|
|
---
|
|
duration_ms: 12501.629468
|
|
type: 'test'
|
|
...
|
|
# {"fault":"inner","mode":"exec","baselineSeconds":1.9894229939999932,"faultSeconds":4.213512103000001,"probeSeconds":2.29}
|
|
# {"fault":"inner","mode":"hop","baselineSeconds":2.056171266999998,"faultSeconds":4.169351735999997,"probeSeconds":2.28}
|
|
# Subtest: row253 C4 P10 outer reason holds under both sudo models
|
|
ok 13 - row253 C4 P10 outer reason holds under both sudo models
|
|
---
|
|
duration_ms: 15355.835698
|
|
type: 'test'
|
|
...
|
|
# {"fault":"outer","mode":"exec","baselineSeconds":1.9589971570000053,"faultSeconds":5.726783651999998,"probeSeconds":4}
|
|
# {"fault":"outer","mode":"hop","baselineSeconds":1.879084925999996,"faultSeconds":5.732443853999998,"probeSeconds":4.01}
|
|
# Subtest: row253 C4 P10 overflow reason holds under both sudo models
|
|
ok 14 - row253 C4 P10 overflow reason holds under both sudo models
|
|
---
|
|
duration_ms: 3793.194421
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: every check passing exits 0, with each P mark and counts that match the lines
|
|
ok 15 - row 195 accept: every check passing exits 0, with each P mark and counts that match the lines
|
|
---
|
|
duration_ms: 1868.627362
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: exits 1 with each F check failing alone, and its line names it
|
|
ok 16 - row 195 accept: exits 1 with each F check failing alone, and its line names it
|
|
---
|
|
duration_ms: 21072.838361
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: F3 fails on exit 0 with no reply line, and its evidence takes talk's error
|
|
ok 17 - row 195 accept: F3 fails on exit 0 with no reply line, and its evidence takes talk's error
|
|
---
|
|
duration_ms: 3708.467117
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: F1 fails on a unit that isn't active or isn't User=mosaic
|
|
ok 18 - row 195 accept: F1 fails on a unit that isn't active or isn't User=mosaic
|
|
---
|
|
duration_ms: 3517.599317
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: F2 fails when healthz doesn't answer and when another pid holds the port
|
|
ok 19 - row 195 accept: F2 fails when healthz doesn't answer and when another pid holds the port
|
|
---
|
|
duration_ms: 4025.946308
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: F5 fails on unpriv_bwrap (enforce), on complain and on a trailing space
|
|
ok 20 - row 195 accept: F5 fails on unpriv_bwrap (enforce), on complain and on a trailing space
|
|
---
|
|
duration_ms: 8845.119954
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: F5 fails with no bwrap of mosaic's, and passes on comm alone
|
|
ok 21 - row 195 accept: F5 fails with no bwrap of mosaic's, and passes on comm alone
|
|
---
|
|
duration_ms: 4126.5763
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: F6 fails on a stub that prints nothing, on a path outside claude-<pin> and on a .. segment
|
|
ok 22 - row 195 accept: F6 fails on a stub that prints nothing, on a path outside claude-<pin> and on a .. segment
|
|
---
|
|
duration_ms: 5137.178557
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: F7 fails on two live PM launches, one for another business, and no launch.by
|
|
ok 23 - row 195 accept: F7 fails on two live PM launches, one for another business, and no launch.by
|
|
---
|
|
duration_ms: 5691.366549
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: F8 fails on 0640, on another owner and on a symlink, and never prints the credential
|
|
ok 24 - row 195 accept: F8 fails on 0640, on another owner and on a symlink, and never prints the credential
|
|
---
|
|
duration_ms: 5730.966972
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: F9 fails on another owner, a group-writable mode and a number for the flag
|
|
ok 25 - row 195 accept: F9 fails on another owner, a group-writable mode and a number for the flag
|
|
---
|
|
duration_ms: 5621.584201
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: F9 won't run --node as root off the pin path or with a writable directory above it
|
|
ok 26 - row 195 accept: F9 won't run --node as root off the pin path or with a writable directory above it
|
|
---
|
|
duration_ms: 5316.258522
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: F11 fails on one *.json under discord/ and passes on an empty directory
|
|
ok 27 - row 195 accept: F11 fails on one *.json under discord/ and passes on an empty directory
|
|
---
|
|
duration_ms: 3764.13795
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: each P check reports unnamed on its fault, and the exit stays 0
|
|
ok 28 - row 195 accept: each P check reports unnamed on its fault, and the exit stays 0
|
|
---
|
|
duration_ms: 16622.156132
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: P2 is unnamed with a supplementary group, and P5 names docker
|
|
ok 29 - row 195 accept: P2 is unnamed with a supplementary group, and P5 names docker
|
|
---
|
|
duration_ms: 3681.147919
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: P5 is closed with no jarvis account, and P2 with an empty authorized_keys
|
|
ok 30 - row 195 accept: P5 is closed with no jarvis account, and P2 with an empty authorized_keys
|
|
---
|
|
duration_ms: 1837.622854
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: P9 is unnamed once for each item missing
|
|
ok 31 - row 195 accept: P9 is unnamed once for each item missing
|
|
---
|
|
duration_ms: 9351.705376
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 accept: P10 fails its observation with another peer; P11 with the unit disabled
|
|
ok 32 - row253 accept: P10 fails its observation with another peer; P11 with the unit disabled
|
|
---
|
|
duration_ms: 3724.049411
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: every P check unnamed together still exits 0
|
|
ok 33 - row 195 accept: every P check unnamed together still exits 0
|
|
---
|
|
duration_ms: 1644.081467
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: a bad args file refuses with exit 2 before any check, each for its own reason
|
|
ok 34 - row 195 accept: a bad args file refuses with exit 2 before any check, each for its own reason
|
|
---
|
|
duration_ms: 93.429959
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: usage errors and a run without --root as a user exit 2
|
|
ok 35 - row 195 accept: usage errors and a run without --root as a user exit 2
|
|
---
|
|
duration_ms: 10.484275
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: every in-instance call goes through sudo -u mosaic -H env PATH=<node dir>:...
|
|
ok 36 - row 195 accept: every in-instance call goes through sudo -u mosaic -H env PATH=<node dir>:...
|
|
---
|
|
duration_ms: 1850.954185
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: the host check runs with --check and never --enforce
|
|
ok 37 - row 195 accept: the host check runs with --check and never --enforce
|
|
---
|
|
duration_ms: 1829.605146
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 legacy call inventory pins every production bound and the conversation contract
|
|
ok 38 - row276 legacy call inventory pins every production bound and the conversation contract
|
|
---
|
|
duration_ms: 0.390713
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 talk legacy inner timeout cleans both sudo models
|
|
ok 39 - row276 talk legacy inner timeout cleans both sudo models
|
|
---
|
|
duration_ms: 1671.508097
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 precheck legacy inner timeout cleans both sudo models
|
|
ok 40 - row276 precheck legacy inner timeout cleans both sudo models
|
|
---
|
|
duration_ms: 1671.245175
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 claude-version legacy inner timeout cleans both sudo models
|
|
ok 41 - row276 claude-version legacy inner timeout cleans both sudo models
|
|
---
|
|
duration_ms: 1675.495392
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 pm-list legacy inner timeout cleans both sudo models
|
|
ok 42 - row276 pm-list legacy inner timeout cleans both sudo models
|
|
---
|
|
duration_ms: 1661.382885
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 node-version legacy inner timeout cleans both sudo models
|
|
ok 43 - row276 node-version legacy inner timeout cleans both sudo models
|
|
---
|
|
duration_ms: 1692.3437
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 legacy streams and display status preserve failures without granting success
|
|
ok 44 - row276 legacy streams and display status preserve failures without granting success
|
|
---
|
|
duration_ms: 2545.7498
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 trailer grammar cannot make supervisor failure pass
|
|
ok 45 - row276 trailer grammar cannot make supervisor failure pass
|
|
---
|
|
duration_ms: 2097.946825
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 earlier forged trailer and appended zero remain failures
|
|
ok 46 - row276 earlier forged trailer and appended zero remain failures
|
|
---
|
|
duration_ms: 521.451262
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 precheck outer bound discards success status and fixture cleans residual
|
|
ok 47 - row276 precheck outer bound discards success status and fixture cleans residual
|
|
---
|
|
duration_ms: 2170.592563
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 case1 capture and legacy tools refuse unsafe system tools
|
|
ok 48 - row276 case1 capture and legacy tools refuse unsafe system tools
|
|
---
|
|
duration_ms: 76.678871
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 stderr retention is bounded and keeps the final diagnostic
|
|
ok 49 - row276 stderr retention is bounded and keeps the final diagnostic
|
|
---
|
|
duration_ms: 261.872028
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 version and PM checks refuse successful-looking stdout on supervisor failure
|
|
ok 50 - row276 version and PM checks refuse successful-looking stdout on supervisor failure
|
|
---
|
|
duration_ms: 16.458898
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 full acceptance keeps all five healthy calls in both sudo models
|
|
ok 51 - row276 full acceptance keeps all five healthy calls in both sudo models
|
|
---
|
|
duration_ms: 3762.37926
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 vanished pid stat read returns 3 with empty stderr in both scripts
|
|
ok 52 - row276 vanished pid stat read returns 3 with empty stderr in both scripts
|
|
---
|
|
duration_ms: 4.628196
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 legacy stdout snapshot preserves exact bytes on success and command failure
|
|
ok 53 - row276 legacy stdout snapshot preserves exact bytes on success and command failure
|
|
---
|
|
duration_ms: 3223.67506
|
|
type: 'test'
|
|
...
|
|
1..53
|
|
# tests 53
|
|
# suites 0
|
|
# pass 53
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 240011.017536
|
|
END {"label": "case1-whole-2", "argv": ["timeout", "-k", "10", "1200", "node", "--test", "--test-reporter=tap", "packages/cli/tests/case1-accept.test.mjs"], "limit_seconds": 1200, "tmpdir": "/mnt/storage/scratch/tmp/gd0qwWL", "started_utc": "2026-10-23T07:30:57Z", "start_load": "3.41 2.47 2.22 4/6666 357541", "log": "/mnt/storage/scratch/tmp/gABO62Q/records/case1-whole-2.log", "expected_red": false, "rc": 0, "wall_seconds": 240.044, "finished_utc": "2026-10-23T07:34:57Z", "end_load": "2.00 2.32 2.22 1/6458 505199", "counts": {"tests": 53, "pass": 53, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "metrics": [{"fault": "inner", "mode": "exec", "baselineSeconds": 1.9894229939999932, "faultSeconds": 4.213512103000001, "probeSeconds": 2.29}, {"fault": "inner", "mode": "hop", "baselineSeconds": 2.056171266999998, "faultSeconds": 4.169351735999997, "probeSeconds": 2.28}, {"fault": "outer", "mode": "exec", "baselineSeconds": 1.9589971570000053, "faultSeconds": 5.726783651999998, "probeSeconds": 4}, {"fault": "outer", "mode": "hop", "baselineSeconds": 1.879084925999996, "faultSeconds": 5.732443853999998, "probeSeconds": 4.01}], "skip_lines": [], "external_timeout": false}
|
|
START {"label": "case1-whole-3", "argv": ["timeout", "-k", "10", "1200", "node", "--test", "--test-reporter=tap", "packages/cli/tests/case1-accept.test.mjs"], "limit_seconds": 1200, "tmpdir": "/mnt/storage/scratch/tmp/gdjuph7", "started_utc": "2026-10-23T07:34:59Z", "start_load": "2.08 2.33 2.22 4/6464 509071", "log": "/mnt/storage/scratch/tmp/gABO62Q/records/case1-whole-3.log", "expected_red": false}
|
|
TAP version 13
|
|
# Subtest: row253 socket observation uses configured root, metadata and the Console peer without sending bytes
|
|
ok 1 - row253 socket observation uses configured root, metadata and the Console peer without sending bytes
|
|
---
|
|
duration_ms: 1953.256427
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 P10 refuses unsafe metadata, wrong peers and an unsafe Python without claiming closure
|
|
ok 2 - row253 P10 refuses unsafe metadata, wrong peers and an unsafe Python without claiming closure
|
|
---
|
|
duration_ms: 29343.328577
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 acceptance rejects bad config and unsupported copies before talk
|
|
ok 3 - row253 acceptance rejects bad config and unsupported copies before talk
|
|
---
|
|
duration_ms: 1354.971037
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 stalled peer observation ends within its bound without leaving a reader
|
|
ok 4 - row253 stalled peer observation ends within its bound without leaving a reader
|
|
---
|
|
duration_ms: 3964.438002
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 P8 refuses both retired TCP and board listeners
|
|
ok 5 - row253 P8 refuses both retired TCP and board listeners
|
|
---
|
|
duration_ms: 3689.613255
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 C4 acceptance query inner reason holds under both sudo models
|
|
ok 6 - row253 C4 acceptance query inner reason holds under both sudo models
|
|
---
|
|
duration_ms: 10712.630086
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 C4 acceptance query outer reason discards stdout and names residual cleanup
|
|
ok 7 - row253 C4 acceptance query outer reason discards stdout and names residual cleanup
|
|
---
|
|
duration_ms: 14177.055814
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 C4 acceptance query overflow is output-limit in both models
|
|
ok 8 - row253 C4 acceptance query overflow is output-limit in both models
|
|
---
|
|
duration_ms: 492.274319
|
|
type: 'test'
|
|
...
|
|
# Subtest: row299 P10 timing copy preserves shipped bytes and isolates observer variables
|
|
ok 9 - row299 P10 timing copy preserves shipped bytes and isolates observer variables
|
|
---
|
|
duration_ms: 0.683633
|
|
type: 'test'
|
|
...
|
|
# Subtest: row299 P10 observers preserve stdout stderr status and the EXIT trap
|
|
ok 10 - row299 P10 observers preserve stdout stderr status and the EXIT trap
|
|
---
|
|
duration_ms: 3.307686
|
|
type: 'test'
|
|
...
|
|
# Subtest: row299 P10 observer records are complete and ordered
|
|
ok 11 - row299 P10 observer records are complete and ordered
|
|
---
|
|
duration_ms: 0.539265
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 C4 P10 inner reason holds under both sudo models
|
|
ok 12 - row253 C4 P10 inner reason holds under both sudo models
|
|
---
|
|
duration_ms: 11734.519359
|
|
type: 'test'
|
|
...
|
|
# {"fault":"inner","mode":"exec","baselineSeconds":1.8627637730000133,"faultSeconds":3.9948855329999935,"probeSeconds":2.25}
|
|
# {"fault":"inner","mode":"hop","baselineSeconds":1.8459824050000024,"faultSeconds":3.963717149000004,"probeSeconds":2.26}
|
|
# Subtest: row253 C4 P10 outer reason holds under both sudo models
|
|
ok 13 - row253 C4 P10 outer reason holds under both sudo models
|
|
---
|
|
duration_ms: 15259.754291
|
|
type: 'test'
|
|
...
|
|
# {"fault":"outer","mode":"exec","baselineSeconds":1.8736066859999991,"faultSeconds":5.7249899409999925,"probeSeconds":4}
|
|
# {"fault":"outer","mode":"hop","baselineSeconds":1.8894593350000068,"faultSeconds":5.709737833999999,"probeSeconds":4}
|
|
# Subtest: row253 C4 P10 overflow reason holds under both sudo models
|
|
ok 14 - row253 C4 P10 overflow reason holds under both sudo models
|
|
---
|
|
duration_ms: 3822.763403
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: every check passing exits 0, with each P mark and counts that match the lines
|
|
ok 15 - row 195 accept: every check passing exits 0, with each P mark and counts that match the lines
|
|
---
|
|
duration_ms: 1879.591109
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: exits 1 with each F check failing alone, and its line names it
|
|
ok 16 - row 195 accept: exits 1 with each F check failing alone, and its line names it
|
|
---
|
|
duration_ms: 20490.628667
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: F3 fails on exit 0 with no reply line, and its evidence takes talk's error
|
|
ok 17 - row 195 accept: F3 fails on exit 0 with no reply line, and its evidence takes talk's error
|
|
---
|
|
duration_ms: 3653.736213
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: F1 fails on a unit that isn't active or isn't User=mosaic
|
|
ok 18 - row 195 accept: F1 fails on a unit that isn't active or isn't User=mosaic
|
|
---
|
|
duration_ms: 3442.442361
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: F2 fails when healthz doesn't answer and when another pid holds the port
|
|
ok 19 - row 195 accept: F2 fails when healthz doesn't answer and when another pid holds the port
|
|
---
|
|
duration_ms: 3683.514446
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: F5 fails on unpriv_bwrap (enforce), on complain and on a trailing space
|
|
ok 20 - row 195 accept: F5 fails on unpriv_bwrap (enforce), on complain and on a trailing space
|
|
---
|
|
duration_ms: 8437.165336
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: F5 fails with no bwrap of mosaic's, and passes on comm alone
|
|
ok 21 - row 195 accept: F5 fails with no bwrap of mosaic's, and passes on comm alone
|
|
---
|
|
duration_ms: 3900.598202
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: F6 fails on a stub that prints nothing, on a path outside claude-<pin> and on a .. segment
|
|
ok 22 - row 195 accept: F6 fails on a stub that prints nothing, on a path outside claude-<pin> and on a .. segment
|
|
---
|
|
duration_ms: 4987.50038
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: F7 fails on two live PM launches, one for another business, and no launch.by
|
|
ok 23 - row 195 accept: F7 fails on two live PM launches, one for another business, and no launch.by
|
|
---
|
|
duration_ms: 5425.289834
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: F8 fails on 0640, on another owner and on a symlink, and never prints the credential
|
|
ok 24 - row 195 accept: F8 fails on 0640, on another owner and on a symlink, and never prints the credential
|
|
---
|
|
duration_ms: 5477.40542
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: F9 fails on another owner, a group-writable mode and a number for the flag
|
|
ok 25 - row 195 accept: F9 fails on another owner, a group-writable mode and a number for the flag
|
|
---
|
|
duration_ms: 5434.786414
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: F9 won't run --node as root off the pin path or with a writable directory above it
|
|
ok 26 - row 195 accept: F9 won't run --node as root off the pin path or with a writable directory above it
|
|
---
|
|
duration_ms: 5126.262984
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: F11 fails on one *.json under discord/ and passes on an empty directory
|
|
ok 27 - row 195 accept: F11 fails on one *.json under discord/ and passes on an empty directory
|
|
---
|
|
duration_ms: 3711.251951
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: each P check reports unnamed on its fault, and the exit stays 0
|
|
ok 28 - row 195 accept: each P check reports unnamed on its fault, and the exit stays 0
|
|
---
|
|
duration_ms: 16470.538016
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: P2 is unnamed with a supplementary group, and P5 names docker
|
|
ok 29 - row 195 accept: P2 is unnamed with a supplementary group, and P5 names docker
|
|
---
|
|
duration_ms: 3660.364965
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: P5 is closed with no jarvis account, and P2 with an empty authorized_keys
|
|
ok 30 - row 195 accept: P5 is closed with no jarvis account, and P2 with an empty authorized_keys
|
|
---
|
|
duration_ms: 1799.768335
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: P9 is unnamed once for each item missing
|
|
ok 31 - row 195 accept: P9 is unnamed once for each item missing
|
|
---
|
|
duration_ms: 9047.041702
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 accept: P10 fails its observation with another peer; P11 with the unit disabled
|
|
ok 32 - row253 accept: P10 fails its observation with another peer; P11 with the unit disabled
|
|
---
|
|
duration_ms: 3624.70672
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: every P check unnamed together still exits 0
|
|
ok 33 - row 195 accept: every P check unnamed together still exits 0
|
|
---
|
|
duration_ms: 1628.049695
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: a bad args file refuses with exit 2 before any check, each for its own reason
|
|
ok 34 - row 195 accept: a bad args file refuses with exit 2 before any check, each for its own reason
|
|
---
|
|
duration_ms: 96.211247
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: usage errors and a run without --root as a user exit 2
|
|
ok 35 - row 195 accept: usage errors and a run without --root as a user exit 2
|
|
---
|
|
duration_ms: 11.078071
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: every in-instance call goes through sudo -u mosaic -H env PATH=<node dir>:...
|
|
ok 36 - row 195 accept: every in-instance call goes through sudo -u mosaic -H env PATH=<node dir>:...
|
|
---
|
|
duration_ms: 1819.893166
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: the host check runs with --check and never --enforce
|
|
ok 37 - row 195 accept: the host check runs with --check and never --enforce
|
|
---
|
|
duration_ms: 1818.576075
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 legacy call inventory pins every production bound and the conversation contract
|
|
ok 38 - row276 legacy call inventory pins every production bound and the conversation contract
|
|
---
|
|
duration_ms: 0.367599
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 talk legacy inner timeout cleans both sudo models
|
|
ok 39 - row276 talk legacy inner timeout cleans both sudo models
|
|
---
|
|
duration_ms: 1643.944453
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 precheck legacy inner timeout cleans both sudo models
|
|
ok 40 - row276 precheck legacy inner timeout cleans both sudo models
|
|
---
|
|
duration_ms: 1647.187165
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 claude-version legacy inner timeout cleans both sudo models
|
|
ok 41 - row276 claude-version legacy inner timeout cleans both sudo models
|
|
---
|
|
duration_ms: 1658.311785
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 pm-list legacy inner timeout cleans both sudo models
|
|
ok 42 - row276 pm-list legacy inner timeout cleans both sudo models
|
|
---
|
|
duration_ms: 1662.34616
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 node-version legacy inner timeout cleans both sudo models
|
|
ok 43 - row276 node-version legacy inner timeout cleans both sudo models
|
|
---
|
|
duration_ms: 1691.506329
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 legacy streams and display status preserve failures without granting success
|
|
ok 44 - row276 legacy streams and display status preserve failures without granting success
|
|
---
|
|
duration_ms: 2558.787354
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 trailer grammar cannot make supervisor failure pass
|
|
ok 45 - row276 trailer grammar cannot make supervisor failure pass
|
|
---
|
|
duration_ms: 1998.18351
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 earlier forged trailer and appended zero remain failures
|
|
ok 46 - row276 earlier forged trailer and appended zero remain failures
|
|
---
|
|
duration_ms: 502.525144
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 precheck outer bound discards success status and fixture cleans residual
|
|
ok 47 - row276 precheck outer bound discards success status and fixture cleans residual
|
|
---
|
|
duration_ms: 2166.851271
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 case1 capture and legacy tools refuse unsafe system tools
|
|
ok 48 - row276 case1 capture and legacy tools refuse unsafe system tools
|
|
---
|
|
duration_ms: 74.697527
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 stderr retention is bounded and keeps the final diagnostic
|
|
ok 49 - row276 stderr retention is bounded and keeps the final diagnostic
|
|
---
|
|
duration_ms: 241.007102
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 version and PM checks refuse successful-looking stdout on supervisor failure
|
|
ok 50 - row276 version and PM checks refuse successful-looking stdout on supervisor failure
|
|
---
|
|
duration_ms: 16.132196
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 full acceptance keeps all five healthy calls in both sudo models
|
|
ok 51 - row276 full acceptance keeps all five healthy calls in both sudo models
|
|
---
|
|
duration_ms: 3685.474118
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 vanished pid stat read returns 3 with empty stderr in both scripts
|
|
ok 52 - row276 vanished pid stat read returns 3 with empty stderr in both scripts
|
|
---
|
|
duration_ms: 4.365639
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 legacy stdout snapshot preserves exact bytes on success and command failure
|
|
ok 53 - row276 legacy stdout snapshot preserves exact bytes on success and command failure
|
|
---
|
|
duration_ms: 3188.820303
|
|
type: 'test'
|
|
...
|
|
1..53
|
|
# tests 53
|
|
# suites 0
|
|
# pass 53
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 234980.293151
|
|
END {"label": "case1-whole-3", "argv": ["timeout", "-k", "10", "1200", "node", "--test", "--test-reporter=tap", "packages/cli/tests/case1-accept.test.mjs"], "limit_seconds": 1200, "tmpdir": "/mnt/storage/scratch/tmp/gdjuph7", "started_utc": "2026-10-23T07:34:59Z", "start_load": "2.08 2.33 2.22 4/6464 509071", "log": "/mnt/storage/scratch/tmp/gABO62Q/records/case1-whole-3.log", "expected_red": false, "rc": 0, "wall_seconds": 235.011, "finished_utc": "2026-10-23T07:38:54Z", "end_load": "1.91 2.18 2.19 2/6403 652743", "counts": {"tests": 53, "pass": 53, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "metrics": [{"fault": "inner", "mode": "exec", "baselineSeconds": 1.8627637730000133, "faultSeconds": 3.9948855329999935, "probeSeconds": 2.25}, {"fault": "inner", "mode": "hop", "baselineSeconds": 1.8459824050000024, "faultSeconds": 3.963717149000004, "probeSeconds": 2.26}, {"fault": "outer", "mode": "exec", "baselineSeconds": 1.8736066859999991, "faultSeconds": 5.7249899409999925, "probeSeconds": 4}, {"fault": "outer", "mode": "hop", "baselineSeconds": 1.8894593350000068, "faultSeconds": 5.709737833999999, "probeSeconds": 4}], "skip_lines": [], "external_timeout": false}
|
|
START {"label": "cli-whole", "argv": ["timeout", "-k", "10", "5400", "node", "--test", "--test-reporter=tap", "packages/cli/tests/access-boot.test.mjs", "packages/cli/tests/access.test.mjs", "packages/cli/tests/app.test.mjs", "packages/cli/tests/boot-status.test.mjs", "packages/cli/tests/case1-accept.test.mjs", "packages/cli/tests/case1-hostcheck.test.mjs", "packages/cli/tests/case2-persona-import.test.mjs", "packages/cli/tests/case2-unit.test.mjs", "packages/cli/tests/channel-cli.test.mjs", "packages/cli/tests/channel-recovery.test.mjs", "packages/cli/tests/cli.test.mjs", "packages/cli/tests/compactions-launch.test.mjs", "packages/cli/tests/config.test.mjs", "packages/cli/tests/credentials.test.mjs", "packages/cli/tests/follow.test.mjs", "packages/cli/tests/format.test.mjs", "packages/cli/tests/gate-lane-auth.test.mjs", "packages/cli/tests/gate-lane-fixtures.test.mjs", "packages/cli/tests/gate-lane-image.test.mjs", "packages/cli/tests/gate-lane-state.test.mjs", "packages/cli/tests/gate-lane.test.mjs", "packages/cli/tests/git-socket.test.mjs", "packages/cli/tests/grants.test.mjs", "packages/cli/tests/host.test.mjs", "packages/cli/tests/hosts.test.mjs", "packages/cli/tests/instances.test.mjs", "packages/cli/tests/launch-account.test.mjs", "packages/cli/tests/launch-limit-checks.test.mjs", "packages/cli/tests/launch-limits.test.mjs", "packages/cli/tests/launch-routes.test.mjs", "packages/cli/tests/launcher.test.mjs", "packages/cli/tests/lifecycle.test.mjs", "packages/cli/tests/limits-tokens.test.mjs", "packages/cli/tests/limits.test.mjs", "packages/cli/tests/mark-read.test.mjs", "packages/cli/tests/names.test.mjs", "packages/cli/tests/notifier.test.mjs", "packages/cli/tests/other-tree.test.mjs", "packages/cli/tests/processing-cli.test.mjs", "packages/cli/tests/project-name-repo.test.mjs", "packages/cli/tests/project.test.mjs", "packages/cli/tests/publish-socket.test.mjs", "packages/cli/tests/session-clear.test.mjs", "packages/cli/tests/session-launch.test.mjs", "packages/cli/tests/stack-copy.test.mjs", "packages/cli/tests/stack-instances.test.mjs", "packages/cli/tests/stack-release-external.test.mjs", "packages/cli/tests/stack-release.test.mjs", "packages/cli/tests/stack-upgrade.test.mjs", "packages/cli/tests/tester-http.test.mjs", "packages/cli/tests/tester-reads.test.mjs", "packages/cli/tests/tester-threads.test.mjs", "packages/cli/tests/tester.test.mjs", "packages/cli/tests/thread-cli.test.mjs", "packages/cli/tests/thread-launch.test.mjs", "packages/cli/tests/trackers-boot.test.mjs", "packages/cli/tests/transport.test.mjs", "packages/cli/tests/usage.test.mjs", "packages/cli/tests/verbs.test.mjs"], "limit_seconds": 5400, "tmpdir": "/mnt/storage/scratch/tmp/gebsaIr", "started_utc": "2026-10-23T07:38:55Z", "start_load": "1.91 2.18 2.19 1/6404 656161", "log": "/mnt/storage/scratch/tmp/gABO62Q/records/cli-whole.log", "expected_red": false}
|
|
TAP version 13
|
|
# Subtest: R6 a configured peer id validates as a user's home and an unconfigured one refuses
|
|
ok 1 - R6 a configured peer id validates as a user's home and an unconfigured one refuses
|
|
---
|
|
duration_ms: 22.04596
|
|
type: 'test'
|
|
...
|
|
# Subtest: R6 B1 a boot with access.json binds a granted user, whose home is a configured peer
|
|
ok 2 - R6 B1 a boot with access.json binds a granted user, whose home is a configured peer
|
|
---
|
|
duration_ms: 157.949789
|
|
type: 'test'
|
|
...
|
|
# Subtest: R6 B2 a boot without access.json has no access and binds no user
|
|
ok 3 - R6 B2 a boot without access.json has no access and binds no user
|
|
---
|
|
duration_ms: 128.275299
|
|
type: 'test'
|
|
...
|
|
# Subtest: R6 B3 a boot with a file R1's loader refuses still boots, binds no user and says so once
|
|
ok 4 - R6 B3 a boot with a file R1's loader refuses still boots, binds no user and says so once
|
|
---
|
|
duration_ms: 413.461696
|
|
type: 'test'
|
|
...
|
|
# Subtest: list prints the revision and the users
|
|
ok 5 - list prints the revision and the users
|
|
---
|
|
duration_ms: 53.011039
|
|
type: 'test'
|
|
...
|
|
# Subtest: grant writes one revision up, a receipt line, and the id in the file
|
|
ok 6 - grant writes one revision up, a receipt line, and the id in the file
|
|
---
|
|
duration_ms: 53.629006
|
|
type: 'test'
|
|
...
|
|
# Subtest: a viewer grant writes the viewer level, one revision up
|
|
ok 7 - a viewer grant writes the viewer level, one revision up
|
|
---
|
|
duration_ms: 60.540565
|
|
type: 'test'
|
|
...
|
|
# Subtest: a second write appends a second receipt and leaves the first intact
|
|
ok 8 - a second write appends a second receipt and leaves the first intact
|
|
---
|
|
duration_ms: 101.149445
|
|
type: 'test'
|
|
...
|
|
# Subtest: a stale revision refuses with revision-conflict and writes nothing
|
|
ok 9 - a stale revision refuses with revision-conflict and writes nothing
|
|
---
|
|
duration_ms: 100.957811
|
|
type: 'test'
|
|
...
|
|
# Subtest: a live holder's lock refuses and leaves the file and the lock alone
|
|
ok 10 - a live holder's lock refuses and leaves the file and the lock alone
|
|
---
|
|
duration_ms: 70.251582
|
|
type: 'test'
|
|
...
|
|
# Subtest: an empty or unreadable lock refuses, since its holder may still be writing
|
|
ok 11 - an empty or unreadable lock refuses, since its holder may still be writing
|
|
---
|
|
duration_ms: 112.830938
|
|
type: 'test'
|
|
...
|
|
# Subtest: a lock left by a dead pid refuses, names the pid, and is not reclaimed
|
|
ok 12 - a lock left by a dead pid refuses, names the pid, and is not reclaimed
|
|
---
|
|
duration_ms: 105.805843
|
|
type: 'test'
|
|
...
|
|
# Subtest: a failed rename leaves the old bytes, removes the temp file, and writes no receipt
|
|
ok 13 - a failed rename leaves the old bytes, removes the temp file, and writes no receipt
|
|
---
|
|
duration_ms: 55.760117
|
|
type: 'test'
|
|
...
|
|
# Subtest: a group-writable access file refuses with exit 3, names the file, and changes nothing
|
|
ok 14 - a group-writable access file refuses with exit 3, names the file, and changes nothing
|
|
---
|
|
duration_ms: 46.453599
|
|
type: 'test'
|
|
...
|
|
# Subtest: an agent or tester caller is refused before the context or the access file is read
|
|
ok 15 - an agent or tester caller is refused before the context or the access file is read
|
|
---
|
|
duration_ms: 2.096851
|
|
type: 'test'
|
|
...
|
|
# Subtest: the lock is mode 0600 while held and removed after a refused write
|
|
ok 16 - the lock is mode 0600 while held and removed after a refused write
|
|
---
|
|
duration_ms: 46.203612
|
|
type: 'test'
|
|
...
|
|
# Subtest: a grant naming an unknown instance is refused before any write
|
|
ok 17 - a grant naming an unknown instance is refused before any write
|
|
---
|
|
duration_ms: 54.426798
|
|
type: 'test'
|
|
...
|
|
# Subtest: a project name resolves to its id at grant time
|
|
ok 18 - a project name resolves to its id at grant time
|
|
---
|
|
duration_ms: 56.416449
|
|
type: 'test'
|
|
...
|
|
# Subtest: an unknown project name refuses before any write
|
|
ok 19 - an unknown project name refuses before any write
|
|
---
|
|
duration_ms: 53.973581
|
|
type: 'test'
|
|
...
|
|
# Subtest: revoke removes the user's grants and leaves a revision behind
|
|
ok 20 - revoke removes the user's grants and leaves a revision behind
|
|
---
|
|
duration_ms: 115.570686
|
|
type: 'test'
|
|
...
|
|
# Subtest: revoke of a user with no grant refuses and writes nothing
|
|
ok 21 - revoke of a user with no grant refuses and writes nothing
|
|
---
|
|
duration_ms: 48.518541
|
|
type: 'test'
|
|
...
|
|
# Subtest: an agent caller is refused before the bus is asked
|
|
ok 22 - an agent caller is refused before the bus is asked
|
|
---
|
|
duration_ms: 1.541828
|
|
type: 'test'
|
|
...
|
|
# Subtest: --tester is refused on every verb before the bus is asked
|
|
ok 23 - --tester is refused on every verb before the bus is asked
|
|
---
|
|
duration_ms: 1.961523
|
|
type: 'test'
|
|
...
|
|
# Subtest: a bus that refuses the human proof blocks the write
|
|
ok 24 - a bus that refuses the human proof blocks the write
|
|
---
|
|
duration_ms: 56.134834
|
|
type: 'test'
|
|
...
|
|
# Subtest: the context reads console.sso subjects and the business files, and peers stay empty
|
|
ok 25 - the context reads console.sso subjects and the business files, and peers stay empty
|
|
---
|
|
duration_ms: 16.524582
|
|
type: 'test'
|
|
...
|
|
# Subtest: the real human-cli, run from agent ancestry, refuses and writes nothing
|
|
ok 26 - the real human-cli, run from agent ancestry, refuses and writes nothing
|
|
---
|
|
duration_ms: 5252.224633
|
|
type: 'test'
|
|
...
|
|
# Subtest: T1 user add writes the user one revision up, prints it and appends a user.add receipt
|
|
ok 27 - T1 user add writes the user one revision up, prints it and appends a user.add receipt
|
|
---
|
|
duration_ms: 43.08157
|
|
type: 'test'
|
|
...
|
|
# Subtest: T2 a bad user add refuses before any write
|
|
ok 28 - T2 a bad user add refuses before any write
|
|
---
|
|
duration_ms: 532.402758
|
|
type: 'test'
|
|
...
|
|
# Subtest: T3 user remove of a user with no grant drops them one revision up, with a user.remove receipt
|
|
ok 29 - T3 user remove of a user with no grant drops them one revision up, with a user.remove receipt
|
|
---
|
|
duration_ms: 50.643819
|
|
type: 'test'
|
|
...
|
|
# Subtest: T4 user remove refuses with user-has-grants while the user holds a grant, and writes nothing
|
|
ok 30 - T4 user remove refuses with user-has-grants while the user holds a grant, and writes nothing
|
|
---
|
|
duration_ms: 90.780446
|
|
type: 'test'
|
|
...
|
|
# Subtest: T5 user remove of an id not in the file refuses and writes nothing
|
|
ok 31 - T5 user remove of an id not in the file refuses and writes nothing
|
|
---
|
|
duration_ms: 41.535281
|
|
type: 'test'
|
|
...
|
|
# Subtest: T6 a stale revision refuses both user verbs with revision-conflict
|
|
ok 32 - T6 a stale revision refuses both user verbs with revision-conflict
|
|
---
|
|
duration_ms: 83.128223
|
|
type: 'test'
|
|
...
|
|
# Subtest: T7 --tester and an agent caller are refused on both user verbs before the bus is asked
|
|
ok 33 - T7 --tester and an agent caller are refused on both user verbs before the bus is asked
|
|
---
|
|
duration_ms: 1.899439
|
|
type: 'test'
|
|
...
|
|
# Subtest: T8 a user verb of the wrong shape prints the help
|
|
ok 34 - T8 a user verb of the wrong shape prints the help
|
|
---
|
|
duration_ms: 2.385295
|
|
type: 'test'
|
|
...
|
|
# Subtest: T9 a bus that refuses the human proof blocks both user verbs
|
|
ok 35 - T9 a bus that refuses the human proof blocks both user verbs
|
|
---
|
|
duration_ms: 95.889709
|
|
type: 'test'
|
|
...
|
|
# Subtest: every screen and overlay fits 120x36, 80x24 and the narrow layout, row for row
|
|
ok 36 - every screen and overlay fits 120x36, 80x24 and the narrow layout, row for row
|
|
---
|
|
duration_ms: 2785.345636
|
|
type: 'test'
|
|
...
|
|
# Subtest: width counts terminal cells: wide CJK and emoji 2, U+FE0F after a one-cell base 1, marks 0
|
|
ok 37 - width counts terminal cells: wide CJK and emoji 2, U+FE0F after a one-cell base 1, marks 0
|
|
---
|
|
duration_ms: 149.10055
|
|
type: 'test'
|
|
...
|
|
# Subtest: broker text is shown, never interpreted: no raw control character or bidi override reaches the terminal
|
|
ok 38 - broker text is shown, never interpreted: no raw control character or bidi override reaches the terminal
|
|
---
|
|
duration_ms: 322.957744
|
|
type: 'test'
|
|
...
|
|
# Subtest: NO_COLOR: no escape codes, except reverse video on the selected row
|
|
ok 39 - NO_COLOR: no escape codes, except reverse video on the selected row
|
|
---
|
|
duration_ms: 502.298712
|
|
type: 'test'
|
|
...
|
|
# Subtest: 1-9 shows the decide flow's own lines and question; only y resolves
|
|
ok 40 - 1-9 shows the decide flow's own lines and question; only y resolves
|
|
---
|
|
duration_ms: 115.351347
|
|
type: 'test'
|
|
...
|
|
# Subtest: the app shows the same decide text as mosaic decide
|
|
ok 41 - the app shows the same decide text as mosaic decide
|
|
---
|
|
duration_ms: 49.533262
|
|
type: 'test'
|
|
...
|
|
# Subtest: any key but y or Y at the question answers No; nothing is sent
|
|
ok 42 - any key but y or Y at the question answers No; nothing is sent
|
|
---
|
|
duration_ms: 446.086522
|
|
type: 'test'
|
|
...
|
|
# Subtest: below 40x10 the question is hidden, so every key answers it No, y included (Filbert R3)
|
|
ok 43 - below 40x10 the question is hidden, so every key answers it No, y included (Filbert R3)
|
|
---
|
|
duration_ms: 140.220724
|
|
type: 'test'
|
|
...
|
|
# Subtest: under 40 columns a tall terminal shows the too-small screen even where the decide box would fit; y sends nothing (Filbert N10)
|
|
ok 44 - under 40 columns a tall terminal shows the too-small screen even where the decide box would fit; y sends nothing (Filbert N10)
|
|
---
|
|
duration_ms: 492.378418
|
|
type: 'test'
|
|
...
|
|
# Subtest: a hidden decide box names the way out, and the status line under it does not promise y (Filbert N12)
|
|
ok 45 - a hidden decide box names the way out, and the status line under it does not promise y (Filbert N12)
|
|
---
|
|
duration_ms: 72.027112
|
|
type: 'test'
|
|
...
|
|
# Subtest: a throw while answering the question goes to crash, sends nothing and leaves no job pending
|
|
ok 46 - a throw while answering the question goes to crash, sends nothing and leaves no job pending
|
|
---
|
|
duration_ms: 34.449446
|
|
type: 'test'
|
|
...
|
|
# Subtest: type-ahead never answers the question: a paste, keys typed before it is drawn, keys inside askMs
|
|
ok 47 - type-ahead never answers the question: a paste, keys typed before it is drawn, keys inside askMs
|
|
---
|
|
duration_ms: 515.106381
|
|
type: 'test'
|
|
...
|
|
# Subtest: quitting at the question answers No and sends nothing, armed or not
|
|
ok 48 - quitting at the question answers No and sends nothing, armed or not
|
|
---
|
|
duration_ms: 85.134656
|
|
type: 'test'
|
|
...
|
|
# Subtest: a timer tick reads nothing under an overlay, never answers the question, and keeps a resolved status
|
|
ok 49 - a timer tick reads nothing under an overlay, never answers the question, and keeps a resolved status
|
|
---
|
|
duration_ms: 74.047768
|
|
type: 'test'
|
|
...
|
|
# Subtest: a long question is cut inside the question; the action, target, choice and prompt stay (Dewey B1)
|
|
ok 50 - a long question is cut inside the question; the action, target, choice and prompt stay (Dewey B1)
|
|
---
|
|
duration_ms: 101.436081
|
|
type: 'test'
|
|
...
|
|
# Subtest: a decide box too big for the terminal says so, and every key answers it No, y included (Dewey B1, round 3)
|
|
ok 51 - a decide box too big for the terminal says so, and every key answers it No, y included (Dewey B1, round 3)
|
|
---
|
|
duration_ms: 587.064682
|
|
type: 'test'
|
|
...
|
|
# Subtest: at every size the decide box shows each line y depends on, or says it is hidden
|
|
ok 52 - at every size the decide box shows each line y depends on, or says it is hidden
|
|
---
|
|
duration_ms: 16548.185948
|
|
type: 'test'
|
|
...
|
|
# Subtest: outcome unknown: the CLI's sentence, no retry, then the trail or a re-read
|
|
ok 53 - outcome unknown: the CLI's sentence, no retry, then the trail or a re-read
|
|
---
|
|
duration_ms: 121.256869
|
|
type: 'test'
|
|
...
|
|
# Subtest: refused and failed reads keep the last list, marked stale; a refused decide says refused
|
|
ok 54 - refused and failed reads keep the last list, marked stale; a refused decide says refused
|
|
---
|
|
duration_ms: 63.088093
|
|
type: 'test'
|
|
...
|
|
# Subtest: help or a detail box cut to fit keeps its last line, Esc included (Dewey)
|
|
ok 55 - help or a detail box cut to fit keeps its last line, Esc included (Dewey)
|
|
---
|
|
duration_ms: 30.326506
|
|
type: 'test'
|
|
...
|
|
# Subtest: keys: views, moving, trail of a selection, the command line, help and quit
|
|
ok 56 - keys: views, moving, trail of a selection, the command line, help and quit
|
|
---
|
|
duration_ms: 147.524256
|
|
type: 'test'
|
|
...
|
|
# Subtest: one option: the status line says Press 1, not 1-1
|
|
ok 57 - one option: the status line says Press 1, not 1-1
|
|
---
|
|
duration_ms: 46.317291
|
|
type: 'test'
|
|
...
|
|
# Subtest: no business: the app says so and :business picks one
|
|
ok 58 - no business: the app says so and :business picks one
|
|
---
|
|
duration_ms: 24.252497
|
|
type: 'test'
|
|
...
|
|
# Subtest: mosaic with no argument: exit 3 in an agent run, exit 4 with the usage off a terminal, the app on one
|
|
ok 59 - mosaic with no argument: exit 3 in an agent run, exit 4 with the usage off a terminal, the app on one
|
|
---
|
|
duration_ms: 2.987343
|
|
type: 'test'
|
|
...
|
|
# Subtest: scripts/mosaic with no argument reaches the app entry; the seat usage it printed before has not drifted
|
|
ok 60 - scripts/mosaic with no argument reaches the app entry; the seat usage it printed before has not drifted
|
|
---
|
|
duration_ms: 289.691341
|
|
type: 'test'
|
|
...
|
|
# Subtest: strings to keep exactly live once, in the decide flow and the transport; the app does not restate them
|
|
ok 61 - strings to keep exactly live once, in the decide flow and the transport; the app does not restate them
|
|
---
|
|
duration_ms: 0.731704
|
|
type: 'test'
|
|
...
|
|
# Subtest: decide with --note still asks; a No sends nothing
|
|
ok 62 - decide with --note still asks; a No sends nothing
|
|
---
|
|
duration_ms: 25.233432
|
|
type: 'test'
|
|
...
|
|
# Subtest: the app's business comes from a live bus host only
|
|
ok 63 - the app's business comes from a live bus host only
|
|
---
|
|
duration_ms: 2.029792
|
|
type: 'test'
|
|
...
|
|
# Subtest: runApp leaves the terminal as it found it on q, end of input, SIGTERM, SIGINT, SIGHUP and an error, the first frame's included
|
|
ok 64 - runApp leaves the terminal as it found it on q, end of input, SIGTERM, SIGINT, SIGHUP and an error, the first frame's included
|
|
---
|
|
duration_ms: 13.268416
|
|
type: 'test'
|
|
...
|
|
# Subtest: draw is pure: same state, same frame
|
|
ok 65 - draw is pure: same state, same frame
|
|
---
|
|
duration_ms: 1.198724
|
|
type: 'test'
|
|
...
|
|
# Subtest: recordBootRefused keeps the last good load across refusals; recordBootOk clears the refusal
|
|
ok 66 - recordBootRefused keeps the last good load across refusals; recordBootOk clears the refusal
|
|
---
|
|
duration_ms: 6.385314
|
|
type: 'test'
|
|
...
|
|
# Subtest: an unknown key and a JSON syntax error each leave the bus down with the reason and path in the status
|
|
ok 67 - an unknown key and a JSON syntax error each leave the bus down with the reason and path in the status
|
|
---
|
|
duration_ms: 1474.252689
|
|
type: 'test'
|
|
...
|
|
# Subtest: a missing file is recorded too, and a valid file clears the status on the next start
|
|
ok 68 - a missing file is recorded too, and a valid file clears the status on the next start
|
|
---
|
|
duration_ms: 892.961332
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 socket observation uses configured root, metadata and the Console peer without sending bytes
|
|
ok 69 - row253 socket observation uses configured root, metadata and the Console peer without sending bytes
|
|
---
|
|
duration_ms: 3847.852958
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 P10 refuses unsafe metadata, wrong peers and an unsafe Python without claiming closure
|
|
ok 70 - row253 P10 refuses unsafe metadata, wrong peers and an unsafe Python without claiming closure
|
|
---
|
|
duration_ms: 44247.894194
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 acceptance rejects bad config and unsupported copies before talk
|
|
ok 71 - row253 acceptance rejects bad config and unsupported copies before talk
|
|
---
|
|
duration_ms: 1713.008378
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 stalled peer observation ends within its bound without leaving a reader
|
|
ok 72 - row253 stalled peer observation ends within its bound without leaving a reader
|
|
---
|
|
duration_ms: 4401.495547
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 P8 refuses both retired TCP and board listeners
|
|
ok 73 - row253 P8 refuses both retired TCP and board listeners
|
|
---
|
|
duration_ms: 4419.532624
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 C4 acceptance query inner reason holds under both sudo models
|
|
ok 74 - row253 C4 acceptance query inner reason holds under both sudo models
|
|
---
|
|
duration_ms: 10911.183624
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 C4 acceptance query outer reason discards stdout and names residual cleanup
|
|
ok 75 - row253 C4 acceptance query outer reason discards stdout and names residual cleanup
|
|
---
|
|
duration_ms: 14214.702081
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 C4 acceptance query overflow is output-limit in both models
|
|
ok 76 - row253 C4 acceptance query overflow is output-limit in both models
|
|
---
|
|
duration_ms: 565.65847
|
|
type: 'test'
|
|
...
|
|
# Subtest: row299 P10 timing copy preserves shipped bytes and isolates observer variables
|
|
ok 77 - row299 P10 timing copy preserves shipped bytes and isolates observer variables
|
|
---
|
|
duration_ms: 0.809756
|
|
type: 'test'
|
|
...
|
|
# Subtest: row299 P10 observers preserve stdout stderr status and the EXIT trap
|
|
ok 78 - row299 P10 observers preserve stdout stderr status and the EXIT trap
|
|
---
|
|
duration_ms: 3.184794
|
|
type: 'test'
|
|
...
|
|
# Subtest: row299 P10 observer records are complete and ordered
|
|
ok 79 - row299 P10 observer records are complete and ordered
|
|
---
|
|
duration_ms: 0.529593
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 C4 P10 inner reason holds under both sudo models
|
|
ok 80 - row253 C4 P10 inner reason holds under both sudo models
|
|
---
|
|
duration_ms: 12463.953883
|
|
type: 'test'
|
|
...
|
|
# {"fault":"inner","mode":"exec","baselineSeconds":2.0945929310000064,"faultSeconds":4.18209504700001,"probeSeconds":2.27}
|
|
# {"fault":"inner","mode":"hop","baselineSeconds":1.9464092949999903,"faultSeconds":4.171354483000003,"probeSeconds":2.27}
|
|
# Subtest: row253 C4 P10 outer reason holds under both sudo models
|
|
ok 81 - row253 C4 P10 outer reason holds under both sudo models
|
|
---
|
|
duration_ms: 15398.756193
|
|
type: 'test'
|
|
...
|
|
# {"fault":"outer","mode":"exec","baselineSeconds":1.9332695270000113,"faultSeconds":5.785670190999998,"probeSeconds":4.01}
|
|
# {"fault":"outer","mode":"hop","baselineSeconds":1.8855918230000097,"faultSeconds":5.739914212000003,"probeSeconds":4.01}
|
|
# Subtest: row253 C4 P10 overflow reason holds under both sudo models
|
|
ok 82 - row253 C4 P10 overflow reason holds under both sudo models
|
|
---
|
|
duration_ms: 3968.767104
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: every check passing exits 0, with each P mark and counts that match the lines
|
|
ok 83 - row 195 accept: every check passing exits 0, with each P mark and counts that match the lines
|
|
---
|
|
duration_ms: 2046.134061
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: exits 1 with each F check failing alone, and its line names it
|
|
ok 84 - row 195 accept: exits 1 with each F check failing alone, and its line names it
|
|
---
|
|
duration_ms: 22080.638008
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: F3 fails on exit 0 with no reply line, and its evidence takes talk's error
|
|
ok 85 - row 195 accept: F3 fails on exit 0 with no reply line, and its evidence takes talk's error
|
|
---
|
|
duration_ms: 3918.578161
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: F1 fails on a unit that isn't active or isn't User=mosaic
|
|
ok 86 - row 195 accept: F1 fails on a unit that isn't active or isn't User=mosaic
|
|
---
|
|
duration_ms: 3638.561008
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: F2 fails when healthz doesn't answer and when another pid holds the port
|
|
ok 87 - row 195 accept: F2 fails when healthz doesn't answer and when another pid holds the port
|
|
---
|
|
duration_ms: 3867.90602
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: F5 fails on unpriv_bwrap (enforce), on complain and on a trailing space
|
|
ok 88 - row 195 accept: F5 fails on unpriv_bwrap (enforce), on complain and on a trailing space
|
|
---
|
|
duration_ms: 8732.741244
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: F5 fails with no bwrap of mosaic's, and passes on comm alone
|
|
ok 89 - row 195 accept: F5 fails with no bwrap of mosaic's, and passes on comm alone
|
|
---
|
|
duration_ms: 4143.696977
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: F6 fails on a stub that prints nothing, on a path outside claude-<pin> and on a .. segment
|
|
ok 90 - row 195 accept: F6 fails on a stub that prints nothing, on a path outside claude-<pin> and on a .. segment
|
|
---
|
|
duration_ms: 5259.548685
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: F7 fails on two live PM launches, one for another business, and no launch.by
|
|
ok 91 - row 195 accept: F7 fails on two live PM launches, one for another business, and no launch.by
|
|
---
|
|
duration_ms: 5738.183453
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: F8 fails on 0640, on another owner and on a symlink, and never prints the credential
|
|
ok 92 - row 195 accept: F8 fails on 0640, on another owner and on a symlink, and never prints the credential
|
|
---
|
|
duration_ms: 5904.461061
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: F9 fails on another owner, a group-writable mode and a number for the flag
|
|
ok 93 - row 195 accept: F9 fails on another owner, a group-writable mode and a number for the flag
|
|
---
|
|
duration_ms: 5677.628278
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: F9 won't run --node as root off the pin path or with a writable directory above it
|
|
ok 94 - row 195 accept: F9 won't run --node as root off the pin path or with a writable directory above it
|
|
---
|
|
duration_ms: 5347.443543
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: F11 fails on one *.json under discord/ and passes on an empty directory
|
|
ok 95 - row 195 accept: F11 fails on one *.json under discord/ and passes on an empty directory
|
|
---
|
|
duration_ms: 3834.92496
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: each P check reports unnamed on its fault, and the exit stays 0
|
|
ok 96 - row 195 accept: each P check reports unnamed on its fault, and the exit stays 0
|
|
---
|
|
duration_ms: 17205.815027
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: P2 is unnamed with a supplementary group, and P5 names docker
|
|
ok 97 - row 195 accept: P2 is unnamed with a supplementary group, and P5 names docker
|
|
---
|
|
duration_ms: 3837.462573
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: P5 is closed with no jarvis account, and P2 with an empty authorized_keys
|
|
ok 98 - row 195 accept: P5 is closed with no jarvis account, and P2 with an empty authorized_keys
|
|
---
|
|
duration_ms: 1928.075368
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: P9 is unnamed once for each item missing
|
|
ok 99 - row 195 accept: P9 is unnamed once for each item missing
|
|
---
|
|
duration_ms: 10222.310146
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 accept: P10 fails its observation with another peer; P11 with the unit disabled
|
|
ok 100 - row253 accept: P10 fails its observation with another peer; P11 with the unit disabled
|
|
---
|
|
duration_ms: 3984.818053
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: every P check unnamed together still exits 0
|
|
ok 101 - row 195 accept: every P check unnamed together still exits 0
|
|
---
|
|
duration_ms: 1750.667292
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: a bad args file refuses with exit 2 before any check, each for its own reason
|
|
ok 102 - row 195 accept: a bad args file refuses with exit 2 before any check, each for its own reason
|
|
---
|
|
duration_ms: 103.974124
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: usage errors and a run without --root as a user exit 2
|
|
ok 103 - row 195 accept: usage errors and a run without --root as a user exit 2
|
|
---
|
|
duration_ms: 12.612739
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: every in-instance call goes through sudo -u mosaic -H env PATH=<node dir>:...
|
|
ok 104 - row 195 accept: every in-instance call goes through sudo -u mosaic -H env PATH=<node dir>:...
|
|
---
|
|
duration_ms: 1936.467427
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: the host check runs with --check and never --enforce
|
|
ok 105 - row 195 accept: the host check runs with --check and never --enforce
|
|
---
|
|
duration_ms: 1933.180286
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 legacy call inventory pins every production bound and the conversation contract
|
|
ok 106 - row276 legacy call inventory pins every production bound and the conversation contract
|
|
---
|
|
duration_ms: 0.623442
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 talk legacy inner timeout cleans both sudo models
|
|
ok 107 - row276 talk legacy inner timeout cleans both sudo models
|
|
---
|
|
duration_ms: 1720.270821
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 precheck legacy inner timeout cleans both sudo models
|
|
ok 108 - row276 precheck legacy inner timeout cleans both sudo models
|
|
---
|
|
duration_ms: 1716.399973
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 claude-version legacy inner timeout cleans both sudo models
|
|
ok 109 - row276 claude-version legacy inner timeout cleans both sudo models
|
|
---
|
|
duration_ms: 1705.252065
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 pm-list legacy inner timeout cleans both sudo models
|
|
ok 110 - row276 pm-list legacy inner timeout cleans both sudo models
|
|
---
|
|
duration_ms: 1710.901574
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 node-version legacy inner timeout cleans both sudo models
|
|
ok 111 - row276 node-version legacy inner timeout cleans both sudo models
|
|
---
|
|
duration_ms: 1696.717659
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 legacy streams and display status preserve failures without granting success
|
|
ok 112 - row276 legacy streams and display status preserve failures without granting success
|
|
---
|
|
duration_ms: 2667.231961
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 trailer grammar cannot make supervisor failure pass
|
|
ok 113 - row276 trailer grammar cannot make supervisor failure pass
|
|
---
|
|
duration_ms: 2062.344675
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 earlier forged trailer and appended zero remain failures
|
|
ok 114 - row276 earlier forged trailer and appended zero remain failures
|
|
---
|
|
duration_ms: 521.585655
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 precheck outer bound discards success status and fixture cleans residual
|
|
ok 115 - row276 precheck outer bound discards success status and fixture cleans residual
|
|
---
|
|
duration_ms: 2169.366128
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 case1 capture and legacy tools refuse unsafe system tools
|
|
ok 116 - row276 case1 capture and legacy tools refuse unsafe system tools
|
|
---
|
|
duration_ms: 76.265885
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 stderr retention is bounded and keeps the final diagnostic
|
|
ok 117 - row276 stderr retention is bounded and keeps the final diagnostic
|
|
---
|
|
duration_ms: 272.393579
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 version and PM checks refuse successful-looking stdout on supervisor failure
|
|
ok 118 - row276 version and PM checks refuse successful-looking stdout on supervisor failure
|
|
---
|
|
duration_ms: 16.57293
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 full acceptance keeps all five healthy calls in both sudo models
|
|
ok 119 - row276 full acceptance keeps all five healthy calls in both sudo models
|
|
---
|
|
duration_ms: 3844.584531
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 vanished pid stat read returns 3 with empty stderr in both scripts
|
|
ok 120 - row276 vanished pid stat read returns 3 with empty stderr in both scripts
|
|
---
|
|
duration_ms: 4.442351
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 legacy stdout snapshot preserves exact bytes on success and command failure
|
|
ok 121 - row276 legacy stdout snapshot preserves exact bytes on success and command failure
|
|
---
|
|
duration_ms: 3270.723113
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 240 check: exits 0 with all seven items and a note that bubblewrap is the install pin
|
|
ok 122 - row 240 check: exits 0 with all seven items and a note that bubblewrap is the install pin
|
|
---
|
|
duration_ms: 97.381388
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 240 check: exits 1 with each item failing alone, and its line names it
|
|
ok 123 - row 240 check: exits 1 with each item failing alone, and its line names it
|
|
---
|
|
duration_ms: 610.356009
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 240 check: item 1 fails when a package owns the profile, when dpkg -S errs, or with no pin
|
|
ok 124 - row 240 check: item 1 fails when a package owns the profile, when dpkg -S errs, or with no pin
|
|
---
|
|
duration_ms: 220.493945
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 240 check: item 2 fails on a loaded mosaic-bwrap, a missing unpriv_bwrap or a failed aa-status
|
|
ok 125 - row 240 check: item 2 fails on a loaded mosaic-bwrap, a missing unpriv_bwrap or a failed aa-status
|
|
---
|
|
duration_ms: 205.169378
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 240 check: item 3 fails on a second file naming bwrap as a word, /{usr/,}bin/bwrap included
|
|
ok 126 - row 240 check: item 3 fails on a second file naming bwrap as a word, /{usr/,}bin/bwrap included
|
|
---
|
|
duration_ms: 333.362798
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 240 check: item 4 reads the label under the units' no-new-privs and matches it exactly
|
|
ok 127 - row 240 check: item 4 reads the label under the units' no-new-privs and matches it exactly
|
|
---
|
|
duration_ms: 279.150558
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 240 check: item 5 needs the statoverride and stat to agree
|
|
ok 128 - row 240 check: item 5 needs the statoverride and stat to agree
|
|
---
|
|
duration_ms: 64.072038
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 240 check: item 6 fails on protected_hardlinks 0; item 7 fails with the floor at 732 and reads 1023 with no unit
|
|
ok 129 - row 240 check: item 6 fails on protected_hardlinks 0; item 7 fails with the floor at 732 and reads 1023 with no unit
|
|
---
|
|
duration_ms: 393.365071
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 240 check: a bubblewrap version other than the install pin is a note, not a failure
|
|
ok 130 - row 240 check: a bubblewrap version other than the install pin is a note, not a failure
|
|
---
|
|
duration_ms: 69.269556
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 240 enforce: a pass with no DRIFT changes nothing and exits 0
|
|
ok 131 - row 240 enforce: a pass with no DRIFT changes nothing and exits 0
|
|
---
|
|
duration_ms: 71.469297
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 240 enforce: each failure exits 0, unloads the profile, closes bwrap, writes DRIFT and one log line
|
|
ok 132 - row 240 enforce: each failure exits 0, unloads the profile, closes bwrap, writes DRIFT and one log line
|
|
---
|
|
duration_ms: 679.866848
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 240 enforce: with DRIFT present and every item passing, it still closes bwrap
|
|
ok 133 - row 240 enforce: with DRIFT present and every item passing, it still closes bwrap
|
|
---
|
|
duration_ms: 82.225365
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 240 enforce: no unload when aa-status lists neither bwrap profile; never writes the statoverride
|
|
ok 134 - row 240 enforce: no unload when aa-status lists neither bwrap profile; never writes the statoverride
|
|
---
|
|
duration_ms: 719.674258
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 240 upstream: a candidate whose profile differs prints the difference and exits 0
|
|
ok 135 - row 240 upstream: a candidate whose profile differs prints the difference and exits 0
|
|
---
|
|
duration_ms: 109.182323
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 240 boot unit: a oneshot after apparmor and before the bus that runs --enforce
|
|
ok 136 - row 240 boot unit: a oneshot after apparmor and before the bus that runs --enforce
|
|
---
|
|
duration_ms: 0.330256
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 240 pins and usage: the shipped pins are r6's, the script reads the pins beside it, and bad usage exits 2
|
|
ok 137 - row 240 pins and usage: the shipped pins are r6's, the script reads the pins beside it, and bad usage exits 2
|
|
---
|
|
duration_ms: 103.291011
|
|
type: 'test'
|
|
...
|
|
# Subtest: stage takes each profile's SOUL.md byte for byte and prints the pairing with sizes and digests
|
|
ok 138 - stage takes each profile's SOUL.md byte for byte and prints the pairing with sizes and digests
|
|
---
|
|
duration_ms: 163.039743
|
|
type: 'test'
|
|
...
|
|
# Subtest: stage lists the per-channel prompts in all three places by name and byte count only
|
|
ok 139 - stage lists the per-channel prompts in all three places by name and byte count only
|
|
---
|
|
duration_ms: 123.847103
|
|
type: 'test'
|
|
...
|
|
# Subtest: a config key with a newline prints as one quoted line
|
|
ok 140 - a config key with a newline prints as one quoted line
|
|
---
|
|
duration_ms: 101.060879
|
|
type: 'test'
|
|
...
|
|
# Subtest: a read trace shows stage and the dry run open SOUL.md and config.yaml and never memory, sessions or secrets
|
|
ok 141 - a read trace shows stage and the dry run open SOUL.md and config.yaml and never memory, sessions or secrets
|
|
---
|
|
duration_ms: 230.984419
|
|
type: 'test'
|
|
...
|
|
# Subtest: the pairing refuses anything but two existing profiles naming Bean and Chet once each, and writes nothing
|
|
ok 142 - the pairing refuses anything but two existing profiles naming Bean and Chet once each, and writes nothing
|
|
---
|
|
duration_ms: 870.279646
|
|
type: 'test'
|
|
...
|
|
# Subtest: a profile with no persona refuses: no SOUL.md, a blank one, a symlink, not UTF-8
|
|
ok 143 - a profile with no persona refuses: no SOUL.md, a blank one, a symlink, not UTF-8
|
|
---
|
|
duration_ms: 710.106486
|
|
type: 'test'
|
|
...
|
|
# Subtest: the import applies C2-08's exported fence at its boundaries
|
|
ok 144 - the import applies C2-08's exported fence at its boundaries
|
|
---
|
|
duration_ms: 825.479708
|
|
type: 'test'
|
|
...
|
|
# Subtest: install writes 0600 persona files in 0700 directories whose digests match, and prints the vars
|
|
ok 145 - install writes 0600 persona files in 0700 directories whose digests match, and prints the vars
|
|
---
|
|
duration_ms: 183.802207
|
|
type: 'test'
|
|
...
|
|
# Subtest: install refuses an open or foreign staging file, a digest off the manifest and an existing persona
|
|
ok 146 - install refuses an open or foreign staging file, a digest off the manifest and an existing persona
|
|
---
|
|
duration_ms: 977.535815
|
|
type: 'test'
|
|
...
|
|
# Subtest: --dry-run writes nothing and prints only counts and the fence fault, two heading lines in a fixture counted
|
|
ok 147 - --dry-run writes nothing and prints only counts and the fence fault, two heading lines in a fixture counted
|
|
---
|
|
duration_ms: 83.243158
|
|
type: 'test'
|
|
...
|
|
# Subtest: --dry-run applies C2-08's fence: over it the fault prints, nothing is written and it exits 1
|
|
ok 148 - --dry-run applies C2-08's fence: over it the fault prints, nothing is written and it exits 1
|
|
---
|
|
duration_ms: 147.749426
|
|
type: 'test'
|
|
...
|
|
# Subtest: a directory made between the check and mkdir refuses by name, at stage and at install
|
|
ok 149 - a directory made between the check and mkdir refuses by name, at stage and at install
|
|
---
|
|
duration_ms: 225.94579
|
|
type: 'test'
|
|
...
|
|
# Subtest: --dry-run counts three lines naming a Hermes tool or channel and prints none of the words
|
|
ok 150 - --dry-run counts three lines naming a Hermes tool or channel and prints none of the words
|
|
---
|
|
duration_ms: 72.08535
|
|
type: 'test'
|
|
...
|
|
# Subtest: usage: stage needs one of --staging and --dry-run, install takes only its own options
|
|
ok 151 - usage: stage needs one of --staging and --dry-run, install takes only its own options
|
|
---
|
|
duration_ms: 517.726881
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 factory socket uses actual config and target-uid query without widening hardening
|
|
ok 152 - row253 factory socket uses actual config and target-uid query without widening hardening
|
|
---
|
|
duration_ms: 622.846014
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 installer refuses unsafe location and query facts before unit writes
|
|
ok 153 - row253 installer refuses unsafe location and query facts before unit writes
|
|
---
|
|
duration_ms: 5598.972514
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 query timeout kills its process group and leaves no running child
|
|
ok 154 - row253 query timeout kills its process group and leaves no running child
|
|
---
|
|
duration_ms: 7095.740136
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 protected homes refuse before any filesystem access
|
|
ok 155 - row253 protected homes refuse before any filesystem access
|
|
---
|
|
duration_ms: 23.037906
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 C4 sleep query has exact inner reason and cleans all members
|
|
ok 156 - row253 C4 sleep query has exact inner reason and cleans all members
|
|
---
|
|
duration_ms: 11314.885014
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 C4 signals query has exact inner reason and cleans all members
|
|
ok 157 - row253 C4 signals query has exact inner reason and cleans all members
|
|
---
|
|
duration_ms: 11009.897658
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 C4 member query has exact inner reason and cleans all members
|
|
ok 158 - row253 C4 member query has exact inner reason and cleans all members
|
|
---
|
|
duration_ms: 10752.069916
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 C4 overflow is output-limit in both sudo modes
|
|
ok 159 - row253 C4 overflow is output-limit in both sudo modes
|
|
---
|
|
duration_ms: 492.219899
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 C4 stalled supervisor uses the outer reason and explicit residual cleanup
|
|
ok 160 - row253 C4 stalled supervisor uses the outer reason and explicit residual cleanup
|
|
---
|
|
duration_ms: 14168.014961
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 C4 inline supervisor is byte-identical in both host scripts
|
|
ok 161 - row253 C4 inline supervisor is byte-identical in both host scripts
|
|
---
|
|
duration_ms: 0.455137
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 C4 cleanup budget starts after inventory pass one
|
|
ok 162 - row253 C4 cleanup budget starts after inventory pass one
|
|
---
|
|
duration_ms: 38.176438
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 query reaps its group even when a child closes stdout before the query returns
|
|
ok 163 - row253 query reaps its group even when a child closes stdout before the query returns
|
|
---
|
|
duration_ms: 139.27414
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 config parser is strict
|
|
ok 164 - row253 config parser is strict
|
|
---
|
|
duration_ms: 9.882174
|
|
type: 'test'
|
|
...
|
|
# Subtest: a clean library render writes both units 0644 with the fixed lines, and enables both then starts the bus then the Console
|
|
ok 165 - a clean library render writes both units 0644 with the fixed lines, and enables both then starts the bus then the Console
|
|
---
|
|
duration_ms: 108.431029
|
|
type: 'test'
|
|
...
|
|
# Subtest: PATH starts with the --node directory, for a node outside the default list and for /usr/bin/node
|
|
ok 166 - PATH starts with the --node directory, for a node outside the default list and for /usr/bin/node
|
|
---
|
|
duration_ms: 116.483403
|
|
type: 'test'
|
|
...
|
|
# Subtest: a failed bus start refuses with the Console not started
|
|
ok 167 - a failed bus start refuses with the Console not started
|
|
---
|
|
duration_ms: 130.119422
|
|
type: 'test'
|
|
...
|
|
# Subtest: the script never links a unit file
|
|
ok 168 - the script never links a unit file
|
|
---
|
|
duration_ms: 0.181592
|
|
type: 'test'
|
|
...
|
|
# Subtest: factory renders --pm once and one MOSAIC_CLAUDE_BIN line, and without them both tokens render empty
|
|
ok 169 - factory renders --pm once and one MOSAIC_CLAUDE_BIN line, and without them both tokens render empty
|
|
---
|
|
duration_ms: 644.704971
|
|
type: 'test'
|
|
...
|
|
# Subtest: a re-install over running units says they are still on the old copy and must restart together, never that it started them
|
|
ok 170 - a re-install over running units says they are still on the old copy and must restart together, never that it started them
|
|
---
|
|
duration_ms: 481.120561
|
|
type: 'test'
|
|
...
|
|
# Subtest: a re-install to another copy re-renders both units, and an edited installed unit refuses
|
|
ok 171 - a re-install to another copy re-renders both units, and an edited installed unit refuses
|
|
---
|
|
duration_ms: 1105.911955
|
|
type: 'test'
|
|
...
|
|
# Subtest: a template with a namespace, user or system call restriction refuses
|
|
ok 172 - a template with a namespace, user or system call restriction refuses
|
|
---
|
|
duration_ms: 342.7211
|
|
type: 'test'
|
|
...
|
|
# Subtest: the bus template's EnvironmentFile line must be there and point at the session env, and the Console template must have none
|
|
ok 173 - the bus template's EnvironmentFile line must be there and point at the session env, and the Console template must have none
|
|
---
|
|
duration_ms: 213.52946
|
|
type: 'test'
|
|
...
|
|
# Subtest: a template holding an unknown token, PermissionsStartOnly or a privileged Exec prefix refuses
|
|
ok 174 - a template holding an unknown token, PermissionsStartOnly or a privileged Exec prefix refuses
|
|
---
|
|
duration_ms: 161.036139
|
|
type: 'test'
|
|
...
|
|
# Subtest: a symlink at either unit path refuses
|
|
ok 175 - a symlink at either unit path refuses
|
|
---
|
|
duration_ms: 189.83264
|
|
type: 'test'
|
|
...
|
|
# Subtest: a --node that is relative, not root-owned or under <home> refuses
|
|
ok 176 - a --node that is relative, not root-owned or under <home> refuses
|
|
---
|
|
duration_ms: 21.769912
|
|
type: 'test'
|
|
...
|
|
# Subtest: a re-install with a different --node or different serve flags refuses
|
|
ok 177 - a re-install with a different --node or different serve flags refuses
|
|
---
|
|
duration_ms: 630.741285
|
|
type: 'test'
|
|
...
|
|
# Subtest: an installed pair whose units name different copies refuses
|
|
ok 178 - an installed pair whose units name different copies refuses
|
|
---
|
|
duration_ms: 284.110761
|
|
type: 'test'
|
|
...
|
|
# Subtest: a copy id that is short, uppercase, holds / or .., or names no directory refuses
|
|
ok 179 - a copy id that is short, uppercase, holds / or .., or names no directory refuses
|
|
---
|
|
duration_ms: 30.411067
|
|
type: 'test'
|
|
...
|
|
# Subtest: library refuses a privileged-floor miss, a bad proof pair and every flag outside its set
|
|
ok 180 - library refuses a privileged-floor miss, a bad proof pair and every flag outside its set
|
|
---
|
|
duration_ms: 356.58029
|
|
type: 'test'
|
|
...
|
|
# Subtest: library refuses a proof file not owned by <user>'s uid
|
|
ok 181 - library refuses a proof file not owned by <user>'s uid
|
|
---
|
|
duration_ms: 20.102223
|
|
type: 'test'
|
|
...
|
|
# Subtest: factory refuses duplicate socket, a missing --port or --business, and each proxy flag
|
|
ok 182 - factory refuses duplicate socket, a missing --port or --business, and each proxy flag
|
|
---
|
|
duration_ms: 190.751053
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 factory refuses retired TCP and a value after the socket marker
|
|
ok 183 - row253 factory refuses retired TCP and a value after the socket marker
|
|
---
|
|
duration_ms: 27.535041
|
|
type: 'test'
|
|
...
|
|
# Subtest: factory refuses a --claude that is relative, not root-owned or under <home>, and a re-install with another --pm or --claude
|
|
ok 184 - factory refuses a --claude that is relative, not root-owned or under <home>, and a re-install with another --pm or --claude
|
|
---
|
|
duration_ms: 1364.800641
|
|
type: 'test'
|
|
...
|
|
# Subtest: the precheck passes on a good host and prints free memory, without the key
|
|
ok 185 - the precheck passes on a good host and prints free memory, without the key
|
|
---
|
|
duration_ms: 111.039801
|
|
type: 'test'
|
|
...
|
|
# Subtest: the precheck refuses each failed host check
|
|
ok 186 - the precheck refuses each failed host check
|
|
---
|
|
duration_ms: 954.700411
|
|
type: 'test'
|
|
...
|
|
# Subtest: the precheck refuses a user missing from passwd, a business file that does not load, and a symlinked run root
|
|
ok 187 - the precheck refuses a user missing from passwd, a business file that does not load, and a symlinked run root
|
|
---
|
|
duration_ms: 554.409714
|
|
type: 'test'
|
|
...
|
|
# Subtest: a bwrap that fails refuses and prints the sysctl and where bwrap is
|
|
ok 188 - a bwrap that fails refuses and prints the sysctl and where bwrap is
|
|
---
|
|
duration_ms: 146.181972
|
|
type: 'test'
|
|
...
|
|
# Subtest: an unprivileged port floor at or below the Console's port refuses, and so does a missing Console unit
|
|
ok 189 - an unprivileged port floor at or below the Console's port refuses, and so does a missing Console unit
|
|
---
|
|
duration_ms: 567.2768
|
|
type: 'test'
|
|
...
|
|
# Subtest: bus.tester: library refuses it on, factory needs it on, and factory refuses a library business
|
|
ok 190 - bus.tester: library refuses it on, factory needs it on, and factory refuses a library business
|
|
---
|
|
duration_ms: 413.225121
|
|
type: 'test'
|
|
...
|
|
# Subtest: the claude check runs only for a claude-code instance, and refuses a claude that appends or answers wrong
|
|
ok 191 - the claude check runs only for a claude-code instance, and refuses a claude that appends or answers wrong
|
|
---
|
|
duration_ms: 1023.988152
|
|
type: 'test'
|
|
...
|
|
# Subtest: the claude check runs the bus unit's MOSAIC_CLAUDE_BIN over claude on PATH
|
|
ok 192 - the claude check runs the bus unit's MOSAIC_CLAUDE_BIN over claude on PATH
|
|
---
|
|
duration_ms: 322.814702
|
|
type: 'test'
|
|
...
|
|
# Subtest: the session env file refuses when missing, open to others, a symlink, empty, or emptied by a later line
|
|
ok 193 - the session env file refuses when missing, open to others, a symlink, empty, or emptied by a later line
|
|
---
|
|
duration_ms: 707.031436
|
|
type: 'test'
|
|
...
|
|
# Subtest: inside a session's sandbox a bind below 1024 fails with EACCES, and a bind on a free high port succeeds
|
|
ok 194 - inside a session's sandbox a bind below 1024 fails with EACCES, and a bind on a free high port succeeds
|
|
---
|
|
duration_ms: 94.079947
|
|
type: 'test'
|
|
...
|
|
# Subtest: CLI off, absent and other-only channel selections refuse every project/thread flow before any effect
|
|
ok 195 - CLI off, absent and other-only channel selections refuse every project/thread flow before any effect
|
|
---
|
|
duration_ms: 22.215739
|
|
type: 'test'
|
|
...
|
|
# Subtest: CLI enabled project/thread lists dispatch through selection without changing output
|
|
ok 196 - CLI enabled project/thread lists dispatch through selection without changing output
|
|
---
|
|
duration_ms: 3.192858
|
|
type: 'test'
|
|
...
|
|
# Subtest: both channels off recover through the existing human CLI, socket and organization writer
|
|
ok 197 - both channels off recover through the existing human CLI, socket and organization writer
|
|
---
|
|
duration_ms: 4245.064989
|
|
type: 'test'
|
|
...
|
|
# Subtest: inbox lists only decisions routed to the human, with what approving authorizes and how to decide
|
|
ok 198 - inbox lists only decisions routed to the human, with what approving authorizes and how to decide
|
|
---
|
|
duration_ms: 53.252943
|
|
type: 'test'
|
|
...
|
|
# Subtest: decide resolves by id prefix with --yes, and the trail shows it in broker order with the task to follow
|
|
ok 199 - decide resolves by id prefix with --yes, and the trail shows it in broker order with the task to follow
|
|
---
|
|
duration_ms: 44.660772
|
|
type: 'test'
|
|
...
|
|
# Subtest: decide refuses without a terminal or --yes, on an unknown option and on a short reference
|
|
ok 200 - decide refuses without a terminal or --yes, on an unknown option and on a short reference
|
|
---
|
|
duration_ms: 32.1589
|
|
type: 'test'
|
|
...
|
|
# Subtest: decide prints a declining choice as declining
|
|
ok 201 - decide prints a declining choice as declining
|
|
---
|
|
duration_ms: 29.755388
|
|
type: 'test'
|
|
...
|
|
# Subtest: an unknown outcome is reported once and never resent
|
|
ok 202 - an unknown outcome is reported once and never resent
|
|
---
|
|
duration_ms: 30.294391
|
|
type: 'test'
|
|
...
|
|
# Subtest: a decision closed before the answer arrives exits 2 and points at its trail
|
|
ok 203 - a decision closed before the answer arrives exits 2 and points at its trail
|
|
---
|
|
duration_ms: 31.058218
|
|
type: 'test'
|
|
...
|
|
# Subtest: a prefix that matches two open decisions exits 2 and resolves neither
|
|
ok 204 - a prefix that matches two open decisions exits 2 and resolves neither
|
|
---
|
|
duration_ms: 29.9707
|
|
type: 'test'
|
|
...
|
|
# Subtest: without --business a command uses the live host's business, and a stale host.json is not a host
|
|
ok 205 - without --business a command uses the live host's business, and a stale host.json is not a host
|
|
---
|
|
duration_ms: 28.745527
|
|
type: 'test'
|
|
...
|
|
# Subtest: every human command refuses inside an agent run before it touches the bus
|
|
ok 206 - every human command refuses inside an agent run before it touches the bus
|
|
---
|
|
duration_ms: 31.52856
|
|
type: 'test'
|
|
...
|
|
# Subtest: usage errors exit 4; no business and no host is a usage error
|
|
ok 207 - usage errors exit 4; no business and no host is a usage error
|
|
---
|
|
duration_ms: 32.93766
|
|
type: 'test'
|
|
...
|
|
# Subtest: agents and tasks print through the broker
|
|
ok 208 - agents and tasks print through the broker
|
|
---
|
|
duration_ms: 29.488584
|
|
type: 'test'
|
|
...
|
|
# Subtest: notify.json: missing, loose, malformed and extra keys refuse; a binding or null passes
|
|
ok 209 - notify.json: missing, loose, malformed and extra keys refuse; a binding or null passes
|
|
---
|
|
duration_ms: 2.110635
|
|
type: 'test'
|
|
...
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r1532c2fe012b","instance":"assistant","turn":"ad757c53-2c87-4f3e-a38b-4c4d293342bd","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"re6a8173f6693","instance":"assistant","turn":"9f595842-6506-4f4b-9212-8593d6594792","source":"@none","code":"baseline-unknown"}
|
|
# Subtest: REQ-THREAD-2 T3 a run collects compactions at its start and its end, and the count holds across a resume and a host restart
|
|
ok 210 - REQ-THREAD-2 T3 a run collects compactions at its start and its end, and the count holds across a resume and a host restart
|
|
---
|
|
duration_ms: 3656.381752
|
|
type: 'test'
|
|
...
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"re8f05ab59bd0","instance":"assistant","turn":"303c2c02-1bd1-4d83-916b-6de25a84051e","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r9988fed6c081","instance":"assistant","turn":"ebe2b8d6-4c29-4965-a626-f21d427b4e14","source":"@none","code":"baseline-unknown"}
|
|
# Subtest: REQ-THREAD-2 T3 a collection that fails is logged and recorded store-unreadable, and the run ends as one whose collections count
|
|
ok 211 - REQ-THREAD-2 T3 a collection that fails is logged and recorded store-unreadable, and the run ends as one whose collections count
|
|
---
|
|
duration_ms: 3156.819223
|
|
type: 'test'
|
|
...
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r2a4dd601346d","instance":"assistant","turn":"0e0d015c-b580-4766-968f-6c72d436f82b","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"rc8aaaddb90c0","instance":"assistant","turn":"24789da7-b20e-402c-b378-2ffc2044fce5","source":"@none","code":"baseline-unknown"}
|
|
# Subtest: REQ-THREAD-2 T3 the read budget is the system config's compactionReadBytes, and a bad value takes the default
|
|
ok 212 - REQ-THREAD-2 T3 the read budget is the system config's compactionReadBytes, and a bad value takes the default
|
|
---
|
|
duration_ms: 3346.635855
|
|
type: 'test'
|
|
...
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r3490f8a53f24","instance":"assistant","turn":"56d40226-a3de-411b-9242-53f3ceb5b746","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"rb87c6e624094","instance":"assistant","turn":"890bcece-accb-4437-a5b4-0e135187acec","source":"@none","code":"baseline-unknown"}
|
|
# Subtest: REQ-THREAD-2 T3 the stream cap is the system config's compactionStreams, and a bad value takes the default
|
|
ok 213 - REQ-THREAD-2 T3 the stream cap is the system config's compactionStreams, and a bad value takes the default
|
|
---
|
|
duration_ms: 3370.693822
|
|
type: 'test'
|
|
...
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r61c7c3a50e54","instance":"assistant","turn":"e86234c0-b453-470a-a870-30ec32ab0a13","source":"@none","code":"baseline-unknown"}
|
|
# Subtest: REQ-THREAD-2 T3 T4 a clear leaves the retired session's count as it was, its successor counts from 0, and a legacy session reads the thread's ledger
|
|
ok 214 - REQ-THREAD-2 T3 T4 a clear leaves the retired session's count as it was, its successor counts from 0, and a legacy session reads the thread's ledger
|
|
---
|
|
duration_ms: 3234.183382
|
|
type: 'test'
|
|
...
|
|
# Subtest: bootConfig builds the broker's boot message for one business, with no trackers key when no project names one
|
|
ok 215 - bootConfig builds the broker's boot message for one business, with no trackers key when no project names one
|
|
---
|
|
duration_ms: 94.634225
|
|
type: 'test'
|
|
...
|
|
# Subtest: trackers come from the tracker.* variables of the one project that names a tracker project
|
|
ok 216 - trackers come from the tracker.* variables of the one project that names a tracker project
|
|
---
|
|
duration_ms: 116.808093
|
|
type: 'test'
|
|
...
|
|
# Subtest: with two projects, the one that sets tracker.project supplies the tracker and the other is no conflict
|
|
ok 217 - with two projects, the one that sets tracker.project supplies the tracker and the other is no conflict
|
|
---
|
|
duration_ms: 60.704763
|
|
type: 'test'
|
|
...
|
|
# Subtest: two projects that each name a tracker project refuse, since the boot shape holds one
|
|
ok 218 - two projects that each name a tracker project refuse, since the boot shape holds one
|
|
---
|
|
duration_ms: 58.430648
|
|
type: 'test'
|
|
...
|
|
# Subtest: a business without tracker.baseUrl gets no trackers entry
|
|
ok 219 - a business without tracker.baseUrl gets no trackers entry
|
|
---
|
|
duration_ms: 67.000252
|
|
type: 'test'
|
|
...
|
|
# Subtest: an unknown business and a broken system config refuse with exit 3
|
|
ok 220 - an unknown business and a broken system config refuse with exit 3
|
|
---
|
|
duration_ms: 124.291442
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 199: issue and rotate send the stdin token once to credentials.issue and print no value
|
|
ok 221 - row 199: issue and rotate send the stdin token once to credentials.issue and print no value
|
|
---
|
|
duration_ms: 13.523042
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 199: rotate goes ahead on each held state, rotation-due included, and refuses not-issued, revoked and an unknown entry
|
|
ok 222 - row 199: rotate goes ahead on each held state, rotation-due included, and refuses not-issued, revoked and an unknown entry
|
|
---
|
|
duration_ms: 6.797046
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 199: status, revoke and delete; the tester runs status and revoke only
|
|
ok 223 - row 199: status, revoke and delete; the tester runs status and revoke only
|
|
---
|
|
duration_ms: 8.081089
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 210: issue of a host.<id> kind prints public material only
|
|
ok 224 - row 210: issue of a host.<id> kind prints public material only
|
|
---
|
|
duration_ms: 2.424298
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 199: scripts/mosaic sends credentials to packages/cli, not the seat CLI
|
|
ok 225 - row 199: scripts/mosaic sends credentials to packages/cli, not the seat CLI
|
|
---
|
|
duration_ms: 174.321999
|
|
type: 'test'
|
|
...
|
|
# Subtest: follow prints an unsolicited message after plain talk returned
|
|
ok 226 - follow prints an unsolicited message after plain talk returned
|
|
---
|
|
duration_ms: 66.108843
|
|
type: 'test'
|
|
...
|
|
# Subtest: talk --follow continues after reply and prints a later unsolicited message
|
|
ok 227 - talk --follow continues after reply and prints a later unsolicited message
|
|
---
|
|
duration_ms: 62.627403
|
|
type: 'test'
|
|
...
|
|
# Subtest: inbox lists all unread human messages under decisions, does not deliver or read them
|
|
ok 228 - inbox lists all unread human messages under decisions, does not deliver or read them
|
|
---
|
|
duration_ms: 713.926936
|
|
type: 'test'
|
|
...
|
|
# Subtest: follow refuses agent context and bad arguments
|
|
ok 229 - follow refuses agent context and bad arguments
|
|
---
|
|
duration_ms: 40.760783
|
|
type: 'test'
|
|
...
|
|
# Subtest: follow Ctrl-C wakes the poll sleep and removes its handler; transport errors also clean up
|
|
ok 230 - follow Ctrl-C wakes the poll sleep and removes its handler; transport errors also clean up
|
|
---
|
|
duration_ms: 32.07961
|
|
type: 'test'
|
|
...
|
|
# Subtest: plain talk leaves the process SIGINT handlers unchanged
|
|
ok 231 - plain talk leaves the process SIGINT handlers unchanged
|
|
---
|
|
duration_ms: 34.998939
|
|
type: 'test'
|
|
...
|
|
# Subtest: empty views say so
|
|
ok 232 - empty views say so
|
|
---
|
|
duration_ms: 1.20626
|
|
type: 'test'
|
|
...
|
|
# Subtest: agents adds a thread line for each held thread claim, after the roles
|
|
ok 233 - agents adds a thread line for each held thread claim, after the roles
|
|
---
|
|
duration_ms: 0.259623
|
|
type: 'test'
|
|
...
|
|
# Subtest: the trail keeps the broker's order and names a decision's task without its rows
|
|
ok 234 - the trail keeps the broker's order and names a decision's task without its rows
|
|
---
|
|
duration_ms: 5.084459
|
|
type: 'test'
|
|
...
|
|
# Subtest: tasks print the tracker fields the snapshot carries
|
|
ok 235 - tasks print the tracker fields the snapshot carries
|
|
---
|
|
duration_ms: 1.829629
|
|
type: 'test'
|
|
...
|
|
# Subtest: guardDocker refuses a compose run unless PI_AUTH_FILE is a regular file inside the lane temp root
|
|
ok 236 - guardDocker refuses a compose run unless PI_AUTH_FILE is a regular file inside the lane temp root
|
|
---
|
|
duration_ms: 7.516089
|
|
type: 'test'
|
|
...
|
|
# Subtest: cleanEnv points PI_AUTH_FILE at the lane fixture and drops MOSAIC_LIVE_PROVIDER
|
|
ok 237 - cleanEnv points PI_AUTH_FILE at the lane fixture and drops MOSAIC_LIVE_PROVIDER
|
|
---
|
|
duration_ms: 1.72077
|
|
type: 'test'
|
|
...
|
|
# Subtest: test-release.sh activates through the mock adapter with a 0600 fixture auth file
|
|
ok 238 - test-release.sh activates through the mock adapter with a 0600 fixture auth file
|
|
---
|
|
duration_ms: 2903.455487
|
|
type: 'test'
|
|
...
|
|
# {"script":"test-release.sh","extra":[],"wallMs":2297,"status":0}
|
|
# Subtest: test-task.sh mounts only its fixture, uses only the mock adapter and prints the live skip twice
|
|
ok 239 - test-task.sh mounts only its fixture, uses only the mock adapter and prints the live skip twice
|
|
---
|
|
duration_ms: 12440.658096
|
|
type: 'test'
|
|
...
|
|
# {"script":"test-task.sh","extra":[],"wallMs":12280,"status":1}
|
|
# Subtest: M-T: MOSAIC_LIVE_PROVIDER=1 runs the real-model cases, which fail under a fixture auth file
|
|
ok 240 - M-T: MOSAIC_LIVE_PROVIDER=1 runs the real-model cases, which fail under a fixture auth file
|
|
---
|
|
duration_ms: 12680.428867
|
|
type: 'test'
|
|
...
|
|
# {"script":"test-task.sh","extra":["MOSAIC_LIVE_PROVIDER","PI_AUTH_FILE"],"wallMs":12539,"status":1}
|
|
# Subtest: parallel lease holders use only the active lane and its shared state
|
|
ok 241 - parallel lease holders use only the active lane and its shared state
|
|
---
|
|
duration_ms: 40.126501
|
|
type: 'test'
|
|
...
|
|
# Subtest: unrelated home changes do not become lane writes, and own-root references do
|
|
ok 242 - unrelated home changes do not become lane writes, and own-root references do
|
|
---
|
|
duration_ms: 0.705462
|
|
type: 'test'
|
|
...
|
|
# Subtest: proof summaries refuse missing timings, non-overlap and a pair without a lane swap
|
|
ok 243 - proof summaries refuse missing timings, non-overlap and a pair without a lane swap
|
|
---
|
|
duration_ms: 1.341651
|
|
type: 'test'
|
|
...
|
|
# Subtest: an exhausted single-port band refuses, and an occupied foreign listener survives the probe
|
|
ok 244 - an exhausted single-port band refuses, and an occupied foreign listener survives the probe
|
|
---
|
|
duration_ms: 16.901926
|
|
type: 'test'
|
|
...
|
|
# Subtest: parallel child allocators share real lane locks; a lease remains held through child shutdown
|
|
ok 245 - parallel child allocators share real lane locks; a lease remains held through child shutdown
|
|
---
|
|
duration_ms: 259.002119
|
|
type: 'test'
|
|
...
|
|
# Subtest: abrupt allocator death releases its holder without touching a foreign lease
|
|
ok 246 - abrupt allocator death releases its holder without touching a foreign lease
|
|
---
|
|
duration_ms: 92.300454
|
|
type: 'test'
|
|
...
|
|
# Subtest: fixture caches survive a replacement environment with a separate tmp subdirectory
|
|
ok 247 - fixture caches survive a replacement environment with a separate tmp subdirectory
|
|
---
|
|
duration_ms: 42.494916
|
|
type: 'test'
|
|
...
|
|
# Subtest: an unrelated session can append while a supervised step runs without becoming an attributed write
|
|
ok 248 - an unrelated session can append while a supervised step runs without becoming an attributed write
|
|
---
|
|
duration_ms: 59.816406
|
|
type: 'test'
|
|
...
|
|
# Subtest: a changed COPY input or actual image ID refuses compatible image sharing
|
|
ok 249 - a changed COPY input or actual image ID refuses compatible image sharing
|
|
---
|
|
duration_ms: 9.870201
|
|
type: 'test'
|
|
...
|
|
# Subtest: warm Docker guard disables implicit build and pull and refuses image mutation
|
|
ok 250 - warm Docker guard disables implicit build and pull and refuses image mutation
|
|
---
|
|
duration_ms: 2.792189
|
|
type: 'test'
|
|
...
|
|
# Subtest: exclusive image preparation records actual image ID and build wall time and requires a grant
|
|
ok 251 - exclusive image preparation records actual image ID and build wall time and requires a grant
|
|
---
|
|
duration_ms: 8.471
|
|
type: 'test'
|
|
...
|
|
# Subtest: cleanup refuses a foreign Docker label and removes only an exact owned project
|
|
ok 252 - cleanup refuses a foreign Docker label and removes only an exact owned project
|
|
---
|
|
duration_ms: 0.986093
|
|
type: 'test'
|
|
...
|
|
# Subtest: missing receipt and missing image refuse without permitting a gate
|
|
ok 253 - missing receipt and missing image refuse without permitting a gate
|
|
---
|
|
duration_ms: 3.973401
|
|
type: 'test'
|
|
...
|
|
# Subtest: a tag changed between supervised steps fails the next boundary and suppresses gate success
|
|
ok 254 - a tag changed between supervised steps fails the next boundary and suppresses gate success
|
|
---
|
|
duration_ms: 66.171799
|
|
type: 'test'
|
|
...
|
|
# Subtest: mutable-base rebuilds with identical files have distinct image IDs; cold and warm counters stay separate
|
|
ok 255 - mutable-base rebuilds with identical files have distinct image IDs; cold and warm counters stay separate
|
|
---
|
|
duration_ms: 6.949858
|
|
type: 'test'
|
|
...
|
|
# Subtest: warm pinned execution records zero builds and checks the tag again after its final step
|
|
ok 256 - warm pinned execution records zero builds and checks the tag again after its final step
|
|
---
|
|
duration_ms: 91.217681
|
|
type: 'test'
|
|
...
|
|
# Subtest: installed Compose accepts rewritten run argv without starting a container
|
|
ok 257 - installed Compose accepts rewritten run argv without starting a container
|
|
---
|
|
duration_ms: 129.603102
|
|
type: 'test'
|
|
...
|
|
# Subtest: installed Compose resolves the private override with no build and the pinned image
|
|
ok 258 - installed Compose resolves the private override with no build and the pinned image
|
|
---
|
|
duration_ms: 130.217542
|
|
type: 'test'
|
|
...
|
|
# {"installedComposeConfig":{"buildPresent":false,"image":"sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}}
|
|
# Subtest: guard owns every Compose file argument and refuses caller configuration overrides
|
|
ok 259 - guard owns every Compose file argument and refuses caller configuration overrides
|
|
---
|
|
duration_ms: 1.69541
|
|
type: 'test'
|
|
...
|
|
# Subtest: changing packages/processing-control/src/state.mjs invalidates the image receipt
|
|
ok 260 - changing packages/processing-control/src/state.mjs invalidates the image receipt
|
|
---
|
|
duration_ms: 3.025015
|
|
type: 'test'
|
|
...
|
|
# Subtest: changing packages/processing-control/src/entrypoint.mjs invalidates the image receipt
|
|
ok 261 - changing packages/processing-control/src/entrypoint.mjs invalidates the image receipt
|
|
---
|
|
duration_ms: 4.209394
|
|
type: 'test'
|
|
...
|
|
# Subtest: unfinished dead-owner runs quarantine their lane and a recovery record clears only that run
|
|
ok 262 - unfinished dead-owner runs quarantine their lane and a recovery record clears only that run
|
|
---
|
|
duration_ms: 7.699419
|
|
type: 'test'
|
|
...
|
|
# Subtest: a legacy landing gate beside a lane stays legacy even with the same parent
|
|
ok 263 - a legacy landing gate beside a lane stays legacy even with the same parent
|
|
---
|
|
duration_ms: 4.002557
|
|
type: 'test'
|
|
...
|
|
# Subtest: the shell status entry reads scratch receipts and reports legacy processes without mutating old slots
|
|
ok 264 - the shell status entry reads scratch receipts and reports legacy processes without mutating old slots
|
|
---
|
|
duration_ms: 144.580484
|
|
type: 'test'
|
|
...
|
|
# Subtest: recovery supersedes an unclean terminal without rewriting either receipt
|
|
ok 265 - recovery supersedes an unclean terminal without rewriting either receipt
|
|
---
|
|
duration_ms: 3.727395
|
|
type: 'test'
|
|
...
|
|
# Subtest: the wrapper refuses a held lane lock and preserves its inode
|
|
ok 266 - the wrapper refuses a held lane lock and preserves its inode
|
|
---
|
|
duration_ms: 75.944983
|
|
type: 'test'
|
|
...
|
|
# Subtest: a held kernel lock without a start receipt is BUSY rather than CLEAR
|
|
ok 267 - a held kernel lock without a start receipt is BUSY rather than CLEAR
|
|
---
|
|
duration_ms: 11.019854
|
|
type: 'test'
|
|
...
|
|
# Subtest: SIGKILL leaves a quarantined run and locked recovery publishes a new clean receipt
|
|
ok 268 - SIGKILL leaves a quarantined run and locked recovery publishes a new clean receipt
|
|
---
|
|
duration_ms: 473.102343
|
|
type: 'test'
|
|
...
|
|
# Subtest: a malformed receipt refuses status and an identity mismatch cannot look live
|
|
ok 269 - a malformed receipt refuses status and an identity mismatch cannot look live
|
|
---
|
|
duration_ms: 3.040493
|
|
type: 'test'
|
|
...
|
|
# Subtest: a symlink lock is refused before acquiring or replacing its target
|
|
ok 270 - a symlink lock is refused before acquiring or replacing its target
|
|
---
|
|
duration_ms: 75.809618
|
|
type: 'test'
|
|
...
|
|
# Subtest: failed recovery keeps quarantine and never publishes a clean recovery receipt
|
|
ok 271 - failed recovery keeps quarantine and never publishes a clean recovery receipt
|
|
---
|
|
duration_ms: 405.888102
|
|
type: 'test'
|
|
...
|
|
# Subtest: two shared image holders coexist, but exclusive preparation refuses their lock
|
|
ok 272 - two shared image holders coexist, but exclusive preparation refuses their lock
|
|
---
|
|
duration_ms: 197.029282
|
|
type: 'test'
|
|
...
|
|
# Subtest: two simultaneous shell claims have one winner; supervisor retains lock FDs and ordinary children do not
|
|
ok 273 - two simultaneous shell claims have one winner; supervisor retains lock FDs and ordinary children do not
|
|
---
|
|
duration_ms: 198.786121
|
|
type: 'test'
|
|
...
|
|
# Subtest: same checkout and a legacy land gate each refuse a claim on an otherwise free lane
|
|
ok 274 - same checkout and a legacy land gate each refuse a claim on an otherwise free lane
|
|
---
|
|
duration_ms: 6.932629
|
|
type: 'test'
|
|
...
|
|
# Subtest: recovery kills a proven surviving child, preserves a foreign child and keeps quarantine if interrupted
|
|
ok 275 - recovery kills a proven surviving child, preserves a foreign child and keeps quarantine if interrupted
|
|
---
|
|
duration_ms: 1000.671698
|
|
type: 'test'
|
|
...
|
|
# Subtest: preflight refuses unsafe lane roots, missing grants and live port 9 before side effects
|
|
ok 276 - preflight refuses unsafe lane roots, missing grants and live port 9 before side effects
|
|
---
|
|
duration_ms: 61.289582
|
|
type: 'test'
|
|
...
|
|
# Subtest: discovery preserves all package and script steps while ignoring non-file shell names
|
|
ok 277 - discovery preserves all package and script steps while ignoring non-file shell names
|
|
---
|
|
duration_ms: 28.770898
|
|
type: 'test'
|
|
...
|
|
# Subtest: a failed step stops the gate and records its nonzero exit without running the next step
|
|
ok 278 - a failed step stops the gate and records its nonzero exit without running the next step
|
|
---
|
|
duration_ms: 36.844352
|
|
type: 'test'
|
|
...
|
|
# Subtest: a cancelled step stops its process group and records failure
|
|
ok 279 - a cancelled step stops its process group and records failure
|
|
---
|
|
duration_ms: 130.259836
|
|
type: 'test'
|
|
...
|
|
# Subtest: step receipts retain pass fail skipped counts and hashes of their actual logs
|
|
ok 280 - step receipts retain pass fail skipped counts and hashes of their actual logs
|
|
---
|
|
duration_ms: 70.55522
|
|
type: 'test'
|
|
...
|
|
# Subtest: preflight rejects a real 31-byte root, missing dependency tree, occupied band and missing inventory
|
|
ok 281 - preflight rejects a real 31-byte root, missing dependency tree, occupied band and missing inventory
|
|
---
|
|
duration_ms: 58.719441
|
|
type: 'test'
|
|
...
|
|
# Subtest: preflight refuses canonical and builder checkouts and an existing output
|
|
ok 282 - preflight refuses canonical and builder checkouts and an existing output
|
|
---
|
|
duration_ms: 53.189999
|
|
type: 'test'
|
|
...
|
|
# Subtest: both candidates must carry every approved launcher file
|
|
ok 283 - both candidates must carry every approved launcher file
|
|
---
|
|
duration_ms: 24.264431
|
|
type: 'test'
|
|
...
|
|
# Subtest: the 92-byte socket example passes and an over-107-byte pathname refuses
|
|
ok 284 - the 92-byte socket example passes and an over-107-byte pathname refuses
|
|
---
|
|
duration_ms: 0.355974
|
|
type: 'test'
|
|
...
|
|
# Subtest: package/script duplicates stay and every supervised step clears NODE_TEST_CONTEXT
|
|
ok 285 - package/script duplicates stay and every supervised step clears NODE_TEST_CONTEXT
|
|
---
|
|
duration_ms: 115.144647
|
|
type: 'test'
|
|
...
|
|
# Subtest: scoped ss loopback and wildcard port 9 listeners refuse
|
|
ok 286 - scoped ss loopback and wildcard port 9 listeners refuse
|
|
---
|
|
duration_ms: 57.224761
|
|
type: 'test'
|
|
...
|
|
# Subtest: step children use legacy umask 022 while the supervisor retains 077
|
|
ok 287 - step children use legacy umask 022 while the supervisor retains 077
|
|
---
|
|
duration_ms: 65.924334
|
|
type: 'test'
|
|
...
|
|
# Subtest: lane wrapper keeps its state directory and lock files private
|
|
ok 288 - lane wrapper keeps its state directory and lock files private
|
|
---
|
|
duration_ms: 162.16917
|
|
type: 'test'
|
|
...
|
|
# Subtest: the review loop: the coder pushes and asks, the reviewer fetches and approves, and the task's trail holds each step
|
|
ok 289 - the review loop: the coder pushes and asks, the reviewer fetches and approves, and the task's trail holds each step
|
|
---
|
|
duration_ms: 1882.868987
|
|
type: 'test'
|
|
...
|
|
# Subtest: refusals: no action, non-fast-forward, an unknown commit or request, and a push for another task moves only that task's ref
|
|
ok 290 - refusals: no action, non-fast-forward, an unknown commit or request, and a push for another task moves only that task's ref
|
|
---
|
|
duration_ms: 1575.88025
|
|
type: 'test'
|
|
...
|
|
# Subtest: the size cap refuses a push before any byte
|
|
ok 291 - the size cap refuses a push before any byte
|
|
---
|
|
duration_ms: 403.679853
|
|
type: 'test'
|
|
...
|
|
# Subtest: a fetch over the cap refuses before any byte reaches the reviewer
|
|
ok 292 - a fetch over the cap refuses before any byte reaches the reviewer
|
|
---
|
|
duration_ms: 1320.257418
|
|
type: 'test'
|
|
...
|
|
# Subtest: the socket refuses a request with no capability, an unknown one, and a bad request line
|
|
ok 293 - the socket refuses a request with no capability, an unknown one, and a bad request line
|
|
---
|
|
duration_ms: 582.277916
|
|
type: 'test'
|
|
...
|
|
# Subtest: a rigged clone runs nothing: hooks, fsmonitor, a filter, a gitlink and a symlinked .git/config leave no marker
|
|
ok 294 - a rigged clone runs nothing: hooks, fsmonitor, a filter, a gitlink and a symlinked .git/config leave no marker
|
|
---
|
|
duration_ms: 1241.695135
|
|
type: 'test'
|
|
...
|
|
# Subtest: an identity with no role, or of another business, refuses not-a-role and moves no ref
|
|
ok 295 - an identity with no role, or of another business, refuses not-a-role and moves no ref
|
|
---
|
|
duration_ms: 881.181764
|
|
type: 'test'
|
|
...
|
|
# Subtest: a review of a project the business no longer has refuses unknown-project
|
|
ok 296 - a review of a project the business no longer has refuses unknown-project
|
|
---
|
|
duration_ms: 817.296561
|
|
type: 'test'
|
|
...
|
|
# Subtest: past maxActive connections the socket refuses git-busy, and a hung-up connection frees its slot
|
|
ok 297 - past maxActive connections the socket refuses git-busy, and a hung-up connection frees its slot
|
|
---
|
|
duration_ms: 368.481323
|
|
type: 'test'
|
|
...
|
|
# Subtest: close() answers host-closing to a connection still sending its request line
|
|
ok 298 - close() answers host-closing to a connection still sending its request line
|
|
---
|
|
duration_ms: 352.92442
|
|
type: 'test'
|
|
...
|
|
# Subtest: a bundle that trickles in refuses body-timeout at its deadline and frees its slot
|
|
ok 299 - a bundle that trickles in refuses body-timeout at its deadline and frees its slot
|
|
---
|
|
duration_ms: 787.346086
|
|
type: 'test'
|
|
...
|
|
# Subtest: a reviewer gone before its bundle was sent is filed fetch-aborted, not as the host's fault
|
|
ok 300 - a reviewer gone before its bundle was sent is filed fetch-aborted, not as the host's fault
|
|
---
|
|
duration_ms: 1350.277891
|
|
type: 'test'
|
|
...
|
|
# Subtest: a reviewer that hangs up the moment it has the whole bundle was served, not aborted
|
|
ok 301 - a reviewer that hangs up the moment it has the whole bundle was served, not aborted
|
|
---
|
|
duration_ms: 3194.579188
|
|
type: 'test'
|
|
...
|
|
# Subtest: send: a close after every byte left is served; one that fails a queued write is fetch-aborted
|
|
ok 302 - send: a close after every byte left is served; one that fails a queued write is fetch-aborted
|
|
---
|
|
duration_ms: 42.900638
|
|
type: 'test'
|
|
...
|
|
# Subtest: a bundle with no bytes for bodyIdle refuses body-timeout long before its deadline
|
|
ok 303 - a bundle with no bytes for bodyIdle refuses body-timeout long before its deadline
|
|
---
|
|
duration_ms: 706.30325
|
|
type: 'test'
|
|
...
|
|
# Subtest: send: a close once the loop is past its last chunk is served, and a failed write there is fetch-aborted
|
|
ok 304 - send: a close once the loop is past its last chunk is served, and a failed write there is fetch-aborted
|
|
---
|
|
duration_ms: 54.181229
|
|
type: 'test'
|
|
...
|
|
# Subtest: letGo waits for an answer to leave for at most its cap, then destroys the socket
|
|
ok 305 - letGo waits for an answer to leave for at most its cap, then destroys the socket
|
|
---
|
|
duration_ms: 302.535384
|
|
type: 'test'
|
|
...
|
|
# Subtest: a record that fails and can't be undone refuses rollback-failed, which the host logs
|
|
ok 306 - a record that fails and can't be undone refuses rollback-failed, which the host logs
|
|
---
|
|
duration_ms: 1065.46932
|
|
type: 'test'
|
|
...
|
|
# Subtest: land: the squash runs the gate in its own worktree, then main moves and the broker records it
|
|
ok 307 - land: the squash runs the gate in its own worktree, then main moves and the broker records it
|
|
---
|
|
duration_ms: 1586.046727
|
|
type: 'test'
|
|
...
|
|
# Subtest: land: an arbiter-resolved landing's squash says the arbiter resolved it through the broker
|
|
ok 308 - land: an arbiter-resolved landing's squash says the arbiter resolved it through the broker
|
|
---
|
|
duration_ms: 1470.083168
|
|
type: 'test'
|
|
...
|
|
# Subtest: land: refusals before the gate answer the role at once and leave main and no worktree
|
|
ok 309 - land: refusals before the gate answer the role at once and leave main and no worktree
|
|
---
|
|
duration_ms: 1445.376709
|
|
type: 'test'
|
|
...
|
|
# Subtest: land: a failed gate is refused gate-failed with its step, told to the role, and main stays
|
|
ok 310 - land: a failed gate is refused gate-failed with its step, told to the role, and main stays
|
|
---
|
|
duration_ms: 1105.221563
|
|
type: 'test'
|
|
...
|
|
# Subtest: land: a record the broker refuses moves main back, and the landing is refused with the broker's code
|
|
ok 311 - land: a record the broker refuses moves main back, and the landing is refused with the broker's code
|
|
---
|
|
duration_ms: 1151.881486
|
|
type: 'test'
|
|
...
|
|
# Subtest: land: a second landing while one runs refuses land-busy, and close() stops the gate and refuses host-closing
|
|
ok 312 - land: a second landing while one runs refuses land-busy, and close() stops the gate and refuses host-closing
|
|
---
|
|
duration_ms: 1088.893863
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 236: grants status prints one line per entry, and --json the answer
|
|
ok 313 - row 236: grants status prints one line per entry, and --json the answer
|
|
---
|
|
duration_ms: 7.298333
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 236: run, revoke, sweep and admin rotate and remove send their args
|
|
ok 314 - row 236: run, revoke, sweep and admin rotate and remove send their args
|
|
---
|
|
duration_ms: 1.686372
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 236: admin set sends the stdin token once to grants.admin.set and prints no value
|
|
ok 315 - row 236: admin set sends the stdin token once to grants.admin.set and prints no value
|
|
---
|
|
duration_ms: 7.814374
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 236: a malformed grants command is a usage error and calls nothing
|
|
ok 316 - row 236: a malformed grants command is a usage error and calls nothing
|
|
---
|
|
duration_ms: 11.824466
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 236: a bus refusal exits 2 with its code
|
|
ok 317 - row 236: a bus refusal exits 2 with its code
|
|
---
|
|
duration_ms: 0.675473
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 236: scripts/mosaic sends grants to packages/cli, not the seat CLI
|
|
ok 318 - row 236: scripts/mosaic sends grants to packages/cli, not the seat CLI
|
|
---
|
|
duration_ms: 189.556306
|
|
type: 'test'
|
|
...
|
|
# Subtest: the host boots the broker, binds a launch in process, and the notifier DMs a blocking decision exactly once
|
|
ok 319 - the host boots the broker, binds a launch in process, and the notifier DMs a blocking decision exactly once
|
|
---
|
|
duration_ms: 1203.87071
|
|
type: 'test'
|
|
...
|
|
# Subtest: a notifier that dies takes the host down with exit 1, so the unit restarts the pair
|
|
ok 320 - a notifier that dies takes the host down with exit 1, so the unit restarts the pair
|
|
---
|
|
duration_ms: 534.242005
|
|
type: 'test'
|
|
...
|
|
# Subtest: a second host for the same data root refuses with exit 3 while the first runs
|
|
ok 321 - a second host for the same data root refuses with exit 3 while the first runs
|
|
---
|
|
duration_ms: 342.998139
|
|
type: 'test'
|
|
...
|
|
# Subtest: two bus starts racing for one data root leave one host running; the other refuses that a host already runs
|
|
ok 322 - two bus starts racing for one data root leave one host running; the other refuses that a host already runs
|
|
---
|
|
duration_ms: 908.859928
|
|
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 323 - a host takes over a host.lock its dead host left, and puts back a live claim that replaced it meanwhile
|
|
---
|
|
duration_ms: 2.240212
|
|
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 324 - 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.022021
|
|
type: 'test'
|
|
...
|
|
# Subtest: a live host's lock stays, however old the file is
|
|
ok 325 - a live host's lock stays, however old the file is
|
|
---
|
|
duration_ms: 0.710073
|
|
type: 'test'
|
|
...
|
|
# Subtest: a host.lock left by a host killed with SIGKILL doesn't stop the next bus start
|
|
ok 326 - a host.lock left by a host killed with SIGKILL doesn't stop the next bus start
|
|
---
|
|
duration_ms: 1307.784027
|
|
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 327 - while a host boots, a reader sees no host: the human commands still ask for --business, stop and status find none
|
|
---
|
|
duration_ms: 405.125116
|
|
type: 'test'
|
|
...
|
|
# Subtest: a host started before host.lock existed, holding only host.json, still refuses a second start, which leaves no lock
|
|
ok 328 - a host started before host.lock existed, holding only host.json, still refuses a second start, which leaves no lock
|
|
---
|
|
duration_ms: 50.204718
|
|
type: 'test'
|
|
...
|
|
# Subtest: a broker fork that throws leaves no host.lock and no host.json
|
|
ok 329 - a broker fork that throws leaves no host.lock and no host.json
|
|
---
|
|
duration_ms: 47.449946
|
|
type: 'test'
|
|
...
|
|
# Subtest: a broker send that throws leaves no host.lock and no host.json
|
|
ok 330 - a broker send that throws leaves no host.lock and no host.json
|
|
---
|
|
duration_ms: 55.140792
|
|
type: 'test'
|
|
...
|
|
# Subtest: a broker that misses its boot wait leaves no host.lock and no host.json
|
|
ok 331 - a broker that misses its boot wait leaves no host.lock and no host.json
|
|
---
|
|
duration_ms: 52.378309
|
|
type: 'test'
|
|
...
|
|
# Subtest: a notifier fork that throws stops the broker and leaves no host.lock and no host.json
|
|
ok 332 - a notifier fork that throws stops the broker and leaves no host.lock and no host.json
|
|
---
|
|
duration_ms: 305.230613
|
|
type: 'test'
|
|
...
|
|
# Subtest: a notifier send that throws stops the broker and leaves no host.lock and no host.json
|
|
ok 333 - a notifier send that throws stops the broker and leaves no host.lock and no host.json
|
|
---
|
|
duration_ms: 291.416489
|
|
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 334 - 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: 305.08817
|
|
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 335 - 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: 271.26403
|
|
type: 'test'
|
|
...
|
|
# Subtest: a host.json that can't be written stops both children and leaves no host.lock
|
|
ok 336 - a host.json that can't be written stops both children and leaves no host.lock
|
|
---
|
|
duration_ms: 446.512879
|
|
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 337 - 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: 48.006347
|
|
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 338 - 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: 437.513895
|
|
type: 'test'
|
|
...
|
|
# Subtest: an error event on the broker while the notifier starts fails the start once the notifier replies
|
|
ok 339 - an error event on the broker while the notifier starts fails the start once the notifier replies
|
|
---
|
|
duration_ms: 437.343343
|
|
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 340 - 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: 459.294718
|
|
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 341 - 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: 439.458552
|
|
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 342 - a broker reply that misses the wait breaks the channel: the late reply answers nothing, later requests refuse, the host exits 1
|
|
---
|
|
duration_ms: 1296.918267
|
|
type: 'test'
|
|
...
|
|
# Subtest: a broker reply with another request's id, or none, breaks the channel and the host exits 1
|
|
ok 343 - a broker reply with another request's id, or none, breaks the channel and the host exits 1
|
|
---
|
|
duration_ms: 561.825069
|
|
type: 'test'
|
|
...
|
|
# Subtest: a broker reply with no request waiting breaks the channel and the host exits 1
|
|
ok 344 - a broker reply with no request waiting breaks the channel and the host exits 1
|
|
---
|
|
duration_ms: 325.519536
|
|
type: 'test'
|
|
...
|
|
# Subtest: a notifier that refuses stops the broker and the host refuses with exit 3
|
|
ok 345 - a notifier that refuses stops the broker and the host refuses with exit 3
|
|
---
|
|
duration_ms: 446.186472
|
|
type: 'test'
|
|
...
|
|
# Subtest: a notifier that refuses after the broker died still refuses with exit 3, without a send to the dead broker
|
|
ok 346 - a notifier that refuses after the broker died still refuses with exit 3, without a send to the dead broker
|
|
---
|
|
duration_ms: 444.878789
|
|
type: 'test'
|
|
...
|
|
# Subtest: a notifier that dies before it replies, after the broker died, still refuses, without a send to the dead broker
|
|
ok 347 - a notifier that dies before it replies, after the broker died, still refuses, without a send to the dead broker
|
|
---
|
|
duration_ms: 371.817028
|
|
type: 'test'
|
|
...
|
|
# Subtest: a close send that fails with EPIPE after the notifier refuses still gives the notifier's refusal, exit 3
|
|
ok 348 - a close send that fails with EPIPE after the notifier refuses still gives the notifier's refusal, exit 3
|
|
---
|
|
duration_ms: 438.619
|
|
type: 'test'
|
|
...
|
|
# Subtest: a close send that fails with EPIPE after the notifier dies unanswered still gives the notifier's error
|
|
ok 349 - a close send that fails with EPIPE after the notifier dies unanswered still gives the notifier's error
|
|
---
|
|
duration_ms: 373.968711
|
|
type: 'test'
|
|
...
|
|
# Subtest: close() whose stop and close sends fail with EPIPE still finishes, with exit 1
|
|
ok 350 - close() whose stop and close sends fail with EPIPE still finishes, with exit 1
|
|
---
|
|
duration_ms: 438.549348
|
|
type: 'test'
|
|
...
|
|
# Subtest: watchChildren reports a child that died before it was called, and one that dies later
|
|
ok 351 - watchChildren reports a child that died before it was called, and one that dies later
|
|
---
|
|
duration_ms: 39.158595
|
|
type: 'test'
|
|
...
|
|
# Subtest: bus stop refuses to signal a live pid that is not a bus host
|
|
ok 352 - bus stop refuses to signal a live pid that is not a bus host
|
|
---
|
|
duration_ms: 204.50683
|
|
type: 'test'
|
|
...
|
|
# Subtest: bus start refuses with exit 3 and the code when the broker refuses to boot; bus status names the lock
|
|
ok 353 - bus start refuses with exit 3 and the code when the broker refuses to boot; bus status names the lock
|
|
---
|
|
duration_ms: 643.588643
|
|
type: 'test'
|
|
...
|
|
# Subtest: bus start refuses with exit 3 without a notifier config
|
|
ok 354 - bus start refuses with exit 3 without a notifier config
|
|
---
|
|
duration_ms: 227.599275
|
|
type: 'test'
|
|
...
|
|
# Subtest: bus start runs until bus stop; status reports it while it runs
|
|
ok 355 - bus start runs until bus stop; status reports it while it runs
|
|
---
|
|
duration_ms: 1337.616547
|
|
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 356 - 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: 1099.096555
|
|
type: 'test'
|
|
...
|
|
# Subtest: bus-service.sh renders the unit and installs it into a given directory
|
|
ok 357 - bus-service.sh renders the unit and installs it into a given directory
|
|
---
|
|
duration_ms: 498.63374
|
|
type: 'test'
|
|
...
|
|
# Subtest: bus-service.sh pins the claude binary, refuses one the unit can't carry, and renders without one
|
|
ok 358 - bus-service.sh pins the claude binary, refuses one the unit can't carry, and renders without one
|
|
---
|
|
duration_ms: 917.834627
|
|
type: 'test'
|
|
...
|
|
# Subtest: bus-service.sh refuses a directory pin and keeps a symlink default unresolved
|
|
ok 359 - bus-service.sh refuses a directory pin and keeps a symlink default unresolved
|
|
---
|
|
duration_ms: 198.058957
|
|
type: 'test'
|
|
...
|
|
# Subtest: bus-service.sh refuses a default claude without the execute bit, or in a PATH dir with a space
|
|
ok 360 - bus-service.sh refuses a default claude without the execute bit, or in a PATH dir with a space
|
|
---
|
|
duration_ms: 117.594203
|
|
type: 'test'
|
|
...
|
|
# Subtest: bus start --pm while halted keeps the control host up without launching the chief
|
|
ok 361 - bus start --pm while halted keeps the control host up without launching the chief
|
|
---
|
|
duration_ms: 787.182359
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 234: hosts status prints one line per host, and --json the rows
|
|
ok 362 - row 234: hosts status prints one line per host, and --json the rows
|
|
---
|
|
duration_ms: 3.879298
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 234: hosts check and remove send the host id, as the human or the tester
|
|
ok 363 - row 234: hosts check and remove send the host id, as the human or the tester
|
|
---
|
|
duration_ms: 0.831857
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 234: a malformed hosts command is a usage error and calls nothing
|
|
ok 364 - row 234: a malformed hosts command is a usage error and calls nothing
|
|
---
|
|
duration_ms: 2.906846
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 234: a bus refusal exits 2 with its code
|
|
ok 365 - row 234: a bus refusal exits 2 with its code
|
|
---
|
|
duration_ms: 0.737372
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 234: scripts/mosaic sends hosts to packages/cli, not the seat CLI
|
|
ok 366 - row 234: scripts/mosaic sends hosts to packages/cli, not the seat CLI
|
|
---
|
|
duration_ms: 169.048873
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 235: hosts revoke sends agent, host and reason, and sweep the host, as the human or the tester
|
|
ok 367 - row 235: hosts revoke sends agent, host and reason, and sweep the host, as the human or the tester
|
|
---
|
|
duration_ms: 0.899994
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 235 (N10): revoke without --reason, --reason on another verb, and inherited names are usage errors
|
|
ok 368 - row 235 (N10): revoke without --reason, --reason on another verb, and inherited names are usage errors
|
|
---
|
|
duration_ms: 7.62579
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 235: a status line shows the tags of a revoke in progress
|
|
ok 369 - row 235: a status line shows the tags of a revoke in progress
|
|
---
|
|
duration_ms: 1.85766
|
|
type: 'test'
|
|
...
|
|
# organization: {"event":"reload-needs-restart","business":"acme"}
|
|
# organization: {"event":"reload-needs-restart","business":"acme"}
|
|
# Subtest: row 165 CLI: instance add puts an instance in the file, validate exits 0, the log names the human, and the instance binds with no restart (row 194, T1)
|
|
ok 370 - row 165 CLI: instance add puts an instance in the file, validate exits 0, the log names the human, and the instance binds with no restart (row 194, T1)
|
|
---
|
|
duration_ms: 339.672287
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 194 CLI: a bus whose boot credential references differ from the file answers restart needed, and doesn't bind the instance (D3 item 3)
|
|
ok 371 - row 194 CLI: a bus whose boot credential references differ from the file answers restart needed, and doesn't bind the instance (D3 item 3)
|
|
---
|
|
duration_ms: 173.873854
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 165 CLI: instance set passes the vars file and --no-launch, and a vars-only change needs no restart
|
|
ok 372 - row 165 CLI: instance set passes the vars file and --no-launch, and a vars-only change needs no restart
|
|
---
|
|
duration_ms: 297.187947
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 165 CLI: a refusal names its code and why, exits 2 and keeps the bytes
|
|
ok 373 - row 165 CLI: a refusal names its code and why, exits 2 and keeps the bytes
|
|
---
|
|
duration_ms: 162.997544
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 165 CLI: usage errors exit 4 before any bus call, and an agent session is refused
|
|
ok 374 - row 165 CLI: usage errors exit 4 before any bus call, and an agent session is refused
|
|
---
|
|
duration_ms: 131.125037
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 165: scripts/mosaic sends business instances, instance and (row 194) veto to packages/cli, and validate still to packages/business
|
|
ok 375 - row 165: scripts/mosaic sends business instances, instance and (row 194) veto to packages/cli, and validate still to packages/business
|
|
---
|
|
duration_ms: 415.987431
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 194 CLI V6: veto keep, unkeep, nohire and hire write through veto.set, the read shows kept and noHire, and a no-op refuses
|
|
ok 376 - row 194 CLI V6: veto keep, unkeep, nohire and hire write through veto.set, the read shows kept and noHire, and a no-op refuses
|
|
---
|
|
duration_ms: 232.411276
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 194 CLI: the read lists each instance's running run from the bus claims
|
|
ok 377 - row 194 CLI: the read lists each instance's running run from the bus claims
|
|
---
|
|
duration_ms: 131.622377
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 194 CLI D1.1 item 5: launch and regenerate poll instance.request and print the run; a done with a refusal exits 3 with its code and the request id
|
|
ok 378 - row 194 CLI D1.1 item 5: launch and regenerate poll instance.request and print the run; a done with a refusal exits 3 with its code and the request id
|
|
---
|
|
duration_ms: 147.343904
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 194 CLI D1.1 item 5: an open request at --wait exits 3 with its id, and a taken one with no done is outcome-unknown
|
|
ok 379 - row 194 CLI D1.1 item 5: an open request at --wait exits 3 with its id, and a taken one with no done is outcome-unknown
|
|
---
|
|
duration_ms: 1236.843448
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 194 CLI: a request cancelled by a terminate exits 3 request-cancelled
|
|
ok 380 - row 194 CLI: a request cancelled by a terminate exits 3 request-cancelled
|
|
---
|
|
duration_ms: 120.403281
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 194 CLI V3: terminate prints the runs, the cancelled and the taken requests, and nothing held refuses not-held
|
|
ok 381 - row 194 CLI V3: terminate prints the runs, the cancelled and the taken requests, and nothing held refuses not-held
|
|
---
|
|
duration_ms: 120.330845
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 194 CLI V5: delete polls to the transaction and the read lists the name retired; workspace-rename-failed names the transaction
|
|
ok 382 - row 194 CLI V5: delete polls to the transaction and the read lists the name retired; workspace-rename-failed names the transaction
|
|
---
|
|
duration_ms: 189.803967
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 194 CLI: lifecycle and veto usage errors exit 4 before any bus call
|
|
ok 383 - row 194 CLI: lifecycle and veto usage errors exit 4 before any bus call
|
|
---
|
|
duration_ms: 110.230571
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-LIMIT-2 a claude-code launch asks mayLaunch with launch.account.name
|
|
ok 384 - REQ-LIMIT-2 a claude-code launch asks mayLaunch with launch.account.name
|
|
---
|
|
duration_ms: 29.476001
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-LIMIT-2 each login set the account can name is accepted when the bus host holds exactly it
|
|
ok 385 - REQ-LIMIT-2 each login set the account can name is accepted when the bus host holds exactly it
|
|
---
|
|
duration_ms: 54.142052
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-LIMIT-2 account-credential-missing: the named set is not a login set, or the bus host lacks part of it
|
|
ok 386 - REQ-LIMIT-2 account-credential-missing: the named set is not a login set, or the bus host lacks part of it
|
|
---
|
|
duration_ms: 56.069076
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-LIMIT-2 account-credential-ambiguous: the bus host sets a credential variable outside the named set, ANTHROPIC_BASE_URL included
|
|
ok 387 - REQ-LIMIT-2 account-credential-ambiguous: the bus host sets a credential variable outside the named set, ANTHROPIC_BASE_URL included
|
|
---
|
|
duration_ms: 45.986384
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-LIMIT-2 account-is-credential: launch.account.name is the value of a credential variable the bus host sets
|
|
ok 388 - REQ-LIMIT-2 account-is-credential: launch.account.name is the value of a credential variable the bus host sets
|
|
---
|
|
duration_ms: 24.758382
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-LIMIT-2 a pi launch carries account null and skips both account checks
|
|
ok 389 - REQ-LIMIT-2 a pi launch carries account null and skips both account checks
|
|
---
|
|
duration_ms: 28.510019
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-LIMIT-2 with no launch.account a claude-code launch carries null and the environment is not checked for ambiguity
|
|
ok 390 - REQ-LIMIT-2 with no launch.account a claude-code launch carries null and the environment is not checked for ambiguity
|
|
---
|
|
duration_ms: 15.554027
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-LIMIT-4 the launcher asks mayLaunch with the instance, provider, model and account (row 126), and goes on to authorization on an allow
|
|
ok 391 - REQ-LIMIT-4 the launcher asks mayLaunch with the instance, provider, model and account (row 126), and goes on to authorization on an allow
|
|
---
|
|
duration_ms: 30.905096
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-LIMIT-3 REQ-LIMIT-4 a launch whose subject is at its limit is refused limit-reached and logged with the check, limit and count
|
|
ok 392 - REQ-LIMIT-3 REQ-LIMIT-4 a launch whose subject is at its limit is refused limit-reached and logged with the check, limit and count
|
|
---
|
|
duration_ms: 16.479517
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-LIMIT-4 fail closed: a refused op, a check failure or a malformed answer refuses limit-check-failed, naming the check and the code
|
|
ok 393 - REQ-LIMIT-4 fail closed: a refused op, a check failure or a malformed answer refuses limit-check-failed, naming the check and the code
|
|
---
|
|
duration_ms: 137.436715
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-LIMIT-4 the launcher reaches token-limit only through the bus: launcher.mjs imports no limit check
|
|
ok 394 - REQ-LIMIT-4 the launcher reaches token-limit only through the bus: launcher.mjs imports no limit check
|
|
---
|
|
duration_ms: 1.004074
|
|
type: 'test'
|
|
...
|
|
# Subtest: a launcher before trusted control initialization refuses processing-uninitialized
|
|
ok 395 - a launcher before trusted control initialization refuses processing-uninitialized
|
|
---
|
|
duration_ms: 8.249971
|
|
type: 'test'
|
|
...
|
|
# Subtest: each launch rereads limits and model selections; lowered limits keep sessions and log exact hit
|
|
ok 396 - each launch rereads limits and model selections; lowered limits keep sessions and log exact hit
|
|
---
|
|
duration_ms: 61.122698
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 65 a passing primary is the route: its provider and model reach mayLaunch, and a stated fallback is never used
|
|
ok 397 - row 65 a passing primary is the route: its provider and model reach mayLaunch, and a stated fallback is never used
|
|
---
|
|
duration_ms: 37.229087
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 65 a failed primary preflight takes the stated fallback, and the limit checks see the fallback route
|
|
ok 398 - row 65 a failed primary preflight takes the stated fallback, and the limit checks see the fallback route
|
|
---
|
|
duration_ms: 26.418088
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 65 a failed primary with no fallback refuses with the preflight code and never asks mayLaunch
|
|
ok 399 - row 65 a failed primary with no fallback refuses with the preflight code and never asks mayLaunch
|
|
---
|
|
duration_ms: 20.809663
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 65 a fallback whose own preflight fails refuses with its code and names both reasons
|
|
ok 400 - row 65 a fallback whose own preflight fails refuses with its code and names both reasons
|
|
---
|
|
duration_ms: 19.245759
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 65 the fallback route spends launch.account when its module counts the account
|
|
ok 401 - row 65 the fallback route spends launch.account when its module counts the account
|
|
---
|
|
duration_ms: 20.052444
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 65 a missing harness, model or thinking var refuses no-route naming it, and the system execution keys never fill it
|
|
ok 402 - row 65 a missing harness, model or thinking var refuses no-route naming it, and the system execution keys never fill it
|
|
---
|
|
duration_ms: 38.382705
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 65 a harness that is not switched on refuses harness-off, primary or fallback, and an off primary never falls back
|
|
ok 403 - row 65 a harness that is not switched on refuses harness-off, primary or fallback, and an off primary never falls back
|
|
---
|
|
duration_ms: 51.497736
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 65 the loader refusing a module refuses harness-refused and names it; a module that throws refuses harness-failed
|
|
ok 404 - row 65 the loader refusing a module refuses harness-refused and names it; a module that throws refuses harness-failed
|
|
---
|
|
duration_ms: 40.914647
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 65 a thinking level the route harness does not apply refuses thinking-unsupported, on the primary or a fallback taken
|
|
ok 405 - row 65 a thinking level the route harness does not apply refuses thinking-unsupported, on the primary or a fallback taken
|
|
---
|
|
duration_ms: 62.954277
|
|
type: 'test'
|
|
...
|
|
# Subtest: C2-04: launcher workspace clones code but never the library
|
|
ok 406 - C2-04: launcher workspace clones code but never the library
|
|
---
|
|
duration_ms: 1748.921658
|
|
type: 'test'
|
|
...
|
|
# Subtest: bus start --pm: the launcher instance (the chief of staff) runs under its own PID namespace, registered, with a manifest
|
|
ok 407 - bus start --pm: the launcher instance (the chief of staff) runs under its own PID namespace, registered, with a manifest
|
|
---
|
|
duration_ms: 1511.03263
|
|
type: 'test'
|
|
...
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r236cb244010b","instance":"chief","turn":"62750f78-fa59-4dd9-afa9-385f76e67e05","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r09bcc3506fdd","instance":"coder","turn":"7871ee90-b3c8-47bc-a4df-cbc0bda614c8","source":"@none","code":"baseline-unknown"}
|
|
# Subtest: the chief of staff launches a coder through its launch tool; the coder answers; refusals name their code
|
|
ok 408 - the chief of staff launches a coder through its launch tool; the coder answers; refusals name their code
|
|
---
|
|
duration_ms: 1210.526511
|
|
type: 'test'
|
|
...
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r44ef40a72061","instance":"chief","turn":"3a0f4b63-f11d-452d-aad2-e233b6ffadae","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"rdf8f19cec4a1","instance":"pm","turn":"029db973-2453-4087-8b44-5ca58ed4837b","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r44ef40a72061","instance":"chief","turn":"a435afea-b822-4adc-99c9-d99ffb1046ee","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r44ef40a72061","instance":"chief","turn":"4e519b04-b531-44ad-96ec-b09d5d4ab46e","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"rdf8f19cec4a1","instance":"pm","turn":"3124e02c-2c50-4dcb-b8f2-e7f3443a173f","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"rdf8f19cec4a1","instance":"pm","turn":"372cb4f1-3e28-4c81-936d-0b8d051faa38","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r44ef40a72061","instance":"chief","turn":"070fcb20-2af1-4448-9a4b-eb31cf78e8e1","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"rdf8f19cec4a1","instance":"pm","turn":"5f9525c3-544e-4c3d-a522-8572b503ebce","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r44ef40a72061","instance":"chief","turn":"55b3e7b8-49be-4f16-be49-9dffec55e602","source":"@none","code":"baseline-unknown"}
|
|
# Subtest: a launched pm's request_staff reaches the chief of staff; no other session has the tool and the launch limits still hold
|
|
ok 409 - a launched pm's request_staff reaches the chief of staff; no other session has the tool and the launch limits still hold
|
|
---
|
|
duration_ms: 2017.918483
|
|
type: 'test'
|
|
...
|
|
# Subtest: each launch makes sure the workspace has a clone of the project: cloned, fast-forwarded, or fetched and logged
|
|
ok 410 - each launch makes sure the workspace has a clone of the project: cloned, fast-forwarded, or fetched and logged
|
|
---
|
|
duration_ms: 4941.140876
|
|
type: 'test'
|
|
...
|
|
# Subtest: a role the broker says holds a merge decision gets land_work, its prompt line, its landing and the git socket; without it, none
|
|
ok 411 - a role the broker says holds a merge decision gets land_work, its prompt line, its landing and the git socket; without it, none
|
|
---
|
|
duration_ms: 1226.817864
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-LAUNCH-1 the tick starts a listed merge decision holder once, with land_work, the Landing line and its landing turn; an unlisted holder starts nothing
|
|
ok 412 - REQ-LAUNCH-1 the tick starts a listed merge decision holder once, with land_work, the Landing line and its landing turn; an unlisted holder starts nothing
|
|
---
|
|
duration_ms: 714.183108
|
|
type: 'test'
|
|
...
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"ra1d8cc60699d","instance":"coder","turn":"1a037ca4-f98d-4b4d-8c76-5f858fbe9746","source":"@none","code":"baseline-unknown"}
|
|
# Subtest: a holder running since before the resolution is stopped once the broker releases it, land-relaunch, and the next tick starts it: landing turn first, then the message that waited
|
|
ok 413 - a holder running since before the resolution is stopped once the broker releases it, land-relaunch, and the next tick starts it: landing turn first, then the message that waited
|
|
---
|
|
duration_ms: 1267.149508
|
|
type: 'test'
|
|
...
|
|
# Subtest: a landing run that ended isn't started again for its decision, a spent decision starts nothing, and a new decision starts the holder
|
|
ok 414 - a landing run that ended isn't started again for its decision, a spent decision starts nothing, and a new decision starts the holder
|
|
---
|
|
duration_ms: 1227.257369
|
|
type: 'test'
|
|
...
|
|
# Subtest: after a restart, the new host's first tick starts a holder whose decision is still held
|
|
ok 415 - after a restart, the new host's first tick starts a holder whose decision is still held
|
|
---
|
|
duration_ms: 1703.874561
|
|
type: 'test'
|
|
...
|
|
# Subtest: a refused landing start is logged once per code with its decision, isn't a start, and the next tick with room starts the holder
|
|
ok 416 - a refused landing start is logged once per code with its decision, isn't a start, and the next tick with room starts the holder
|
|
---
|
|
duration_ms: 1137.743116
|
|
type: 'test'
|
|
...
|
|
# Subtest: a project clone that can't be made refuses checkout-failed, from --chief and from a session, with no run and no clone left
|
|
ok 417 - a project clone that can't be made refuses checkout-failed, from --chief and from a session, with no run and no clone left
|
|
---
|
|
duration_ms: 499.145584
|
|
type: 'test'
|
|
...
|
|
# Subtest: a runner that stops at once ends its launch with the runner's reason
|
|
ok 418 - a runner that stops at once ends its launch with the runner's reason
|
|
---
|
|
duration_ms: 580.936202
|
|
type: 'test'
|
|
...
|
|
# Subtest: a Claude Code launch with no session credential refuses before it starts
|
|
ok 419 - a Claude Code launch with no session credential refuses before it starts
|
|
---
|
|
duration_ms: 309.738694
|
|
type: 'test'
|
|
...
|
|
# Subtest: a pi launch needs no session credential: pi logs in through its own ENV_ALLOW variables
|
|
ok 420 - a pi launch needs no session credential: pi logs in through its own ENV_ALLOW variables
|
|
---
|
|
duration_ms: 475.560039
|
|
type: 'test'
|
|
...
|
|
# usage: {"event":"plugin-refused","kind":"harness","name":"down","code":"missing","message":"/home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/packages/plugins/harness/down is missing","kept":[]}
|
|
# plugins: {"event":"plugin-refused","kind":"harness","name":"down","code":"missing","message":"/home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/packages/plugins/harness/down is missing","kept":[]}
|
|
# Subtest: row 65 a failed primary preflight launches the fallback on a fixture harness module, recording the route and the reason
|
|
ok 421 - row 65 a failed primary preflight launches the fallback on a fixture harness module, recording the route and the reason
|
|
---
|
|
duration_ms: 533.184405
|
|
type: 'test'
|
|
...
|
|
# Subtest: a runner killed from the host ends its launch as killed, not failed
|
|
ok 422 - a runner killed from the host ends its launch as killed, not failed
|
|
---
|
|
duration_ms: 556.46212
|
|
type: 'test'
|
|
...
|
|
# Subtest: a missing or failing bwrap refuses sandbox-unavailable before anything starts; there is no unconfined fallback
|
|
ok 423 - a missing or failing bwrap refuses sandbox-unavailable before anything starts; there is no unconfined fallback
|
|
---
|
|
duration_ms: 325.294893
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 64 a role skill that isn't enabled refuses skill-not-enabled, and one that isn't a plain directory skill-refused, before anything starts
|
|
ok 424 - row 64 a role skill that isn't enabled refuses skill-not-enabled, and one that isn't a plain directory skill-refused, before anything starts
|
|
---
|
|
duration_ms: 282.594646
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 213 a creative instance's persona is read from <configDir>/personas: off its digest the launch fails with the mismatch as its reason
|
|
ok 425 - row 213 a creative instance's persona is read from <configDir>/personas: off its digest the launch fails with the mismatch as its reason
|
|
---
|
|
duration_ms: 419.46334
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 64 on Claude Code a role skill that isn't enabled refuses the same way, before anything starts
|
|
ok 426 - row 64 on Claude Code a role skill that isn't enabled refuses the same way, before anything starts
|
|
---
|
|
duration_ms: 261.152807
|
|
type: 'test'
|
|
...
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"red7dfafb281c","instance":"chief","turn":"08bb5150-c3dd-44d1-b0f2-b6b6d20f0a22","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r9a7079d35126","instance":"coder","turn":"69a0a3da-470c-43c0-8ad2-c85fabe76ddf","source":"@none","code":"baseline-unknown"}
|
|
# Subtest: a real Claude Code coder's shell can't read a stand-in secret or anything else its sandbox doesn't hold
|
|
ok 427 - a real Claude Code coder's shell can't read a stand-in secret or anything else its sandbox doesn't hold
|
|
---
|
|
duration_ms: 2332.282593
|
|
type: 'test'
|
|
...
|
|
# Subtest: a host that died hard leaves its sessions to the next host, which kills them and ends their runs so the role can be launched again
|
|
ok 428 - a host that died hard leaves its sessions to the next host, which kills them and ends their runs so the role can be launched again
|
|
---
|
|
duration_ms: 1382.916551
|
|
type: 'test'
|
|
...
|
|
# Subtest: a host that died hard leaves its sessions to the next host, which finds one already exited (23) and ends their runs so the role can be launched again
|
|
ok 429 - a host that died hard leaves its sessions to the next host, which finds one already exited (23) and ends their runs so the role can be launched again
|
|
---
|
|
duration_ms: 4244.175372
|
|
type: 'test'
|
|
...
|
|
# Subtest: bus start --no-launch leaves an earlier host's live session alone: no signal, no end, sessions.json as it was
|
|
ok 430 - bus start --no-launch leaves an earlier host's live session alone: no signal, no end, sessions.json as it was
|
|
---
|
|
duration_ms: 296.758827
|
|
type: 'test'
|
|
...
|
|
# Subtest: bus start --no-launch refuses every launch: the PM launch and a session's request, each logged, nothing spawned
|
|
ok 431 - bus start --no-launch refuses every launch: the PM launch and a session's request, each logged, nothing spawned
|
|
---
|
|
duration_ms: 246.378259
|
|
type: 'test'
|
|
...
|
|
# Subtest: bus start --no-launch starts no thread tick; the same host with launches runs it
|
|
ok 432 - bus start --no-launch starts no thread tick; the same host with launches runs it
|
|
---
|
|
duration_ms: 1349.492918
|
|
type: 'test'
|
|
...
|
|
# Subtest: a malformed sessions.json refuses the host start with exit 3 and stays as it was
|
|
ok 433 - a malformed sessions.json refuses the host start with exit 3 and stays as it was
|
|
---
|
|
duration_ms: 240.139551
|
|
type: 'test'
|
|
...
|
|
# Subtest: an over-long launch request is refused at once, not at the 10 s idle timeout
|
|
ok 434 - an over-long launch request is refused at once, not at the 10 s idle timeout
|
|
---
|
|
duration_ms: 226.097227
|
|
type: 'test'
|
|
...
|
|
# Subtest: a launch client that never closes its side doesn't hold the host's close
|
|
ok 435 - a launch client that never closes its side doesn't hold the host's close
|
|
---
|
|
duration_ms: 230.070594
|
|
type: 'test'
|
|
...
|
|
# Subtest: a runner that ignores SIGTERM is killed when the host closes
|
|
ok 436 - a runner that ignores SIGTERM is killed when the host closes
|
|
---
|
|
duration_ms: 1418.746435
|
|
type: 'test'
|
|
...
|
|
# Subtest: kill switch refuses chief and hire before launch work and a clear permits a later request
|
|
ok 437 - kill switch refuses chief and hire before launch work and a clear permits a later request
|
|
---
|
|
duration_ms: 437.652288
|
|
type: 'test'
|
|
...
|
|
# Subtest: kill switch stops an actual managed namespace and records the halt reason without rewriting its bundle
|
|
ok 438 - kill switch stops an actual managed namespace and records the halt reason without rewriting its bundle
|
|
---
|
|
duration_ms: 422.068635
|
|
type: 'test'
|
|
...
|
|
# Subtest: a launch waiting across halt and resume cannot use its stale admission
|
|
ok 439 - a launch waiting across halt and resume cannot use its stale admission
|
|
---
|
|
duration_ms: 236.574692
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 194 T2: the human's launch runs an unlisted instance and launch.by through the pm branch, and closes with the run
|
|
ok 440 - row 194 T2: the human's launch runs an unlisted instance and launch.by through the pm branch, and closes with the run
|
|
---
|
|
duration_ms: 733.273108
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 194 T2: a request past its 60 s never launches, and a refused check closes the request with its code
|
|
ok 441 - row 194 T2: a request past its 60 s never launches, and a refused check closes the request with its code
|
|
---
|
|
duration_ms: 139.238713
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 194 T3: a --no-launch host closes each request launches-disabled and starts nothing
|
|
ok 442 - row 194 T3: a --no-launch host closes each request launches-disabled and starts nothing
|
|
---
|
|
duration_ms: 137.797377
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 194 T3: a limit refusal closes the request with its code and the limit in the launch log
|
|
ok 443 - row 194 T3: a limit refusal closes the request with its code and the limit in the launch log
|
|
---
|
|
duration_ms: 326.625619
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 194 T4: terminate revokes and cancels at the verb, then the pass signals the run, which ends once
|
|
ok 444 - row 194 T4: terminate revokes and cancels at the verb, then the pass signals the run, which ends once
|
|
---
|
|
duration_ms: 391.042036
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 194 T5: regenerate ends the run in the registry and starts a new run on the same workspace
|
|
ok 445 - row 194 T5: regenerate ends the run in the registry and starts a new run on the same workspace
|
|
---
|
|
duration_ms: 863.042538
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 194 T5: a run that outlasts the request's mark closes the regenerate regenerate-timeout and starts nothing
|
|
ok 446 - row 194 T5: a run that outlasts the request's mark closes the regenerate regenerate-timeout and starts nothing
|
|
---
|
|
duration_ms: 2881.578517
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 194 V5: delete retires the name, renames the workspace to .retired/I-<transaction> at 0700, and a retry renames after workspace-rename-failed
|
|
ok 447 - row 194 V5: delete retires the name, renames the workspace to .retired/I-<transaction> at 0700, and a retry renames after workspace-rename-failed
|
|
---
|
|
duration_ms: 175.448312
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 194 V5: a delete with no workspace commits and closes with the transaction
|
|
ok 448 - row 194 V5: a delete with no workspace commits and closes with the transaction
|
|
---
|
|
duration_ms: 166.0045
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 281 T10: the delete pass closes a granted instance's first request grants-revoking and the host channel stays up
|
|
ok 449 - row 281 T10: the delete pass closes a granted instance's first request grants-revoking and the host channel stays up
|
|
---
|
|
duration_ms: 197.305376
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 194 D1.1 item 5: the CLI's launch, regenerate, terminate and delete end to end through the pass, and a closed refusal exits 3 with the request id
|
|
ok 450 - row 194 D1.1 item 5: the CLI's launch, regenerate, terminate and delete end to end through the pass, and a closed refusal exits 3 with the request id
|
|
---
|
|
duration_ms: 1017.709684
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 194 T20: a store-only delete with a tracker bot closes naming the bot, and the CLI says to remove it in Vikunja
|
|
ok 451 - row 194 T20: a store-only delete with a tracker bot closes naming the bot, and the CLI says to remove it in Vikunja
|
|
---
|
|
duration_ms: 174.786223
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 194 T2a: a launch.revoke between the request and the pass closes it launch-revoked with no process; a done that fails once leaves the request taken and the next pass starts nothing
|
|
ok 452 - row 194 T2a: a launch.revoke between the request and the pass closes it launch-revoked with no process; a done that fails once leaves the request taken and the next pass starts nothing
|
|
---
|
|
duration_ms: 336.317025
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 194 T4: terminate signals a spawned run in the registry that the bus never bound, and not a run whose start time differs
|
|
ok 453 - row 194 T4: terminate signals a spawned run in the registry that the bus never bound, and not a run whose start time differs
|
|
---
|
|
duration_ms: 434.264699
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 194 T9a: fire signals its bound run and a spawned but unbound registry run; a SIGTERM-ignoring runner gets SIGKILL and lifecycle.end.killed, and one whose kill fails gets lifecycle.end.alive
|
|
ok 454 - row 194 T9a: fire signals its bound run and a spawned but unbound registry run; a SIGTERM-ignoring runner gets SIGKILL and lifecycle.end.killed, and one whose kill fails gets lifecycle.end.alive
|
|
---
|
|
duration_ms: 1183.516785
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 194 T9a: fire of a registry run with no runtime record reads lifecycle.end.alive with reason unknown, never killed
|
|
ok 455 - row 194 T9a: fire of a registry run with no runtime record reads lifecycle.end.alive with reason unknown, never killed
|
|
---
|
|
duration_ms: 699.40713
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 194 T9a: a runner whose identity changed before the SIGTERM gets no signal, and one whose identity changed between the SIGTERM and the SIGKILL gets no SIGKILL
|
|
ok 456 - row 194 T9a: a runner whose identity changed before the SIGTERM gets no signal, and one whose identity changed between the SIGTERM and the SIGKILL gets no SIGKILL
|
|
---
|
|
duration_ms: 350.522282
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 194 T9a: V3 terminate of a SIGTERM-ignoring runner sends no SIGKILL
|
|
ok 457 - row 194 T9a: V3 terminate of a SIGTERM-ignoring runner sends no SIGKILL
|
|
---
|
|
duration_ms: 1098.181684
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 194 T9b: a halt during a fire's stop sends no second SIGTERM, keeps the fire's deadline, writes one stop receipt with reason fire and the request, and counts the run; a fire while halted refuses
|
|
ok 458 - row 194 T9b: a halt during a fire's stop sends no second SIGTERM, keeps the fire's deadline, writes one stop receipt with reason fire and the request, and counts the run; a fire while halted refuses
|
|
---
|
|
duration_ms: 1820.591245
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 194 T15: while halted the pass closes a launch and a regenerate processing-halted and runs no thread pass, terminate signals, and after a resume a launch starts
|
|
ok 459 - row 194 T15: while halted the pass closes a launch and a regenerate processing-halted and runs no thread pass, terminate signals, and after a resume a launch starts
|
|
---
|
|
duration_ms: 498.314674
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 194 N6: a run spawned after a terminate's verb survives its pass, and the next terminate ends it
|
|
ok 460 - row 194 N6: a run spawned after a terminate's verb survives its pass, and the next terminate ends it
|
|
---
|
|
duration_ms: 687.452781
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 194 T6: a delete leaves the run evidence bytes unchanged, and the retired name refuses a create and a launch
|
|
ok 461 - row 194 T6: a delete leaves the run evidence bytes unchanged, and the retired name refuses a create and a launch
|
|
---
|
|
duration_ms: 550.70756
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 194 T11: two stack roots with the same business id; a launch, a terminate and a delete in one leave the other byte-identical
|
|
ok 462 - row 194 T11: two stack roots with the same business id; a launch, a terminate and a delete in one leave the other byte-identical
|
|
---
|
|
duration_ms: 723.353777
|
|
type: 'test'
|
|
...
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r470ede62a756","instance":"chief","turn":"09135884-b0e2-4352-bbe2-a2d84ca0ba8c","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r470ede62a756","instance":"chief","turn":"caa29670-496b-410d-9b29-1bed639b1a2c","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r470ede62a756","instance":"chief","turn":"f61c05f6-7d90-4397-b911-4dfec87a5b7c","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r470ede62a756","instance":"chief","turn":"cf822772-0af6-41e5-b14d-9bc43db3f32d","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r470ede62a756","instance":"chief","turn":"4bd50d3d-8bdb-4dbd-bfe7-0ce56a7e35b2","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r470ede62a756","instance":"chief","turn":"f8d6ec36-23e1-43eb-9aed-00b5299f0d53","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r470ede62a756","instance":"chief","turn":"a35ba3d0-ce37-4d9d-b7eb-096783d57f3f","source":"@none","code":"baseline-unknown"}
|
|
# Subtest: row 194 D3 item 5: the chief's session hires with its tool and launches its hire in the same session, then fires it
|
|
ok 463 - row 194 D3 item 5: the chief's session hires with its tool and launches its hire in the same session, then fires it
|
|
---
|
|
duration_ms: 1842.181047
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-LIMIT-3 REQ-LIMIT-4 formatTokens shows each limit counted, not enforced, or check failed, in reset path words
|
|
ok 464 - REQ-LIMIT-3 REQ-LIMIT-4 formatTokens shows each limit counted, not enforced, or check failed, in reset path words
|
|
---
|
|
duration_ms: 1.38765
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-LIMIT-2 row 126: any daily quota row adds one line after the list saying the count is this stack's own use
|
|
ok 465 - REQ-LIMIT-2 row 126: any daily quota row adds one line after the list saying the count is this stack's own use
|
|
---
|
|
duration_ms: 0.450523
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-LIMIT-3 the view prints the limits then the token lines; --json keeps tokens in the result
|
|
ok 466 - REQ-LIMIT-3 the view prints the limits then the token lines; --json keeps tokens in the result
|
|
---
|
|
duration_ms: 4.997099
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-LIMIT-3 reset reads the revision, then sends limits.set with one path per limit, a word per level
|
|
ok 467 - REQ-LIMIT-3 reset reads the revision, then sends limits.set with one path per limit, a word per level
|
|
---
|
|
duration_ms: 1.279928
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-LIMIT-3 reset with no path, or with --file, is refused before the bus
|
|
ok 468 - REQ-LIMIT-3 reset with no path, or with --file, is refused before the bus
|
|
---
|
|
duration_ms: 2.613338
|
|
type: 'test'
|
|
...
|
|
# Subtest: migration needs no bus/config, prints whole converted document, is idempotent and never writes
|
|
ok 469 - migration needs no bus/config, prints whole converted document, is idempotent and never writes
|
|
---
|
|
duration_ms: 23.411104
|
|
type: 'test'
|
|
...
|
|
# Subtest: limits view/set use the human bus transport and pass only the explicit patch
|
|
ok 470 - limits view/set use the human bus transport and pass only the explicit patch
|
|
---
|
|
duration_ms: 2.275836
|
|
type: 'test'
|
|
...
|
|
# Subtest: limits set passes an assistants patch through unchanged, and the usage names the key
|
|
ok 471 - limits set passes an assistants patch through unchanged, and the usage names the key
|
|
---
|
|
duration_ms: 2.100417
|
|
type: 'test'
|
|
...
|
|
# Subtest: post-119 example and Jason fixture migrate with checked inherited models; wrong or absent config refuses
|
|
ok 472 - post-119 example and Jason fixture migrate with checked inherited models; wrong or absent config refuses
|
|
---
|
|
duration_ms: 307.80471
|
|
type: 'test'
|
|
...
|
|
# Subtest: plugins view/set use the human bus transport and pass only the explicit patch (vikunja:19/305)
|
|
ok 473 - plugins view/set use the human bus transport and pass only the explicit patch (vikunja:19/305)
|
|
---
|
|
duration_ms: 3.062994
|
|
type: 'test'
|
|
...
|
|
# Subtest: inbox --read marks one message by the id inbox prints, delivered or not, and leaves the rest unread
|
|
ok 474 - inbox --read marks one message by the id inbox prints, delivered or not, and leaves the rest unread
|
|
---
|
|
duration_ms: 55.474709
|
|
type: 'test'
|
|
...
|
|
# Subtest: inbox --read refuses an id that is not the human's, prints its code, still marks the rest and exits 2
|
|
ok 475 - inbox --read refuses an id that is not the human's, prints its code, still marks the rest and exits 2
|
|
---
|
|
duration_ms: 36.516799
|
|
type: 'test'
|
|
...
|
|
# Subtest: inbox --read refuses an ambiguous or short prefix, names every match, reads nothing for them and marks the rest
|
|
ok 476 - inbox --read refuses an ambiguous or short prefix, names every match, reads nothing for them and marks the rest
|
|
---
|
|
duration_ms: 1.082317
|
|
type: 'test'
|
|
...
|
|
# Subtest: inbox --read-all marks every message the inbox walk lists, delivered or not, and inbox then shows 0 unread
|
|
ok 477 - inbox --read-all marks every message the inbox walk lists, delivered or not, and inbox then shows 0 unread
|
|
---
|
|
duration_ms: 1194.369981
|
|
type: 'test'
|
|
...
|
|
# Subtest: inbox --read stops on an error that is not about one message
|
|
ok 478 - inbox --read stops on an error that is not about one message
|
|
---
|
|
duration_ms: 1.142928
|
|
type: 'test'
|
|
...
|
|
# Subtest: inbox --read and --read-all refuse bad combinations; other verbs refuse them
|
|
ok 479 - inbox --read and --read-all refuse bad combinations; other verbs refuse them
|
|
---
|
|
duration_ms: 21.488588
|
|
type: 'test'
|
|
...
|
|
# Subtest: the human names an instance, lists it, and talk's message.send reaches it by that name
|
|
ok 480 - the human names an instance, lists it, and talk's message.send reaches it by that name
|
|
---
|
|
duration_ms: 41.062683
|
|
type: 'test'
|
|
...
|
|
# Subtest: name and names refuse the wrong number of arguments with the usage
|
|
ok 481 - name and names refuse the wrong number of arguments with the usage
|
|
---
|
|
duration_ms: 22.824111
|
|
type: 'test'
|
|
...
|
|
# Subtest: zoned uses the IANA zone across DST
|
|
ok 482 - zoned uses the IANA zone across DST
|
|
---
|
|
duration_ms: 27.707365
|
|
type: 'test'
|
|
...
|
|
# Subtest: each open blocking decision is DM'd once, across polls and a restart; non-blocking ones are not
|
|
ok 483 - each open blocking decision is DM'd once, across polls and a restart; non-blocking ones are not
|
|
---
|
|
duration_ms: 40.071259
|
|
type: 'test'
|
|
...
|
|
# Subtest: two blocking decisions get two DMs with different nonces
|
|
ok 484 - two blocking decisions get two DMs with different nonces
|
|
---
|
|
duration_ms: 23.606956
|
|
type: 'test'
|
|
...
|
|
# Subtest: the digest nonce differs per business and per day and fits Discord's 25 characters
|
|
ok 485 - the digest nonce differs per business and per day and fits Discord's 25 characters
|
|
---
|
|
duration_ms: 0.212235
|
|
type: 'test'
|
|
...
|
|
# Subtest: a failed DM is journaled, backs off, and is retried until it lands
|
|
ok 486 - a failed DM is journaled, backs off, and is retried until it lands
|
|
---
|
|
duration_ms: 27.964706
|
|
type: 'test'
|
|
...
|
|
# Subtest: five definite refusals stop a DM: one gave-up line, one log line, and a restart keeps the count
|
|
ok 487 - five definite refusals stop a DM: one gave-up line, one log line, and a restart keeps the count
|
|
---
|
|
duration_ms: 30.976922
|
|
type: 'test'
|
|
...
|
|
# Subtest: 429s, 5xx-style unknowns and refusals without a status never count toward the limit
|
|
ok 488 - 429s, 5xx-style unknowns and refusals without a status never count toward the limit
|
|
---
|
|
duration_ms: 36.699499
|
|
type: 'test'
|
|
...
|
|
# Subtest: a crash between the fifth refusal and its gave-up line: the next poll appends it and sends nothing
|
|
ok 489 - a crash between the fifth refusal and its gave-up line: the next poll appends it and sends nothing
|
|
---
|
|
duration_ms: 29.013314
|
|
type: 'test'
|
|
...
|
|
# Subtest: polled every POLL_MS against a permanent 403, a DM is sent at 0, 30, 60, 90 and 120 min and gives up only then
|
|
ok 490 - polled every POLL_MS against a permanent 403, a DM is sent at 0, 30, 60, 90 and 120 min and gives up only then
|
|
---
|
|
duration_ms: 211.131646
|
|
type: 'test'
|
|
...
|
|
# Subtest: a restart after the second refusal does not send before that refusal's 30 min are up
|
|
ok 491 - a restart after the second refusal does not send before that refusal's 30 min are up
|
|
---
|
|
duration_ms: 127.535501
|
|
type: 'test'
|
|
...
|
|
# Subtest: the digest goes at 08:00 Chicago once a day, with blocking ones marked as DM'd
|
|
ok 492 - the digest goes at 08:00 Chicago once a day, with blocking ones marked as DM'd
|
|
---
|
|
duration_ms: 33.052701
|
|
type: 'test'
|
|
...
|
|
# Subtest: a late start with no digest for the day sends one at once; an empty inbox gets one line
|
|
ok 493 - a late start with no digest for the day sends one at once; an empty inbox gets one line
|
|
---
|
|
duration_ms: 21.348902
|
|
type: 'test'
|
|
...
|
|
# Subtest: an inbox read failure is logged and the next poll retries
|
|
ok 494 - an inbox read failure is logged and the next poll retries
|
|
---
|
|
duration_ms: 0.832968
|
|
type: 'test'
|
|
...
|
|
# Subtest: no Discord id reaches the journal or the log
|
|
ok 495 - no Discord id reaches the journal or the log
|
|
---
|
|
duration_ms: 21.66159
|
|
type: 'test'
|
|
...
|
|
# Subtest: the journal: a torn tail is copied out and truncated, so an append after it reopens cleanly
|
|
ok 496 - the journal: a torn tail is copied out and truncated, so an append after it reopens cleanly
|
|
---
|
|
duration_ms: 3.042235
|
|
type: 'test'
|
|
...
|
|
# Subtest: the journal: a crash between the copy and the truncate leaves a tail the next open repairs
|
|
ok 497 - the journal: a crash between the copy and the truncate leaves a tail the next open repairs
|
|
---
|
|
duration_ms: 3.964509
|
|
type: 'test'
|
|
...
|
|
# Subtest: the journal: a whole file that is one torn line truncates to empty
|
|
ok 498 - the journal: a whole file that is one torn line truncates to empty
|
|
---
|
|
duration_ms: 2.426893
|
|
type: 'test'
|
|
...
|
|
# Subtest: the journal: a malformed complete line refuses and leaves the file and any torn tail alone
|
|
ok 499 - the journal: a malformed complete line refuses and leaves the file and any torn tail alone
|
|
---
|
|
duration_ms: 0.600279
|
|
type: 'test'
|
|
...
|
|
# Subtest: the journal: a loose file mode, a loose directory or a symlinked journal refuses
|
|
ok 500 - the journal: a loose file mode, a loose directory or a symlinked journal refuses
|
|
---
|
|
duration_ms: 0.72692
|
|
type: 'test'
|
|
...
|
|
# Subtest: the journal: a line with a wrong type refuses with exit 3 and names the field
|
|
ok 501 - the journal: a line with a wrong type refuses with exit 3 and names the field
|
|
---
|
|
duration_ms: 3.008417
|
|
type: 'test'
|
|
...
|
|
# Subtest: the journal: a symlinked directory refuses and says it is a link
|
|
ok 502 - the journal: a symlinked directory refuses and says it is a link
|
|
---
|
|
duration_ms: 0.455257
|
|
type: 'test'
|
|
...
|
|
# Subtest: the journal: a dangling directory link, a parent that is a file and a journal that is a directory each refuse with exit 3
|
|
ok 503 - the journal: a dangling directory link, a parent that is a file and a journal that is a directory each refuse with exit 3
|
|
---
|
|
duration_ms: 0.627794
|
|
type: 'test'
|
|
...
|
|
# Subtest: the journal: an append after the file was swapped for a symlink refuses and writes nothing through it
|
|
ok 504 - the journal: an append after the file was swapped for a symlink refuses and writes nothing through it
|
|
---
|
|
duration_ms: 0.555467
|
|
type: 'test'
|
|
...
|
|
# Subtest: the journal: a directory it cannot write or create refuses with exit 3 and names the path
|
|
ok 505 - the journal: a directory it cannot write or create refuses with exit 3 and names the path
|
|
---
|
|
duration_ms: 0.586407
|
|
type: 'test'
|
|
...
|
|
# Subtest: digest content stays within Discord's 2000 characters
|
|
ok 506 - digest content stays within Discord's 2000 characters
|
|
---
|
|
duration_ms: 0.319373
|
|
type: 'test'
|
|
...
|
|
# Subtest: runLoop never overlaps ticks and stops after the one in flight
|
|
ok 507 - runLoop never overlaps ticks and stops after the one in flight
|
|
---
|
|
duration_ms: 111.497702
|
|
type: 'test'
|
|
...
|
|
# Subtest: processing halt prevents notifier reads and sends and fences the wait before delivery
|
|
ok 508 - processing halt prevents notifier reads and sends and fences the wait before delivery
|
|
---
|
|
duration_ms: 36.468834
|
|
type: 'test'
|
|
...
|
|
# Subtest: a human command refused with human-required prints the other-tree line and exits 3
|
|
ok 509 - a human command refused with human-required prints the other-tree line and exits 3
|
|
---
|
|
duration_ms: 2.601279
|
|
type: 'test'
|
|
...
|
|
# Subtest: a --tester command refused with tester-required prints the other-tree line and exits 3
|
|
ok 510 - a --tester command refused with tester-required prints the other-tree line and exits 3
|
|
---
|
|
duration_ms: 0.94916
|
|
type: 'test'
|
|
...
|
|
# Subtest: other exit-3 refusals print no other-tree line
|
|
ok 511 - other exit-3 refusals print no other-tree line
|
|
---
|
|
duration_ms: 1.502909
|
|
type: 'test'
|
|
...
|
|
# Subtest: the line names no path
|
|
ok 512 - the line names no path
|
|
---
|
|
duration_ms: 0.160072
|
|
type: 'test'
|
|
...
|
|
# Subtest: human halt/status/resume uses management transport without loading any channel
|
|
ok 513 - human halt/status/resume uses management transport without loading any channel
|
|
---
|
|
duration_ms: 33.98847
|
|
type: 'test'
|
|
...
|
|
# Subtest: halt refuses inside an agent before transport
|
|
ok 514 - halt refuses inside an agent before transport
|
|
---
|
|
duration_ms: 16.752777
|
|
type: 'test'
|
|
...
|
|
# Subtest: resume refuses inside an agent before transport
|
|
ok 515 - resume refuses inside an agent before transport
|
|
---
|
|
duration_ms: 20.067778
|
|
type: 'test'
|
|
...
|
|
# Subtest: unknown and partially stopped outcomes are never reported as a successful halt
|
|
ok 516 - unknown and partially stopped outcomes are never reported as a successful halt
|
|
---
|
|
duration_ms: 19.463549
|
|
type: 'test'
|
|
...
|
|
# Subtest: threads project resolution explains a business repository and falls back if its file cannot load
|
|
ok 517 - threads project resolution explains a business repository and falls back if its file cannot load
|
|
---
|
|
duration_ms: 78.30907
|
|
type: 'test'
|
|
...
|
|
# Subtest: project create prints the repository-name refusal and exits two without writing
|
|
ok 518 - project create prints the repository-name refusal and exits two without writing
|
|
---
|
|
duration_ms: 26.226329
|
|
type: 'test'
|
|
...
|
|
# Subtest: project init/check use declared business repo and never contact the bus
|
|
ok 519 - project init/check use declared business repo and never contact the bus
|
|
---
|
|
duration_ms: 195.564983
|
|
type: 'test'
|
|
...
|
|
# Subtest: project commands validate args and refuse undeclared projects and agent init
|
|
ok 520 - project commands validate args and refuse undeclared projects and agent init
|
|
---
|
|
duration_ms: 51.677641
|
|
type: 'test'
|
|
...
|
|
# Subtest: project create and list validate their arguments before any bus call
|
|
ok 521 - project create and list validate their arguments before any bus call
|
|
---
|
|
duration_ms: 51.143729
|
|
type: 'test'
|
|
...
|
|
# Subtest: project dispatcher reaches the human CLI
|
|
ok 522 - project dispatcher reaches the human CLI
|
|
---
|
|
duration_ms: 155.857688
|
|
type: 'test'
|
|
...
|
|
# Subtest: T3 end to end: publish under an approved decision sends the work commit to the agent's own fork and records it once
|
|
ok 523 - T3 end to end: publish under an approved decision sends the work commit to the agent's own fork and records it once
|
|
---
|
|
duration_ms: 1114.724517
|
|
type: 'test'
|
|
...
|
|
# Subtest: T3 end to end: a fork the token can't reach is fork-unavailable, filed once, and nothing is recorded as allowed
|
|
ok 524 - T3 end to end: a fork the token can't reach is fork-unavailable, filed once, and nothing is recorded as allowed
|
|
---
|
|
duration_ms: 714.474623
|
|
type: 'test'
|
|
...
|
|
# Subtest: a bad branch or project refuses before the broker; a fork, user or ref in the request is ignored
|
|
ok 525 - a bad branch or project refuses before the broker; a fork, user or ref in the request is ignored
|
|
---
|
|
duration_ms: 1112.698776
|
|
type: 'test'
|
|
...
|
|
# Subtest: T3 end to end: two agents, one project, each lands on its own fork only; the upstream receives nothing
|
|
ok 526 - T3 end to end: two agents, one project, each lands on its own fork only; the upstream receives nothing
|
|
---
|
|
duration_ms: 1572.229184
|
|
type: 'test'
|
|
...
|
|
# Subtest: T3: a push after checkPublish and before the lock refuses ref-moved; the fork receives nothing
|
|
ok 527 - T3: a push after checkPublish and before the lock refuses ref-moved; the fork receives nothing
|
|
---
|
|
duration_ms: 910.410062
|
|
type: 'test'
|
|
...
|
|
# Subtest: T3: a push recorded while the bus process pushes refuses decision-mismatch; only the decision's commit reached the fork
|
|
ok 528 - T3: a push recorded while the bus process pushes refuses decision-mismatch; only the decision's commit reached the fork
|
|
---
|
|
duration_ms: 805.598309
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 237: two publishes race on one decision; the second refuses publish-busy and exactly one push reaches the fork
|
|
ok 529 - row 237: two publishes race on one decision; the second refuses publish-busy and exactly one push reaches the fork
|
|
---
|
|
duration_ms: 929.851923
|
|
type: 'test'
|
|
...
|
|
# Subtest: sage-1440: the publishResult poll is bounded: publish-timeout, filed once, and nothing recorded
|
|
ok 530 - sage-1440: the publishResult poll is bounded: publish-timeout, filed once, and nothing recorded
|
|
---
|
|
duration_ms: 965.78112
|
|
type: 'test'
|
|
...
|
|
# bus: publish 2f48074c-9bf1-4312-81ce-f894cd07a9c8: pushed after the git socket refused publish-timeout; recorded
|
|
# Subtest: row 242: a retry after publish-timeout refuses publish-busy while the bus process's push runs; the late push is recorded and the decision pushes once
|
|
ok 531 - row 242: a retry after publish-timeout refuses publish-busy while the bus process's push runs; the late push is recorded and the decision pushes once
|
|
---
|
|
duration_ms: 1106.780347
|
|
type: 'test'
|
|
...
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r33844d2b872c","instance":"assistant","turn":"7d4aa695-53eb-4678-8033-b828332cc0dc","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r738098cd8910","instance":"assistant","turn":"1f8d3fee-b826-441e-9284-d3ca04d6d9bf","source":"@none","code":"baseline-unknown"}
|
|
# Subtest: REQ-THREAD-2 T4 D7 D8 N6: a clear of a running session stops its drained run once, retires it on the run's end, and starts the successor fresh in its own namespace
|
|
ok 532 - REQ-THREAD-2 T4 D7 D8 N6: a clear of a running session stops its drained run once, retires it on the run's end, and starts the successor fresh in its own namespace
|
|
---
|
|
duration_ms: 1133.121425
|
|
type: 'test'
|
|
...
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r9496b44c892e","instance":"assistant","turn":"bf732dc4-1f00-417d-b0bf-418553c23bc5","source":"@none","code":"baseline-unknown"}
|
|
# Subtest: REQ-THREAD-2 T4 D8: a successor start refused capacity-full is held, reported and logged once, and starts when capacity frees
|
|
ok 533 - REQ-THREAD-2 T4 D8: a successor start refused capacity-full is held, reported and logged once, and starts when capacity frees
|
|
---
|
|
duration_ms: 4965.735034
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-THREAD-2 T4 D7 Q2: after a restart, a live survivor of the cleared run holds the clear at drained with no signal, and its exit lets it retire
|
|
ok 534 - REQ-THREAD-2 T4 D7 Q2: after a restart, a live survivor of the cleared run holds the clear at drained with no signal, and its exit lets it retire
|
|
---
|
|
duration_ms: 693.898303
|
|
type: 'test'
|
|
...
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r6846fbcca134","instance":"assistant","turn":"16ee2940-01eb-4375-b75b-8dbc3450d617","source":"@none","code":"baseline-unknown"}
|
|
# Subtest: REQ-THREAD-2 T4 D7: a drained run that outlives the stop timeout makes the clear uncertain once, with one signal, and it retires on the run's end
|
|
ok 535 - REQ-THREAD-2 T4 D7: a drained run that outlives the stop timeout makes the clear uncertain once, with one signal, and it retires on the run's end
|
|
---
|
|
duration_ms: 2192.677901
|
|
type: 'test'
|
|
...
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r8bb9051bf7d5","instance":"assistant","turn":"fe942885-653f-4093-8833-c37d189bded2","source":"@none","code":"baseline-unknown"}
|
|
# Subtest: REQ-THREAD-2 T4 T6: a bus unavailable at the exit proof and then at retirement holds the clear with no retirement, successor or launch, and it resumes when the bus is back
|
|
ok 536 - REQ-THREAD-2 T4 T6: a bus unavailable at the exit proof and then at retirement holds the clear with no retirement, successor or launch, and it resumes when the bus is back
|
|
---
|
|
duration_ms: 3417.447889
|
|
type: 'test'
|
|
...
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r930bc29c77e1","instance":"assistant","turn":"361643d8-1b51-470b-99ab-8ed4af876eed","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r0c974b0efd95","instance":"assistant","turn":"322c7ae8-bf81-46e8-83db-a92bc99424a1","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"re27d9892c81b","instance":"assistant","turn":"7b426224-bbd6-4fd4-b6e8-f6f8385583fc","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r5f22c383695d","instance":"assistant","turn":"4dc3f2e9-7bfa-4ae8-a06f-f5a05203bb18","source":"@none","code":"baseline-unknown"}
|
|
# Subtest: REQ-THREAD-2 REQ-LAUNCH-1 two sessions of one thread, and another thread's default, run at once, each with its own store and workspace; a restart of one resumes only that one
|
|
ok 537 - REQ-THREAD-2 REQ-LAUNCH-1 two sessions of one thread, and another thread's default, run at once, each with its own store and workspace; a restart of one resumes only that one
|
|
---
|
|
duration_ms: 6621.781719
|
|
type: 'test'
|
|
...
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r1b0e420a3ad2","instance":"assistant","turn":"026ddabc-2909-495b-9ca9-aa8ef9efbfbd","source":"@none","code":"baseline-unknown"}
|
|
# Subtest: REQ-THREAD-2 REQ-LAUNCH-1 a legacy session resumes the thread's old store at the old in-sandbox cwd, in a workspace of its own
|
|
ok 538 - REQ-THREAD-2 REQ-LAUNCH-1 a legacy session resumes the thread's old store at the old in-sandbox cwd, in a workspace of its own
|
|
---
|
|
duration_ms: 701.079869
|
|
type: 'test'
|
|
...
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"raff9a5a832d5","instance":"assistant","turn":"fbf4e8df-11eb-4255-865f-00dc3e985958","source":"@none","code":"baseline-unknown"}
|
|
# Subtest: REQ-THREAD-2 REQ-LAUNCH-1 a live lock on a session workspace refuses session-workspace-busy before any checkout; a stale one is taken over
|
|
ok 539 - REQ-THREAD-2 REQ-LAUNCH-1 a live lock on a session workspace refuses session-workspace-busy before any checkout; a stale one is taken over
|
|
---
|
|
duration_ms: 1836.146095
|
|
type: 'test'
|
|
...
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"rc58ad49e8e7a","instance":"assistant","turn":"5e4cf2e9-05f2-4698-a6db-a1eeabb54e59","source":"@none","code":"baseline-unknown"}
|
|
# Subtest: REQ-THREAD-2 REQ-LAUNCH-1 a session start refuses legacy-run-live while an earlier host's sessionless run lives, and starts once it has exited
|
|
ok 540 - REQ-THREAD-2 REQ-LAUNCH-1 a session start refuses legacy-run-live while an earlier host's sessionless run lives, and starts once it has exited
|
|
---
|
|
duration_ms: 1806.649943
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-THREAD-2 REQ-LAUNCH-1 a symlinked session workspace root refuses session-workspace-unsafe and launches nothing
|
|
ok 541 - REQ-THREAD-2 REQ-LAUNCH-1 a symlinked session workspace root refuses session-workspace-unsafe and launches nothing
|
|
---
|
|
duration_ms: 278.531934
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-THREAD-2 REQ-LAUNCH-1 a session workspace that holds the legacy workspace root refuses session-workspace-overlap and launches nothing
|
|
ok 542 - REQ-THREAD-2 REQ-LAUNCH-1 a session workspace that holds the legacy workspace root refuses session-workspace-overlap and launches nothing
|
|
---
|
|
duration_ms: 289.778345
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-THREAD-2 REQ-LAUNCH-1 a symlinked session store refuses thread-store-refused and makes no workspace
|
|
ok 543 - REQ-THREAD-2 REQ-LAUNCH-1 a symlinked session store refuses thread-store-refused and makes no workspace
|
|
---
|
|
duration_ms: 307.779834
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-THREAD-2 REQ-LAUNCH-1 a named session's start refuses processing-generation-changed, then processing-halted, after check() and before any spawn
|
|
ok 544 - REQ-THREAD-2 REQ-LAUNCH-1 a named session's start refuses processing-generation-changed, then processing-halted, after check() and before any spawn
|
|
---
|
|
duration_ms: 521.074642
|
|
type: 'test'
|
|
...
|
|
# Subtest: a copy carries every file the harness modules read from it
|
|
ok 545 - a copy carries every file the harness modules read from it
|
|
---
|
|
duration_ms: 1068.357402
|
|
type: 'test'
|
|
...
|
|
# Subtest: shared copy: npm ci, pushed reachability, readonly/existing copy, webui delegation
|
|
ok 546 - shared copy: npm ci, pushed reachability, readonly/existing copy, webui delegation
|
|
---
|
|
duration_ms: 919.785809
|
|
type: 'test'
|
|
...
|
|
# Subtest: wrapper preserves Q81 lease and marker, rejects foreign/symlink; check uses effective roots
|
|
ok 547 - wrapper preserves Q81 lease and marker, rejects foreign/symlink; check uses effective roots
|
|
---
|
|
duration_ms: 1473.238352
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 190 N6: check --instance passes only when the wrapper exports the instance's MOSAIC_CONFIG
|
|
ok 548 - row 190 N6: check --instance passes only when the wrapper exports the instance's MOSAIC_CONFIG
|
|
---
|
|
duration_ms: 1153.950952
|
|
type: 'test'
|
|
...
|
|
# Subtest: bus unit copy/pm pins, install refuses all busy states and failed reads, drop-in refusal
|
|
ok 549 - bus unit copy/pm pins, install refuses all busy states and failed reads, drop-in refusal
|
|
---
|
|
duration_ms: 1347.530404
|
|
type: 'test'
|
|
...
|
|
# Subtest: missing package manifest refuses before npm; npm failure removes the unpublished temp copy
|
|
ok 550 - missing package manifest refuses before npm; npm failure removes the unpublished temp copy
|
|
---
|
|
duration_ms: 712.784424
|
|
type: 'test'
|
|
...
|
|
# Subtest: real pinned install loads bus and Console; same-copy mosaic talk passes proof, other trees refuse
|
|
ok 551 - real pinned install loads bus and Console; same-copy mosaic talk passes proof, other trees refuse
|
|
---
|
|
duration_ms: 7701.117723
|
|
type: 'test'
|
|
...
|
|
# Subtest: bus status reads effective copy/pm/drop-ins without writes; check refuses an overridden ExecStart
|
|
ok 552 - bus status reads effective copy/pm/drop-ins without writes; check refuses an overridden ExecStart
|
|
---
|
|
duration_ms: 1344.955305
|
|
type: 'test'
|
|
...
|
|
# Subtest: drop-ins in either override field and malformed metadata refuse; uninstall also checks --no-reload
|
|
ok 553 - drop-ins in either override field and malformed metadata refuse; uninstall also checks --no-reload
|
|
---
|
|
duration_ms: 774.98106
|
|
type: 'test'
|
|
...
|
|
# Subtest: install never shows a template name on systemd 261; template drop-ins still refuse
|
|
ok 554 - install never shows a template name on systemd 261; template drop-ins still refuse
|
|
---
|
|
duration_ms: 588.120204
|
|
type: 'test'
|
|
...
|
|
# Subtest: unlisted instance drop-in is found in another unit lookup directory; path discovery errors refuse
|
|
ok 555 - unlisted instance drop-in is found in another unit lookup directory; path discovery errors refuse
|
|
---
|
|
duration_ms: 469.858914
|
|
type: 'test'
|
|
...
|
|
# Subtest: inherited mosaic-.service.d override refuses without changing the unit
|
|
ok 556 - inherited mosaic-.service.d override refuses without changing the unit
|
|
---
|
|
duration_ms: 626.323703
|
|
type: 'test'
|
|
...
|
|
# Subtest: inherited service.d override refuses without changing the unit
|
|
ok 557 - inherited service.d override refuses without changing the unit
|
|
---
|
|
duration_ms: 630.733937
|
|
type: 'test'
|
|
...
|
|
# Subtest: inherited drop-in unreadable directory or file refuses before writing
|
|
ok 558 - inherited drop-in unreadable directory or file refuses before writing
|
|
---
|
|
duration_ms: 527.065355
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 232: copy --bundle copies a SHA the bundle's refactor reaches, byte-identical to copy SHA, and refuses the rest
|
|
ok 559 - row 232: copy --bundle copies a SHA the bundle's refactor reaches, byte-identical to copy SHA, and refuses the rest
|
|
---
|
|
duration_ms: 3110.813038
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 232: wrapper --create writes the first wrapper only, the same bytes wrapper ID writes, and refuses over any file
|
|
ok 560 - row 232: wrapper --create writes the first wrapper only, the same bytes wrapper ID writes, and refuses over any file
|
|
---
|
|
duration_ms: 1035.181963
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 232: check --units external reads the system units, the default reads the user units
|
|
ok 561 - row 232: check --units external reads the system units, the default reads the user units
|
|
---
|
|
duration_ms: 850.795065
|
|
type: 'test'
|
|
...
|
|
# Subtest: T-I1 bootstrap --instance creates each instance's config, root and marker once, and refuses what it must not claim
|
|
# Subtest: alpha and beta get a 0700 config dir, a config naming ~/.mosaic-NAME, a 0700 root and a 0644 marker
|
|
ok 1 - alpha and beta get a 0700 config dir, a config naming ~/.mosaic-NAME, a 0700 root and a 0644 marker
|
|
---
|
|
duration_ms: 107.192201
|
|
type: 'test'
|
|
...
|
|
# Subtest: under umask 077 the config and marker are 0600: the source honors the operator's umask
|
|
ok 2 - under umask 077 the config and marker are 0600: the source honors the operator's umask
|
|
---
|
|
duration_ms: 45.762885
|
|
type: 'test'
|
|
...
|
|
# Subtest: a second bootstrap of each changes no byte, mode or mtime
|
|
ok 3 - a second bootstrap of each changes no byte, mode or mtime
|
|
---
|
|
duration_ms: 198.211221
|
|
type: 'test'
|
|
...
|
|
# Subtest: a non-empty root without its own marker refuses before anything is written, worktrees included
|
|
ok 4 - a non-empty root without its own marker refuses before anything is written, worktrees included
|
|
---
|
|
duration_ms: 206.854869
|
|
type: 'test'
|
|
...
|
|
# Subtest: an empty existing root is claimed, and an existing config whose root lost its marker refuses, not repairs
|
|
ok 5 - an empty existing root is claimed, and an existing config whose root lost its marker refuses, not repairs
|
|
---
|
|
duration_ms: 101.533404
|
|
type: 'test'
|
|
...
|
|
# Subtest: a dangling symlink at the config path is never written through, named or default
|
|
ok 6 - a dangling symlink at the config path is never written through, named or default
|
|
---
|
|
duration_ms: 96.055243
|
|
type: 'test'
|
|
...
|
|
# Subtest: bad names and stray arguments exit 4 and write nothing
|
|
ok 7 - bad names and stray arguments exit 4 and write nothing
|
|
---
|
|
duration_ms: 645.090776
|
|
type: 'test'
|
|
...
|
|
# Subtest: --instance dev writes exactly what no flag writes
|
|
ok 8 - --instance dev writes exactly what no flag writes
|
|
---
|
|
duration_ms: 105.112233
|
|
type: 'test'
|
|
...
|
|
1..8
|
|
ok 562 - T-I1 bootstrap --instance creates each instance's config, root and marker once, and refuses what it must not claim
|
|
---
|
|
duration_ms: 1508.828852
|
|
type: 'test'
|
|
...
|
|
# Subtest: T-I2 selection: the four rows of D1 through the instance op and through an entry point
|
|
# Subtest: row 1: no flag and no MOSAIC_CONFIG is the default; a missing default config leaves the data root empty
|
|
ok 1 - row 1: no flag and no MOSAIC_CONFIG is the default; a missing default config leaves the data root empty
|
|
---
|
|
duration_ms: 99.137335
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 2: MOSAIC_CONFIG alone is that config with the default names
|
|
ok 2 - row 2: MOSAIC_CONFIG alone is that config with the default names
|
|
---
|
|
duration_ms: 52.843958
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 3: --instance NAME alone is NAME's config, root and suffix
|
|
ok 3 - row 3: --instance NAME alone is NAME's config, root and suffix
|
|
---
|
|
duration_ms: 83.560594
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 4: both must name one file; a symlink to it agrees, any other file exits 4
|
|
ok 4 - row 4: both must name one file; a symlink to it agrees, any other file exits 4
|
|
---
|
|
duration_ms: 831.621675
|
|
type: 'test'
|
|
...
|
|
# Subtest: a named instance with no config exits 3 with its own bootstrap hint
|
|
ok 5 - a named instance with no config exits 3 with its own bootstrap hint
|
|
---
|
|
duration_ms: 50.155116
|
|
type: 'test'
|
|
...
|
|
# Subtest: an entry point takes --instance in any position, once, and refuses a mismatch before it prints
|
|
ok 6 - an entry point takes --instance in any position, once, and refuses a mismatch before it prints
|
|
---
|
|
duration_ms: 303.849251
|
|
type: 'test'
|
|
...
|
|
# Subtest: copy takes no --instance in either script: every instance shares the copies
|
|
ok 7 - copy takes no --instance in either script: every instance shares the copies
|
|
---
|
|
duration_ms: 31.036251
|
|
type: 'test'
|
|
...
|
|
1..7
|
|
ok 563 - T-I2 selection: the four rows of D1 through the instance op and through an entry point
|
|
---
|
|
duration_ms: 1556.514801
|
|
type: 'test'
|
|
...
|
|
# Subtest: T-I7 claims: the instance op refuses a root another instance claims, and a named root with no marker
|
|
# Subtest: alpha's config pointing at beta's root refuses instance-root-mismatch in every op
|
|
ok 1 - alpha's config pointing at beta's root refuses instance-root-mismatch in every op
|
|
---
|
|
duration_ms: 226.26682
|
|
type: 'test'
|
|
...
|
|
# Subtest: MOSAIC_CONFIG naming alpha's config with no flag refuses: the root is alpha's
|
|
ok 2 - MOSAIC_CONFIG naming alpha's config with no flag refuses: the root is alpha's
|
|
---
|
|
duration_ms: 44.134979
|
|
type: 'test'
|
|
...
|
|
# Subtest: a default config whose root carries alpha's marker refuses; one naming dev, or none, passes
|
|
ok 3 - a default config whose root carries alpha's marker refuses; one naming dev, or none, passes
|
|
---
|
|
duration_ms: 144.727158
|
|
type: 'test'
|
|
...
|
|
# Subtest: a named root whose marker is missing, a symlink, unparsable or the wrong shape refuses instance-root-unclaimed
|
|
ok 4 - a named root whose marker is missing, a symlink, unparsable or the wrong shape refuses instance-root-unclaimed
|
|
---
|
|
duration_ms: 355.403167
|
|
type: 'test'
|
|
...
|
|
1..4
|
|
ok 564 - T-I7 claims: the instance op refuses a root another instance claims, and a named root with no marker
|
|
---
|
|
duration_ms: 875.534701
|
|
type: 'test'
|
|
...
|
|
# Subtest: T-I5 two real bus hosts, one per instance, run at once and each answers from its own socket under its own root
|
|
ok 565 - T-I5 two real bus hosts, one per instance, run at once and each answers from its own socket under its own root
|
|
---
|
|
duration_ms: 1889.261991
|
|
type: 'test'
|
|
...
|
|
# Subtest: T-I10 the guard protects every instance's config dir and data roots, even under a corrupt config
|
|
ok 566 - T-I10 the guard protects every instance's config dir and data roots, even under a corrupt config
|
|
---
|
|
duration_ms: 148.415539
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 232: confirm, revert, gate, --to and --expect-from need --units external; the user-only flags are usage under it, and so are row 273's --send and --no-sso
|
|
ok 567 - row 232: confirm, revert, gate, --to and --expect-from need --units external; the user-only flags are usage under it, and so are row 273's --send and --no-sso
|
|
---
|
|
duration_ms: 1571.332493
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 232: pm-on and activate --pm-after-harness refuse external-pm
|
|
ok 568 - row 232: pm-on and activate --pm-after-harness refuse external-pm
|
|
---
|
|
duration_ms: 1431.670507
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 232: units-running (N4) refuses while a unit is active and leaves the store, the log and TAKEN; failed counts as down
|
|
ok 569 - row 232: units-running (N4) refuses while a unit is active and leaves the store, the log and TAKEN; failed counts as down
|
|
---
|
|
duration_ms: 3795.540857
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 232: activate stages: the pointer stays, AWAITING-UNITS names TO, a backup of the stopped store, no directory in the set, no --user, no journal
|
|
ok 570 - row 232: activate stages: the pointer stays, AWAITING-UNITS names TO, a backup of the stopped store, no directory in the set, no --user, no journal
|
|
---
|
|
duration_ms: 3128.528333
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 232: A3 order: capture-failed and marker-failed refuse with exit 3 and leave no marker or FAILED
|
|
ok 571 - row 232: A3 order: capture-failed and marker-failed refuse with exit 3 and leave no marker or FAILED
|
|
---
|
|
duration_ms: 3229.494938
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 232: confirm and revert refuse open-activation with no marker, two, the wrong copy, or one the log holds closed; refusals name no activation
|
|
ok 572 - row 232: confirm and revert refuse open-activation with no marker, two, the wrong copy, or one the log holds closed; refusals name no activation
|
|
---
|
|
duration_ms: 4639.190958
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 232: confirm polls: bus status good after 3 s fails with --timeout 1, writes FAILED and leaves the rest; FAILED then refuses activation-failed
|
|
ok 573 - row 232: confirm polls: bus status good after 3 s fails with --timeout 1, writes FAILED and leaves the rest; FAILED then refuses activation-failed
|
|
---
|
|
duration_ms: 2992.006489
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 232: confirm polls to a pass with --timeout 10: the pointer, an ok line that reads as the started run, no marker
|
|
ok 574 - row 232: confirm polls to a pass with --timeout 10: the pointer, an ok line that reads as the started run, no marker
|
|
---
|
|
duration_ms: 6250.635343
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 232: stale-start: @1792540799 fails a start floor of 1792540800 with stale-start
|
|
ok 575 - row 232: stale-start: @1792540799 fails a start floor of 1792540800 with stale-start
|
|
---
|
|
duration_ms: 3412.496801
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 232: stale-start is a gate code: an enter time that turns to @1792540800 after 2 s passes with --timeout 10
|
|
ok 576 - row 232: stale-start is a gate code: an enter time that turns to @1792540800 after 2 s passes with --timeout 10
|
|
---
|
|
duration_ms: 4564.830119
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 232: gate (N2, A2f): --since 1792540800 passes @1792540800 and fails @1792540799; it writes nothing
|
|
ok 577 - row 232: gate (N2, A2f): --since 1792540800 passes @1792540800 and fails @1792540799; it writes nothing
|
|
---
|
|
duration_ms: 2844.130721
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 232: the external PM check reads launches list: one live run of launch.by since the start passes
|
|
ok 578 - row 232: the external PM check reads launches list: one live run of launch.by since the start passes
|
|
---
|
|
duration_ms: 7711.763514
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 232: revert puts the wrapper back and leaves the store when nothing migrated
|
|
ok 579 - row 232: revert puts the wrapper back and leaves the store when nothing migrated
|
|
---
|
|
duration_ms: 1675.741407
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 232: confirm --rollback refuses rollback-mismatch, and logs rollback-failed with exit 2 when OLD fails its gate
|
|
ok 580 - row 232: confirm --rollback refuses rollback-mismatch, and logs rollback-failed with exit 2 when OLD fails its gate
|
|
---
|
|
duration_ms: 3767.093003
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 232: confirm --rollback after a --restore swap logs rollbackCode not-attempted; rollback --restore finds an external backup
|
|
ok 581 - row 232: confirm --rollback after a --restore swap logs rollbackCode not-attempted; rollback --restore finds an external backup
|
|
---
|
|
duration_ms: 3410.366881
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 232: sequence 1: activate, confirm times out, revert, confirm --rollback --cause A5: gate-failed rollback ok
|
|
ok 582 - row 232: sequence 1: activate, confirm times out, revert, confirm --rollback --cause A5: gate-failed rollback ok
|
|
---
|
|
duration_ms: 5263.979922
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 232: sequence 2: activate --migrate, the wrapper install fails, revert restores TAKEN, confirm --rollback --cause A3
|
|
ok 583 - row 232: sequence 2: activate --migrate, the wrapper install fails, revert restores TAKEN, confirm --rollback --cause A3
|
|
---
|
|
duration_ms: 3419.91475
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 232: sequence 3: activate, root's A4 fails, revert, confirm --rollback --cause A4: failed code units-start
|
|
ok 584 - row 232: sequence 3: activate, root's A4 fails, revert, confirm --rollback --cause A4: failed code units-start
|
|
---
|
|
duration_ms: 3036.848923
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 232: sequence 4: a capture failure leaves nothing open, then A2f's gate OLD writes nothing
|
|
ok 585 - row 232: sequence 4: a capture failure leaves nothing open, then A2f's gate OLD writes nothing
|
|
---
|
|
duration_ms: 1918.239978
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 232: sequence 5: a confirm of the wrong copy is refused, and revert and confirm --rollback still close the activation
|
|
ok 586 - row 232: sequence 5: a confirm of the wrong copy is refused, and revert and confirm --rollback still close the activation
|
|
---
|
|
duration_ms: 3377.22568
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 232: sequence 6: a revert that fails leaves the activation open, and the next --plan refuses interrupted-run
|
|
ok 587 - row 232: sequence 6: a revert that fails leaves the activation open, and the next --plan refuses interrupted-run
|
|
---
|
|
duration_ms: 1718.856884
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 232: sequence 7: adopt, two confirmed activates, rollback --to the previous copy, confirmed, logs op rollback
|
|
ok 588 - row 232: sequence 7: adopt, two confirmed activates, rollback --to the previous copy, confirmed, logs op rollback
|
|
---
|
|
duration_ms: 7600.701156
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 232: sequence 8: a migration that writes and fails: revert restores the backup byte for byte, confirm --rollback --cause A3
|
|
ok 589 - row 232: sequence 8: a migration that writes and fails: revert restores the backup byte for byte, confirm --rollback --cause A3
|
|
---
|
|
duration_ms: 2873.996778
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 232: user mode: every systemctl call carries --user, and activate, rollback and check make the base's calls
|
|
ok 590 - row 232: user mode: every systemctl call carries --user, and activate, rollback and check make the base's calls
|
|
---
|
|
duration_ms: 6520.387313
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 232: user mode: a default activate --plan prints the base's bytes
|
|
ok 591 - row 232: user mode: a default activate --plan prints the base's bytes
|
|
---
|
|
duration_ms: 2257.194373
|
|
type: 'test'
|
|
...
|
|
# Subtest: T1 adopt writes the pointer from the units once; a failing check refuses check-failed
|
|
ok 592 - T1 adopt writes the pointer from the units once; a failing check refuses check-failed
|
|
---
|
|
duration_ms: 2571.603668
|
|
type: 'test'
|
|
...
|
|
# Subtest: T2 activate installs exactly the pointer's pm, claude and Console flags
|
|
ok 593 - T2 activate installs exactly the pointer's pm, claude and Console flags
|
|
---
|
|
duration_ms: 3787.538389
|
|
type: 'test'
|
|
...
|
|
# Subtest: T3 a hand-edited unit refuses unit-flags-drift, names the difference and changes nothing
|
|
# Subtest: pm
|
|
ok 1 - pm
|
|
---
|
|
duration_ms: 1656.936012
|
|
type: 'test'
|
|
...
|
|
# Subtest: claude
|
|
ok 2 - claude
|
|
---
|
|
duration_ms: 1505.802055
|
|
type: 'test'
|
|
...
|
|
# Subtest: console
|
|
ok 3 - console
|
|
---
|
|
duration_ms: 1245.623828
|
|
type: 'test'
|
|
...
|
|
1..3
|
|
ok 594 - T3 a hand-edited unit refuses unit-flags-drift, names the difference and changes nothing
|
|
---
|
|
duration_ms: 4409.58401
|
|
type: 'test'
|
|
...
|
|
# Subtest: T4 each item 3 refusal changes nothing and logs one line with its code
|
|
# Subtest: copy-missing
|
|
ok 1 - copy-missing
|
|
---
|
|
duration_ms: 1131.50866
|
|
type: 'test'
|
|
...
|
|
# Subtest: copy-unreachable
|
|
ok 2 - copy-unreachable
|
|
---
|
|
duration_ms: 1050.559677
|
|
type: 'test'
|
|
...
|
|
# Subtest: copy-schema-unknown
|
|
ok 3 - copy-schema-unknown
|
|
---
|
|
duration_ms: 1102.298716
|
|
type: 'test'
|
|
...
|
|
# Subtest: already-active
|
|
ok 4 - already-active
|
|
---
|
|
duration_ms: 1049.801355
|
|
type: 'test'
|
|
...
|
|
# Subtest: instance-busy (another business active)
|
|
ok 5 - instance-busy (another business active)
|
|
---
|
|
duration_ms: 998.423224
|
|
type: 'test'
|
|
...
|
|
# Subtest: instance-busy (this business activating)
|
|
ok 6 - instance-busy (this business activating)
|
|
---
|
|
duration_ms: 1001.601378
|
|
type: 'test'
|
|
...
|
|
# Subtest: drop-in-override
|
|
ok 7 - drop-in-override
|
|
---
|
|
duration_ms: 890.136077
|
|
type: 'test'
|
|
...
|
|
# Subtest: no-pointer
|
|
ok 8 - no-pointer
|
|
---
|
|
duration_ms: 551.432267
|
|
type: 'test'
|
|
...
|
|
1..8
|
|
ok 595 - T4 each item 3 refusal changes nothing and logs one line with its code
|
|
---
|
|
duration_ms: 7777.85729
|
|
type: 'test'
|
|
...
|
|
# Subtest: T5 an activate with no migration stops the Console then the bus, installs, starts the bus then the Console
|
|
ok 596 - T5 an activate with no migration stops the Console then the bus, installs, starts the bus then the Console
|
|
---
|
|
duration_ms: 2165.490411
|
|
type: 'test'
|
|
...
|
|
# Subtest: T6 a migration without --migrate rolls back with migration-needs-flag
|
|
ok 597 - T6 a migration without --migrate rolls back with migration-needs-flag
|
|
---
|
|
duration_ms: 2296.745298
|
|
type: 'test'
|
|
...
|
|
# Subtest: T7 --migrate takes the backup before the migration runs
|
|
ok 598 - T7 --migrate takes the backup before the migration runs
|
|
---
|
|
duration_ms: 2342.794723
|
|
type: 'test'
|
|
...
|
|
# Subtest: T8 a failed migration restores the backup and keeps the store it replaced
|
|
ok 599 - T8 a failed migration restores the backup and keeps the store it replaced
|
|
---
|
|
duration_ms: 2158.726255
|
|
type: 'test'
|
|
...
|
|
# Subtest: T9 a store outside the target's chain rolls back with store-newer
|
|
ok 600 - T9 a store outside the target's chain rolls back with store-newer
|
|
---
|
|
duration_ms: 2010.124681
|
|
type: 'test'
|
|
...
|
|
# Subtest: T10 each gate check failing alone rolls back and puts every file back
|
|
# Subtest: units-inactive
|
|
ok 1 - units-inactive
|
|
---
|
|
duration_ms: 5588.893088
|
|
type: 'test'
|
|
...
|
|
# Subtest: bus-status
|
|
ok 2 - bus-status
|
|
---
|
|
duration_ms: 6107.124265
|
|
type: 'test'
|
|
...
|
|
# Subtest: healthz
|
|
ok 3 - healthz
|
|
---
|
|
duration_ms: 6180.412033
|
|
type: 'test'
|
|
...
|
|
# Subtest: copy-check
|
|
ok 4 - copy-check
|
|
---
|
|
duration_ms: 5432.724426
|
|
type: 'test'
|
|
...
|
|
# Subtest: pm-launch-unconfirmed
|
|
ok 5 - pm-launch-unconfirmed
|
|
---
|
|
duration_ms: 5548.386023
|
|
type: 'test'
|
|
...
|
|
1..5
|
|
ok 601 - T10 each gate check failing alone rolls back and puts every file back
|
|
---
|
|
duration_ms: 28858.76489
|
|
type: 'test'
|
|
...
|
|
# Subtest: T10b the PM check needs exactly one launched line for a live run of this start
|
|
# Subtest: no launched line
|
|
ok 1 - no launched line
|
|
---
|
|
duration_ms: 5427.064339
|
|
type: 'test'
|
|
...
|
|
# Subtest: two lines
|
|
ok 2 - two lines
|
|
---
|
|
duration_ms: 5237.107877
|
|
type: 'test'
|
|
...
|
|
# Subtest: a changed word
|
|
ok 3 - a changed word
|
|
---
|
|
duration_ms: 5358.600376
|
|
type: 'test'
|
|
...
|
|
# Subtest: run not in launches list
|
|
ok 4 - run not in launches list
|
|
---
|
|
duration_ms: 5377.186991
|
|
type: 'test'
|
|
...
|
|
# Subtest: run started before the start
|
|
ok 5 - run started before the start
|
|
---
|
|
duration_ms: 5323.062974
|
|
type: 'test'
|
|
...
|
|
# Subtest: a human launch with no journal line
|
|
ok 6 - a human launch with no journal line
|
|
---
|
|
duration_ms: 5156.072682
|
|
type: 'test'
|
|
...
|
|
# Subtest: run for another business
|
|
ok 7 - run for another business
|
|
---
|
|
duration_ms: 5233.440713
|
|
type: 'test'
|
|
...
|
|
# Subtest: run not live
|
|
ok 8 - run not live
|
|
---
|
|
duration_ms: 5312.537592
|
|
type: 'test'
|
|
...
|
|
# Subtest: one well-formed line and a live run pass
|
|
ok 9 - one well-formed line and a live run pass
|
|
---
|
|
duration_ms: 2104.57743
|
|
type: 'test'
|
|
...
|
|
1..9
|
|
ok 602 - T10b the PM check needs exactly one launched line for a live run of this start
|
|
---
|
|
duration_ms: 44531.252474
|
|
type: 'test'
|
|
...
|
|
# Subtest: T11 a rollback whose gate fails too: rollback-failed, exit 2, both units stopped, no retry
|
|
ok 603 - T11 a rollback whose gate fails too: rollback-failed, exit 2, both units stopped, no retry
|
|
---
|
|
duration_ms: 7301.934582
|
|
type: 'test'
|
|
...
|
|
# Subtest: T12 rollback takes the previous copy from the log
|
|
ok 604 - T12 rollback takes the previous copy from the log
|
|
---
|
|
duration_ms: 3305.844558
|
|
type: 'test'
|
|
...
|
|
# Subtest: T13 a rollback across a migration needs --restore, then restores and goes live
|
|
ok 605 - T13 a rollback across a migration needs --restore, then restores and goes live
|
|
---
|
|
duration_ms: 3840.586024
|
|
type: 'test'
|
|
...
|
|
# Subtest: T14 events written after the backup need --events N with the right N
|
|
ok 606 - T14 events written after the backup need --events N with the right N
|
|
---
|
|
duration_ms: 4522.509198
|
|
type: 'test'
|
|
...
|
|
# Subtest: T14b a rollback --restore whose gate fails stops both units and skips item 6
|
|
ok 607 - T14b a rollback --restore whose gate fails stops both units and skips item 6
|
|
---
|
|
duration_ms: 7064.509289
|
|
type: 'test'
|
|
...
|
|
# Subtest: T14c a rollback without --restore whose gate fails runs item 6
|
|
ok 608 - T14c a rollback without --restore whose gate fails runs item 6
|
|
---
|
|
duration_ms: 7304.304908
|
|
type: 'test'
|
|
...
|
|
# Subtest: T15 --plan names the migration and the restore and changes nothing
|
|
ok 609 - T15 --plan names the migration and the restore and changes nothing
|
|
---
|
|
duration_ms: 2545.74131
|
|
type: 'test'
|
|
...
|
|
# Subtest: T26 --plan lists the commits an activate adds, after the migration lines
|
|
ok 610 - T26 --plan lists the commits an activate adds, after the migration lines
|
|
---
|
|
duration_ms: 1369.197251
|
|
type: 'test'
|
|
...
|
|
# Subtest: T27 --plan names each migration step, or says the steps cannot be read
|
|
ok 611 - T27 --plan names each migration step, or says the steps cannot be read
|
|
---
|
|
duration_ms: 1080.648327
|
|
type: 'test'
|
|
...
|
|
# Subtest: T25 --plan refuses copies-unrelated when neither copy is an ancestor of the other
|
|
ok 612 - T25 --plan refuses copies-unrelated when neither copy is an ancestor of the other
|
|
---
|
|
duration_ms: 482.292442
|
|
type: 'test'
|
|
...
|
|
# Subtest: T23 --plan reads the store without changing a file, stopped or held
|
|
# Subtest: stopped store
|
|
ok 1 - stopped store
|
|
---
|
|
duration_ms: 607.755717
|
|
type: 'test'
|
|
...
|
|
# Subtest: held store
|
|
ok 2 - held store
|
|
---
|
|
duration_ms: 579.035736
|
|
type: 'test'
|
|
...
|
|
1..2
|
|
ok 613 - T23 --plan reads the store without changing a file, stopped or held
|
|
---
|
|
duration_ms: 1187.296441
|
|
type: 'test'
|
|
...
|
|
# Subtest: T24 business-mismatch and capture-failed refuse with exit 3; a short id is a usage error
|
|
ok 614 - T24 business-mismatch and capture-failed refuse with exit 3; a short id is a usage error
|
|
---
|
|
duration_ms: 1364.455571
|
|
type: 'test'
|
|
...
|
|
# Subtest: T16 status prints the pointer, the log, the check, bus status and drift, and writes nothing
|
|
ok 615 - T16 status prints the pointer, the log, the check, bus status and drift, and writes nothing
|
|
---
|
|
duration_ms: 865.572499
|
|
type: 'test'
|
|
...
|
|
# Subtest: T19 a started line with no final line: status shows it and every changing verb refuses
|
|
ok 616 - T19 a started line with no final line: status shows it and every changing verb refuses
|
|
---
|
|
duration_ms: 1181.732055
|
|
type: 'test'
|
|
...
|
|
# Subtest: T20 a held run lock refuses run-locked without a log line; status and --plan still run
|
|
ok 617 - T20 a held run lock refuses run-locked without a log line; status and --plan still run
|
|
---
|
|
duration_ms: 1312.719715
|
|
type: 'test'
|
|
...
|
|
# Subtest: T21 a bus unit with no MOSAIC_CLAUDE_BIN: adopt and activate refuse no-claude-pin
|
|
ok 618 - T21 a bus unit with no MOSAIC_CLAUDE_BIN: adopt and activate refuse no-claude-pin
|
|
---
|
|
duration_ms: 1375.991944
|
|
type: 'test'
|
|
...
|
|
# Subtest: T22 the stopped store read: a -wal or -shm refuses store-unclean and is left alone; a clean read adds no file
|
|
# Subtest: bus.sqlite-wal
|
|
ok 1 - bus.sqlite-wal
|
|
---
|
|
duration_ms: 1844.815741
|
|
type: 'test'
|
|
...
|
|
# Subtest: bus.sqlite-shm
|
|
ok 2 - bus.sqlite-shm
|
|
---
|
|
duration_ms: 1722.826894
|
|
type: 'test'
|
|
...
|
|
# Subtest: clean
|
|
ok 3 - clean
|
|
---
|
|
duration_ms: 1894.105042
|
|
type: 'test'
|
|
...
|
|
1..3
|
|
ok 619 - T22 the stopped store read: a -wal or -shm refuses store-unclean and is left alone; a clean read adds no file
|
|
---
|
|
duration_ms: 5462.390269
|
|
type: 'test'
|
|
...
|
|
# Subtest: T28 a unit path, drop-in directory or drop-in file that cannot be read, or a relative unit path, refuses drop-in-override before any stop
|
|
# Subtest: unit path
|
|
ok 1 - unit path
|
|
---
|
|
duration_ms: 801.571923
|
|
type: 'test'
|
|
...
|
|
# Subtest: drop-in directory
|
|
ok 2 - drop-in directory
|
|
---
|
|
duration_ms: 810.201754
|
|
type: 'test'
|
|
...
|
|
# Subtest: drop-in file
|
|
ok 3 - drop-in file
|
|
---
|
|
duration_ms: 802.590721
|
|
type: 'test'
|
|
...
|
|
# Subtest: relative unit path
|
|
ok 4 - relative unit path
|
|
---
|
|
duration_ms: 761.547444
|
|
type: 'test'
|
|
...
|
|
1..4
|
|
ok 620 - T28 a unit path, drop-in directory or drop-in file that cannot be read, or a relative unit path, refuses drop-in-override before any stop
|
|
---
|
|
duration_ms: 3176.687852
|
|
type: 'test'
|
|
...
|
|
# Subtest: T29 a bus that stops during the held-store read: --plan says so, rollback --restore refuses restore-mismatch
|
|
# Subtest: --plan
|
|
ok 1 - --plan
|
|
---
|
|
duration_ms: 825.264206
|
|
type: 'test'
|
|
...
|
|
# Subtest: rollback --restore
|
|
ok 2 - rollback --restore
|
|
---
|
|
duration_ms: 2347.253539
|
|
type: 'test'
|
|
...
|
|
1..2
|
|
ok 621 - T29 a bus that stops during the held-store read: --plan says so, rollback --restore refuses restore-mismatch
|
|
---
|
|
duration_ms: 3173.019359
|
|
type: 'test'
|
|
...
|
|
# Subtest: T30 a copy check that agrees on another copy fails the gate with copy-check and rolls back
|
|
ok 622 - T30 a copy check that agrees on another copy fails the gate with copy-check and rolls back
|
|
---
|
|
duration_ms: 4794.756835
|
|
type: 'test'
|
|
...
|
|
# Subtest: T31 a quoted or escaped Environment= or ExecStart= is unreadable: refusals by name, nothing read from /a
|
|
# Subtest: Environment double quotes
|
|
ok 1 - Environment double quotes
|
|
---
|
|
duration_ms: 1785.966323
|
|
type: 'test'
|
|
...
|
|
# Subtest: Environment single quotes
|
|
ok 2 - Environment single quotes
|
|
---
|
|
duration_ms: 1728.488562
|
|
type: 'test'
|
|
...
|
|
# Subtest: Environment backslash
|
|
ok 3 - Environment backslash
|
|
---
|
|
duration_ms: 1723.629082
|
|
type: 'test'
|
|
...
|
|
# Subtest: ExecStart quotes
|
|
ok 4 - ExecStart quotes
|
|
---
|
|
duration_ms: 1663.029312
|
|
type: 'test'
|
|
...
|
|
# Subtest: Console ExecStart quotes
|
|
ok 5 - Console ExecStart quotes
|
|
---
|
|
duration_ms: 1652.870423
|
|
type: 'test'
|
|
...
|
|
1..5
|
|
ok 623 - T31 a quoted or escaped Environment= or ExecStart= is unreadable: refusals by name, nothing read from /a
|
|
---
|
|
duration_ms: 8554.976909
|
|
type: 'test'
|
|
...
|
|
# Subtest: T32 item 1: --pm-after-harness refuses a target without harness or a file that sets it, and passes without the PM
|
|
# Subtest: usage: not with --pm, and only for activate
|
|
ok 1 - usage: not with --pm, and only for activate
|
|
---
|
|
duration_ms: 634.55252
|
|
type: 'test'
|
|
...
|
|
# Subtest: pm-after-harness-target
|
|
ok 2 - pm-after-harness-target
|
|
---
|
|
duration_ms: 896.582716
|
|
type: 'test'
|
|
...
|
|
# Subtest: pm-after-harness-set
|
|
ok 3 - pm-after-harness-set
|
|
---
|
|
duration_ms: 1305.57629
|
|
type: 'test'
|
|
...
|
|
# Subtest: a pointer without pm
|
|
ok 4 - a pointer without pm
|
|
---
|
|
duration_ms: 828.233815
|
|
type: 'test'
|
|
...
|
|
# Subtest: phase 1 installs without --pm, skips pm_launched and writes the pending pointer
|
|
ok 5 - phase 1 installs without --pm, skips pm_launched and writes the pending pointer
|
|
---
|
|
duration_ms: 1984.220781
|
|
type: 'test'
|
|
...
|
|
1..5
|
|
ok 624 - T32 item 1: --pm-after-harness refuses a target without harness or a file that sets it, and passes without the PM
|
|
---
|
|
duration_ms: 5650.132756
|
|
type: 'test'
|
|
...
|
|
# Subtest: T33 item 2: read_pointer takes pmPending only as true beside pm false; a pending pointer refuses activate and shows in status
|
|
# Subtest: read_pointer
|
|
ok 1 - read_pointer
|
|
---
|
|
duration_ms: 1538.543142
|
|
type: 'test'
|
|
...
|
|
# Subtest: pm-pending, already-adopted and the status line
|
|
ok 2 - pm-pending, already-adopted and the status line
|
|
---
|
|
duration_ms: 2756.279988
|
|
type: 'test'
|
|
...
|
|
1..2
|
|
ok 625 - T33 item 2: read_pointer takes pmPending only as true beside pm false; a pending pointer refuses activate and shows in status
|
|
---
|
|
duration_ms: 4295.327127
|
|
type: 'test'
|
|
...
|
|
# Subtest: T34 item 3: pm-on refuses before any stop, passes with the PM, or puts the phase-1 bus back
|
|
# Subtest: not-pending
|
|
ok 1 - not-pending
|
|
---
|
|
duration_ms: 722.113228
|
|
type: 'test'
|
|
...
|
|
# Subtest: harness-unset
|
|
ok 2 - harness-unset
|
|
---
|
|
duration_ms: 2367.219564
|
|
type: 'test'
|
|
...
|
|
# Subtest: a launched line passes: the bus alone restarts with --pm
|
|
ok 3 - a launched line passes: the bus alone restarts with --pm
|
|
---
|
|
duration_ms: 3272.972309
|
|
type: 'test'
|
|
...
|
|
# Subtest: a failed pm_launched puts the phase-1 unit back: exit 1, still pending
|
|
ok 4 - a failed pm_launched puts the phase-1 unit back: exit 1, still pending
|
|
---
|
|
duration_ms: 6047.966477
|
|
type: 'test'
|
|
...
|
|
# Subtest: a failed phase-1 gate too: pm-on-down, exit 2, both units stopped
|
|
ok 5 - a failed phase-1 gate too: pm-on-down, exit 2, both units stopped
|
|
---
|
|
duration_ms: 10509.761521
|
|
type: 'test'
|
|
...
|
|
1..5
|
|
ok 626 - T34 item 3: pm-on refuses before any stop, passes with the PM, or puts the phase-1 bus back
|
|
---
|
|
duration_ms: 22921.024235
|
|
type: 'test'
|
|
...
|
|
# Subtest: T35 item 4: rollback from pending installs --pm; a plug-in kind the target lacks refuses by name
|
|
# Subtest: rollback from pending gates pm_launched on the old copy
|
|
ok 1 - rollback from pending gates pm_launched on the old copy
|
|
---
|
|
duration_ms: 3383.62377
|
|
type: 'test'
|
|
...
|
|
# Subtest: after the harness set, rollback refuses until harness is gone
|
|
ok 2 - after the harness set, rollback refuses until harness is gone
|
|
---
|
|
duration_ms: 5265.540094
|
|
type: 'test'
|
|
...
|
|
# Subtest: activate names every kind the target lacks
|
|
ok 3 - activate names every kind the target lacks
|
|
---
|
|
duration_ms: 1217.01211
|
|
type: 'test'
|
|
...
|
|
1..3
|
|
ok 627 - T35 item 4: rollback from pending installs --pm; a plug-in kind the target lacks refuses by name
|
|
---
|
|
duration_ms: 9866.870976
|
|
type: 'test'
|
|
...
|
|
# Subtest: T36 --plan shows the pending state and lists the row 169 refusals it can see
|
|
ok 628 - T36 --plan shows the pending state and lists the row 169 refusals it can see
|
|
---
|
|
duration_ms: 3520.603692
|
|
type: 'test'
|
|
...
|
|
# Subtest: T37 tester-port activate writes pointer and unit, replaces the port, and supported re-pin and rollback keep it
|
|
ok 629 - T37 tester-port activate writes pointer and unit, replaces the port, and supported re-pin and rollback keep it
|
|
---
|
|
duration_ms: 6465.719254
|
|
type: 'test'
|
|
...
|
|
# Subtest: T38 tester-port rollback to unsupported target drops flag in plan, steps, unit and pointer
|
|
ok 630 - T38 tester-port rollback to unsupported target drops flag in plan, steps, unit and pointer
|
|
---
|
|
duration_ms: 3419.975025
|
|
type: 'test'
|
|
...
|
|
# Subtest: T39 tester-port explicit unsupported target reads target copy and refuses before stopping either unit
|
|
ok 631 - T39 tester-port explicit unsupported target reads target copy and refuses before stopping either unit
|
|
---
|
|
duration_ms: 736.679767
|
|
type: 'test'
|
|
...
|
|
# Subtest: T40 tester-port invalid values refuse exit 4 before stopping, including tunnel and main ports
|
|
ok 632 - T40 tester-port invalid values refuse exit 4 before stopping, including tunnel and main ports
|
|
---
|
|
duration_ms: 772.688218
|
|
type: 'test'
|
|
...
|
|
# Subtest: T41 tester-port inherited activate to unsupported target drops it and retains drift refusal and failed-run recovery
|
|
ok 633 - T41 tester-port inherited activate to unsupported target drops it and retains drift refusal and failed-run recovery
|
|
---
|
|
duration_ms: 9416.238379
|
|
type: 'test'
|
|
...
|
|
# Subtest: T42 tester-port pm-on preserves pointer Console flags
|
|
ok 634 - T42 tester-port pm-on preserves pointer Console flags
|
|
---
|
|
duration_ms: 3042.076895
|
|
type: 'test'
|
|
...
|
|
# Subtest: T43 row 180 item 1: runs in one second get distinct activation ids, rollback sets and post-attempt stores
|
|
# Subtest: activate then pm-on on the same copy
|
|
ok 1 - activate then pm-on on the same copy
|
|
---
|
|
duration_ms: 3027.306382
|
|
type: 'test'
|
|
...
|
|
# Subtest: two restores: an old-form id and a suffixed one, each with its own post-attempt store
|
|
ok 2 - two restores: an old-form id and a suffixed one, each with its own post-attempt store
|
|
---
|
|
duration_ms: 6166.407337
|
|
type: 'test'
|
|
...
|
|
# Subtest: adopt takes the next free id too
|
|
ok 3 - adopt takes the next free id too
|
|
---
|
|
duration_ms: 595.658715
|
|
type: 'test'
|
|
...
|
|
# Subtest: all ten names taken: capture-failed before anything stops, and the log line names no activation
|
|
ok 4 - all ten names taken: capture-failed before anything stops, and the log line names no activation
|
|
---
|
|
duration_ms: 927.850431
|
|
type: 'test'
|
|
...
|
|
# Subtest: --restore takes an id with or without -1 to -9 and nothing else
|
|
ok 5 - --restore takes an id with or without -1 to -9 and nothing else
|
|
---
|
|
duration_ms: 968.388126
|
|
type: 'test'
|
|
...
|
|
1..5
|
|
ok 635 - T43 row 180 item 1: runs in one second get distinct activation ids, rollback sets and post-attempt stores
|
|
---
|
|
duration_ms: 11686.601581
|
|
type: 'test'
|
|
...
|
|
# Subtest: T44 row 180 item 2: --plan lists tester-port-invalid and tester-port-target with its other refusals
|
|
# Subtest: a bad tester port
|
|
ok 1 - a bad tester port
|
|
---
|
|
duration_ms: 2003.915186
|
|
type: 'test'
|
|
...
|
|
# Subtest: without --plan a bad port is usage before any pointer read
|
|
ok 2 - without --plan a bad port is usage before any pointer read
|
|
---
|
|
duration_ms: 351.297895
|
|
type: 'test'
|
|
...
|
|
# Subtest: a target Console without --tester-port
|
|
ok 3 - a target Console without --tester-port
|
|
---
|
|
duration_ms: 945.147858
|
|
type: 'test'
|
|
...
|
|
1..3
|
|
ok 636 - T44 row 180 item 2: --plan lists tester-port-invalid and tester-port-target with its other refusals
|
|
---
|
|
duration_ms: 3300.995566
|
|
type: 'test'
|
|
...
|
|
# Subtest: T45 row 181 items 2 and 3: the restore guard counts events and every COUNTED table
|
|
# Subtest: both modes count events and each listed table, and a table the store lacks counts 0
|
|
ok 1 - both modes count events and each listed table, and a table the store lacks counts 0
|
|
---
|
|
duration_ms: 1118.058544
|
|
type: 'test'
|
|
...
|
|
# Subtest: one instance_names row and no event refuses before any stop; --events 1 restores
|
|
ok 2 - one instance_names row and no event refuses before any stop; --events 1 restores
|
|
---
|
|
duration_ms: 4162.76932
|
|
type: 'test'
|
|
...
|
|
# Subtest: one usage_records row and no event refuses before any stop; --events 1 restores
|
|
ok 3 - one usage_records row and no event refuses before any stop; --events 1 restores
|
|
---
|
|
duration_ms: 4191.916815
|
|
type: 'test'
|
|
...
|
|
# Subtest: a listed table that cannot be read refuses restore-mismatch before any stop
|
|
ok 4 - a listed table that cannot be read refuses restore-mismatch before any stop
|
|
---
|
|
duration_ms: 2330.721898
|
|
type: 'test'
|
|
...
|
|
# Subtest: the in-run recount counts the listed tables too
|
|
ok 5 - the in-run recount counts the listed tables too
|
|
---
|
|
duration_ms: 3163.939714
|
|
type: 'test'
|
|
...
|
|
1..5
|
|
ok 637 - T45 row 181 items 2 and 3: the restore guard counts events and every COUNTED table
|
|
---
|
|
duration_ms: 14968.308428
|
|
type: 'test'
|
|
...
|
|
# Subtest: T46 row 181 item 4: every table in the bus schema is in exactly one of four lists
|
|
ok 638 - T46 row 181 item 4: every table in the bus schema is in exactly one of four lists
|
|
---
|
|
duration_ms: 3.874533
|
|
type: 'test'
|
|
...
|
|
# Subtest: T47 row 185 test 1: a same-schema activate leaves a whole backup and the log line names it
|
|
ok 639 - T47 row 185 test 1: a same-schema activate leaves a whole backup and the log line names it
|
|
---
|
|
duration_ms: 1925.446874
|
|
type: 'test'
|
|
...
|
|
# Subtest: T48 row 185 test 2: a gate failure on a same-schema activate rolls back without a restore
|
|
ok 640 - T48 row 185 test 2: a gate failure on a same-schema activate rolls back without a restore
|
|
---
|
|
duration_ms: 4752.77297
|
|
type: 'test'
|
|
...
|
|
# Subtest: T49 row 185 test 3: a same-schema rollback --restore restores, or refuses rows written after STAMP
|
|
# Subtest: no rows after STAMP: restores and goes live
|
|
ok 1 - no rows after STAMP: restores and goes live
|
|
---
|
|
duration_ms: 3416.968003
|
|
type: 'test'
|
|
...
|
|
# Subtest: one instance_names row after STAMP refuses post-backup-events; --events 1 restores
|
|
ok 2 - one instance_names row after STAMP refuses post-backup-events; --events 1 restores
|
|
---
|
|
duration_ms: 3805.971
|
|
type: 'test'
|
|
...
|
|
1..2
|
|
ok 641 - T49 row 185 test 3: a same-schema rollback --restore restores, or refuses rows written after STAMP
|
|
---
|
|
duration_ms: 7223.461904
|
|
type: 'test'
|
|
...
|
|
# Subtest: T50 row 185 test 4: activate --plan prints the backup line and writes nothing
|
|
ok 642 - T50 row 185 test 4: activate --plan prints the backup line and writes nothing
|
|
---
|
|
duration_ms: 2449.97752
|
|
type: 'test'
|
|
...
|
|
# Subtest: T51 row 185 test 5: an activate with no store file takes no backup
|
|
ok 643 - T51 row 185 test 5: an activate with no store file takes no backup
|
|
---
|
|
duration_ms: 2044.225914
|
|
type: 'test'
|
|
...
|
|
# Subtest: T52 row 186: the activate plan's backup line says what the run will do
|
|
# Subtest: same schema
|
|
ok 1 - same schema
|
|
---
|
|
duration_ms: 2172.46011
|
|
type: 'test'
|
|
...
|
|
# Subtest: same schema with --migrate
|
|
ok 2 - same schema with --migrate
|
|
---
|
|
duration_ms: 2154.339807
|
|
type: 'test'
|
|
...
|
|
# Subtest: in chain with --migrate
|
|
ok 3 - in chain with --migrate
|
|
---
|
|
duration_ms: 2209.754121
|
|
type: 'test'
|
|
...
|
|
# Subtest: in chain without --migrate
|
|
ok 4 - in chain without --migrate
|
|
---
|
|
duration_ms: 2027.862216
|
|
type: 'test'
|
|
...
|
|
# Subtest: outside the chain
|
|
ok 5 - outside the chain
|
|
---
|
|
duration_ms: 2085.497911
|
|
type: 'test'
|
|
...
|
|
# Subtest: outside the chain with --migrate
|
|
ok 6 - outside the chain with --migrate
|
|
---
|
|
duration_ms: 2032.762432
|
|
type: 'test'
|
|
...
|
|
1..6
|
|
ok 644 - T52 row 186: the activate plan's backup line says what the run will do
|
|
---
|
|
duration_ms: 12683.761516
|
|
type: 'test'
|
|
...
|
|
# Subtest: T178 proxy proof header and path survive re-pin and rollback unchanged in the pointer and unit
|
|
ok 645 - T178 proxy proof header and path survive re-pin and rollback unchanged in the pointer and unit
|
|
---
|
|
duration_ms: 3214.153445
|
|
type: 'test'
|
|
...
|
|
# Subtest: T178 proxy proof pair survives a tester-port replacement as well
|
|
ok 646 - T178 proxy proof pair survives a tester-port replacement as well
|
|
---
|
|
duration_ms: 1993.549805
|
|
type: 'test'
|
|
...
|
|
# Subtest: T53 row 187: activate sets, carries and drops the proof pair
|
|
# Subtest: tests 1 and 9: the pair goes after the preview flags, before --send and the kept --tester-port, as the unit renders it; a new pair replaces it
|
|
ok 1 - tests 1 and 9: the pair goes after the preview flags, before --send and the kept --tester-port, as the unit renders it; a new pair replaces it
|
|
---
|
|
duration_ms: 5452.050493
|
|
type: 'test'
|
|
...
|
|
# Subtest: tests 2 and 3: an activate of the live copy writes the pair; a later activate and a rollback carry it
|
|
ok 2 - tests 2 and 3: an activate of the live copy writes the pair; a later activate and a rollback carry it
|
|
---
|
|
duration_ms: 5039.282265
|
|
type: 'test'
|
|
...
|
|
# Subtest: test 2: only a pair change may name the live copy; the log keeps from and to, and rollback still goes to the earlier copy
|
|
ok 3 - test 2: only a pair change may name the live copy; the log keeps from and to, and rollback still goes to the earlier copy
|
|
---
|
|
duration_ms: 6582.215105
|
|
type: 'test'
|
|
...
|
|
# Subtest: test 2: a live-copy activate says only the Console flags change, and backs up the stopped store before it installs
|
|
ok 4 - test 2: a live-copy activate says only the Console flags change, and backs up the stopped store before it installs
|
|
---
|
|
duration_ms: 4014.890043
|
|
type: 'test'
|
|
...
|
|
# Subtest: test 3: pm-on keeps the pair
|
|
ok 5 - test 3: pm-on keeps the pair
|
|
---
|
|
duration_ms: 3029.096144
|
|
type: 'test'
|
|
...
|
|
# Subtest: test 4: --no-proof drops the pair from the pointer and the unit and says so; with no pair it says so and passes
|
|
ok 6 - test 4: --no-proof drops the pair from the pointer and the unit and says so; with no pair it says so and passes
|
|
---
|
|
duration_ms: 5543.657886
|
|
type: 'test'
|
|
...
|
|
# Subtest: test 5: each refusal exits 3 before anything stops
|
|
ok 7 - test 5: each refusal exits 3 before anything stops
|
|
---
|
|
duration_ms: 3739.60231
|
|
type: 'test'
|
|
...
|
|
# Subtest: tests 5 and 9: --plan lists every proof refusal with the others and writes nothing
|
|
ok 8 - tests 5 and 9: --plan lists every proof refusal with the others and writes nothing
|
|
---
|
|
duration_ms: 854.401754
|
|
type: 'test'
|
|
...
|
|
# Subtest: test 6: usage errors
|
|
ok 9 - test 6: usage errors
|
|
---
|
|
duration_ms: 748.747638
|
|
type: 'test'
|
|
...
|
|
# Subtest: test 7: a rollback to a copy without proof support drops the pair and says so
|
|
ok 10 - test 7: a rollback to a copy without proof support drops the pair and says so
|
|
---
|
|
duration_ms: 3409.107899
|
|
type: 'test'
|
|
...
|
|
# Subtest: test 7: an activate to a copy without proof support refuses proof-target without --no-proof and passes with it
|
|
ok 11 - test 7: an activate to a copy without proof support refuses proof-target without --no-proof and passes with it
|
|
---
|
|
duration_ms: 3871.219477
|
|
type: 'test'
|
|
...
|
|
1..11
|
|
ok 647 - T53 row 187: activate sets, carries and drops the proof pair
|
|
---
|
|
duration_ms: 42286.324065
|
|
type: 'test'
|
|
...
|
|
# Subtest: T54 row 188: a carried pair gets the proof file checks, and a proof file inside the repository refuses
|
|
# Subtest: test 1: an activate that carries the pair refuses after chmod 644, in the plan and the run, before anything stops
|
|
ok 1 - test 1: an activate that carries the pair refuses after chmod 644, in the plan and the run, before anything stops
|
|
---
|
|
duration_ms: 2326.231324
|
|
type: 'test'
|
|
...
|
|
# Subtest: test 1: an activate that carries the pair refuses after a symlink to a mode-600 file, in the plan and the run, before anything stops
|
|
ok 2 - test 1: an activate that carries the pair refuses after a symlink to a mode-600 file, in the plan and the run, before anything stops
|
|
---
|
|
duration_ms: 2547.025068
|
|
type: 'test'
|
|
...
|
|
# Subtest: test 1: an activate that carries the pair refuses after removal, in the plan and the run, before anything stops
|
|
ok 3 - test 1: an activate that carries the pair refuses after removal, in the plan and the run, before anything stops
|
|
---
|
|
duration_ms: 2309.967472
|
|
type: 'test'
|
|
...
|
|
# Subtest: test 2: a rollback that carries the pair refuses after chmod 644, in the plan and the run, before anything stops
|
|
ok 4 - test 2: a rollback that carries the pair refuses after chmod 644, in the plan and the run, before anything stops
|
|
---
|
|
duration_ms: 2397.042826
|
|
type: 'test'
|
|
...
|
|
# Subtest: test 3: a proof file inside the repository refuses, in the plan and the run, before anything stops
|
|
ok 5 - test 3: a proof file inside the repository refuses, in the plan and the run, before anything stops
|
|
---
|
|
duration_ms: 1021.108088
|
|
type: 'test'
|
|
...
|
|
# Subtest: test 4: a path outside the repository through a directory symlink into it refuses on its realpath
|
|
ok 6 - test 4: a path outside the repository through a directory symlink into it refuses on its realpath
|
|
---
|
|
duration_ms: 1017.502229
|
|
type: 'test'
|
|
...
|
|
1..6
|
|
ok 648 - T54 row 188: a carried pair gets the proof file checks, and a proof file inside the repository refuses
|
|
---
|
|
duration_ms: 11619.992874
|
|
type: 'test'
|
|
...
|
|
# Subtest: T55 row 189: activate --no-send drops --send, and rollback and pm-on carry it off
|
|
# Subtest: test 1: a live-copy --no-send drops --send from the pointer and the unit, keeps the rest in order, logs the step and backs up the stopped store
|
|
ok 1 - test 1: a live-copy --no-send drops --send from the pointer and the unit, keeps the rest in order, logs the step and backs up the stopped store
|
|
---
|
|
duration_ms: 2163.878269
|
|
type: 'test'
|
|
...
|
|
# Subtest: test 2: a plain live-copy activate still refuses already-active, and so does --no-send once --send is gone
|
|
ok 2 - test 2: a plain live-copy activate still refuses already-active, and so does --no-send once --send is gone
|
|
---
|
|
duration_ms: 3220.818946
|
|
type: 'test'
|
|
...
|
|
# Subtest: test 3: --plan prints one send: line in each case, with the live-copy note on a same-copy run
|
|
ok 3 - test 3: --plan prints one send: line in each case, with the live-copy note on a same-copy run
|
|
---
|
|
duration_ms: 4848.458355
|
|
type: 'test'
|
|
...
|
|
# Subtest: test 4: after --no-send, a rollback to the earlier copy leaves --send out of the pointer and the unit
|
|
ok 4 - test 4: after --no-send, a rollback to the earlier copy leaves --send out of the pointer and the unit
|
|
---
|
|
duration_ms: 3485.011298
|
|
type: 'test'
|
|
...
|
|
# Subtest: test 4: pm-on after --no-send keeps --send off
|
|
ok 5 - test 4: pm-on after --no-send keeps --send off
|
|
---
|
|
duration_ms: 3257.20983
|
|
type: 'test'
|
|
...
|
|
# Subtest: test 5: --no-send on rollback, pm-on, status, adopt or rehearse is a usage error
|
|
ok 6 - test 5: --no-send on rollback, pm-on, status, adopt or rehearse is a usage error
|
|
---
|
|
duration_ms: 671.101786
|
|
type: 'test'
|
|
...
|
|
# Subtest: test 6: with both a pair and --send in the pointer, --no-send and --no-proof each drop what they name and keep the rest
|
|
ok 7 - test 6: with both a pair and --send in the pointer, --no-send and --no-proof each drop what they name and keep the rest
|
|
---
|
|
duration_ms: 10541.24426
|
|
type: 'test'
|
|
...
|
|
1..7
|
|
ok 649 - T55 row 189: activate --no-send drops --send, and rollback and pm-on carry it off
|
|
---
|
|
duration_ms: 28189.055244
|
|
type: 'test'
|
|
...
|
|
# Subtest: T57 row 200: activate --sso, its refusals before any stop, and the rollback to a Console without --sso
|
|
# Subtest: item 1: --sso drops the preview set and the pair, puts --sso before --send and the tester port, and the plan names what it drops and carries
|
|
ok 1 - item 1: --sso drops the preview set and the pair, puts --sso before --send and the tester port, and the plan names what it drops and carries
|
|
---
|
|
duration_ms: 3909.011096
|
|
type: 'test'
|
|
...
|
|
# Subtest: item 1: --sso may re-pin the live copy once; later activates carry it; --no-send still drops --send
|
|
ok 2 - item 1: --sso may re-pin the live copy once; later activates carry it; --no-send still drops --send
|
|
---
|
|
duration_ms: 9074.252477
|
|
type: 'test'
|
|
...
|
|
# Subtest: item 1: --sso with a pair or --no-proof, or on any verb but activate, is a usage error
|
|
ok 3 - item 1: --sso with a pair or --no-proof, or on any verb but activate, is a usage error
|
|
---
|
|
duration_ms: 704.798937
|
|
type: 'test'
|
|
...
|
|
# Subtest: item 2: a target without --sso, a missing or bad console.sso, and each slot problem refuse before any stop
|
|
ok 4 - item 2: a target without --sso, a missing or bad console.sso, and each slot problem refuse before any stop
|
|
---
|
|
duration_ms: 5874.798995
|
|
type: 'test'
|
|
...
|
|
# Subtest: item 3: a config whose console key the target loader refuses stops an activate or a rollback before any stop, naming the first step
|
|
ok 5 - item 3: a config whose console key the target loader refuses stops an activate or a rollback before any stop, naming the first step
|
|
---
|
|
duration_ms: 4416.808015
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 203: a config whose federation key the target loader refuses stops an activate or a rollback before any stop, naming the first step
|
|
ok 6 - row 203: a config whose federation key the target loader refuses stops an activate or a rollback before any stop, naming the first step
|
|
---
|
|
duration_ms: 3816.45718
|
|
type: 'test'
|
|
...
|
|
# Subtest: item 3: a rollback from --sso to a Console without it takes the flags from the set of the activation onto the copy, past a same-copy re-pin (sage-1389)
|
|
ok 7 - item 3: a rollback from --sso to a Console without it takes the flags from the set of the activation onto the copy, past a same-copy re-pin (sage-1389)
|
|
---
|
|
duration_ms: 11373.561871
|
|
type: 'test'
|
|
...
|
|
# Subtest: item 3: a rollback set that is missing, fails its sums, holds no argv or already ran --sso refuses sso-rollback-flags
|
|
ok 8 - item 3: a rollback set that is missing, fails its sums, holds no argv or already ran --sso refuses sso-rollback-flags
|
|
---
|
|
duration_ms: 4466.142178
|
|
type: 'test'
|
|
...
|
|
# Subtest: round 2 (webby-0028 N1): run through a symlinked repository path, a slot or a proof file inside the repository still refuses
|
|
ok 9 - round 2 (webby-0028 N1): run through a symlinked repository path, a slot or a proof file inside the repository still refuses
|
|
---
|
|
duration_ms: 2300.144823
|
|
type: 'test'
|
|
...
|
|
# Subtest: round 2 (webby-0028 N2): a config.json that does not parse stops the run before anything is read or stopped
|
|
ok 10 - round 2 (webby-0028 N2): a config.json that does not parse stops the run before anything is read or stopped
|
|
---
|
|
duration_ms: 2088.695069
|
|
type: 'test'
|
|
...
|
|
# Subtest: round 3 (sage-1556): a named instance turns --sso on with its own config, slot and Console unit, and rolls back from its own set
|
|
ok 11 - round 3 (sage-1556): a named instance turns --sso on with its own config, slot and Console unit, and rolls back from its own set
|
|
---
|
|
duration_ms: 4221.156785
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 238 (\#1744): on a named instance the sso-config first step names --instance NAME in both commands
|
|
ok 12 - row 238 (\#1744): on a named instance the sso-config first step names --instance NAME in both commands
|
|
---
|
|
duration_ms: 1050.789947
|
|
type: 'test'
|
|
...
|
|
1..12
|
|
ok 650 - T57 row 200: activate --sso, its refusals before any stop, and the rollback to a Console without --sso
|
|
---
|
|
duration_ms: 53298.853025
|
|
type: 'test'
|
|
...
|
|
# Subtest: T58 row 273: activate --send and --no-sso
|
|
# Subtest: T1: --sso --send turns send on after --sso and before the tester port, and the plan says so
|
|
ok 1 - T1: --sso --send turns send on after --sso and before the tester port, and the plan says so
|
|
---
|
|
duration_ms: 2664.033732
|
|
type: 'test'
|
|
...
|
|
# Subtest: T1: --send beside a carried --sso re-pins the live copy once, and the plan names the carried --sso
|
|
ok 2 - T1: --send beside a carried --sso re-pins the live copy once, and the plan names the carried --sso
|
|
---
|
|
duration_ms: 4271.180599
|
|
type: 'test'
|
|
...
|
|
# Subtest: T2: --send without --sso, given or carried, refuses before any stop, and --plan lists it
|
|
ok 3 - T2: --send without --sso, given or carried, refuses before any stop, and --plan lists it
|
|
---
|
|
duration_ms: 1979.989308
|
|
type: 'test'
|
|
...
|
|
# Subtest: T2 (sage-2315 B1): a rollback from an --sso --send pointer to a Console without --sso ends with neither flag
|
|
ok 4 - T2 (sage-2315 B1): a rollback from an --sso --send pointer to a Console without --sso ends with neither flag
|
|
---
|
|
duration_ms: 3840.617839
|
|
type: 'test'
|
|
...
|
|
# Subtest: T2 and T4: --send with --no-send, --no-sso with --sso, --send, a pair or --no-proof, and either flag on another verb, is a usage error
|
|
ok 5 - T2 and T4: --send with --no-send, --no-sso with --sso, --send, a pair or --no-proof, and either flag on another verb, is a usage error
|
|
---
|
|
duration_ms: 2252.8678
|
|
type: 'test'
|
|
...
|
|
# Subtest: T3: --no-sso on the same copy returns the unit and the pointer to the flags from before --sso, without --send
|
|
ok 6 - T3: --no-sso on the same copy returns the unit and the pointer to the flags from before --sso, without --send
|
|
---
|
|
duration_ms: 5619.029125
|
|
type: 'test'
|
|
...
|
|
# Subtest: T3: the set walk passes later re-pins that ran with --sso, and the tester follows the pointer
|
|
ok 7 - T3: the set walk passes later re-pins that ran with --sso, and the tester follows the pointer
|
|
---
|
|
duration_ms: 5252.885134
|
|
type: 'test'
|
|
...
|
|
# Subtest: T3 (sage-2305 a): after --sso, two later re-pins that carry it, then --no-sso restores the flags from before --sso byte for byte
|
|
ok 8 - T3 (sage-2305 a): after --sso, two later re-pins that carry it, then --no-sso restores the flags from before --sso byte for byte
|
|
---
|
|
duration_ms: 8527.526044
|
|
type: 'test'
|
|
...
|
|
# Subtest: T4 (sage-2305 b): a log in which every set holds a Console with --sso refuses before any unit stops
|
|
ok 9 - T4 (sage-2305 b): a log in which every set holds a Console with --sso refuses before any unit stops
|
|
---
|
|
duration_ms: 4234.09028
|
|
type: 'test'
|
|
...
|
|
# Subtest: T4: --no-sso refuses before any stop on a pointer without --sso, a tampered or missing set, a set that ran with --sso, an ok line with no activation, and a log with no set
|
|
ok 10 - T4: --no-sso refuses before any stop on a pointer without --sso, a tampered or missing set, a set that ran with --sso, an ok line with no activation, and a log with no set
|
|
---
|
|
duration_ms: 6346.169284
|
|
type: 'test'
|
|
...
|
|
1..10
|
|
ok 651 - T58 row 273: activate --send and --no-sso
|
|
---
|
|
duration_ms: 44990.270749
|
|
type: 'test'
|
|
...
|
|
# Subtest: R1 rehearse passes on the same schema; the scratch root holds its files and the live files stay byte-identical
|
|
ok 652 - R1 rehearse passes on the same schema; the scratch root holds its files and the live files stay byte-identical
|
|
---
|
|
duration_ms: 3469.132575
|
|
type: 'test'
|
|
...
|
|
# Subtest: R2 rehearse runs the migration checks when the schema differs; the live store stays at 3g
|
|
ok 653 - R2 rehearse runs the migration checks when the schema differs; the live store stays at 3g
|
|
---
|
|
duration_ms: 3581.452541
|
|
type: 'test'
|
|
...
|
|
# Subtest: R3 a failing migration gives REHEARSAL_FAIL migrate and starts nothing
|
|
ok 654 - R3 a failing migration gives REHEARSAL_FAIL migrate and starts nothing
|
|
---
|
|
duration_ms: 366.209035
|
|
type: 'test'
|
|
...
|
|
# Subtest: R4 a host that does not start, does not answer status, reports another pid, launches anyway, makes a launches directory or keeps its lock each fails by name
|
|
ok 655 - R4 a host that does not start, does not answer status, reports another pid, launches anyway, makes a launches directory or keeps its lock each fails by name
|
|
---
|
|
duration_ms: 23478.780621
|
|
type: 'test'
|
|
...
|
|
# Subtest: R5 a host that ignores SIGTERM gets SIGKILL and FAIL host-stopped
|
|
ok 656 - R5 a host that ignores SIGTERM gets SIGKILL and FAIL host-stopped
|
|
---
|
|
duration_ms: 4421.596591
|
|
type: 'test'
|
|
...
|
|
# Subtest: R6 a Console that does not answer /healthz gives REHEARSAL_FAIL healthz
|
|
ok 657 - R6 a Console that does not answer /healthz gives REHEARSAL_FAIL healthz
|
|
---
|
|
duration_ms: 5626.222065
|
|
type: 'test'
|
|
...
|
|
# Subtest: R7 a host on another copy fails copy-match
|
|
ok 658 - R7 a host on another copy fails copy-match
|
|
---
|
|
duration_ms: 5627.61543
|
|
type: 'test'
|
|
...
|
|
# Subtest: R8 a scratch port in use or reserved refuses, and the rehearsal takes no other port
|
|
ok 659 - R8 a scratch port in use or reserved refuses, and the rehearsal takes no other port
|
|
---
|
|
duration_ms: 506.906956
|
|
type: 'test'
|
|
...
|
|
# Subtest: R9 mos-0963: a role reference left outside placeholders/, or left on an env variable, fails credential-ref-live before the host starts
|
|
ok 660 - R9 mos-0963: a role reference left outside placeholders/, or left on an env variable, fails credential-ref-live before the host starts
|
|
---
|
|
duration_ms: 709.349295
|
|
type: 'test'
|
|
...
|
|
# Subtest: R10 mos-0962: a scratch business that still sets a tracker fails tracker-configured
|
|
ok 661 - R10 mos-0962: a scratch business that still sets a tracker fails tracker-configured
|
|
---
|
|
duration_ms: 356.98181
|
|
type: 'test'
|
|
...
|
|
# Subtest: R11 mos-0961: a scratch config on the live data root or on any root but the scratch one, or a sessions.json naming a running pid, refuses by name
|
|
ok 662 - R11 mos-0961: a scratch config on the live data root or on any root but the scratch one, or a sessions.json naming a running pid, refuses by name
|
|
---
|
|
duration_ms: 1400.988265
|
|
type: 'test'
|
|
...
|
|
# Subtest: R12 mos-0962: a notifier config with a binding fails notify-off
|
|
ok 663 - R12 mos-0962: a notifier config with a binding fails notify-off
|
|
---
|
|
duration_ms: 357.290668
|
|
type: 'test'
|
|
...
|
|
# Subtest: R13 the pre-checks: an old copy, a backup that fails its sums, a missing backup or pointer, and usage
|
|
ok 664 - R13 the pre-checks: an old copy, a backup that fails its sums, a missing backup or pointer, and usage
|
|
---
|
|
duration_ms: 496.297757
|
|
type: 'test'
|
|
...
|
|
# Subtest: R14 a host that writes the live config, the live business file or the backup fails the end check by name
|
|
ok 665 - R14 a host that writes the live config, the live business file or the backup fails the end check by name
|
|
---
|
|
duration_ms: 9331.006931
|
|
type: 'test'
|
|
...
|
|
# Subtest: R15 a rehearsal stopped by TERM, INT or HUP fails signal and still stops the host and Console and runs the end checks
|
|
ok 666 - R15 a rehearsal stopped by TERM, INT or HUP fails signal and still stops the host and Console and runs the end checks
|
|
---
|
|
duration_ms: 10003.926708
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 233: --backup last takes the newest backup the log records; a later line with backup null does not hide it, and the store line names it
|
|
ok 667 - row 233: --backup last takes the newest backup the log records; a later line with backup null does not hide it, and the store line names it
|
|
---
|
|
duration_ms: 3470.478305
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 233: --backup last with no backup in the log, or no log, exits 3 with no-backup and makes no rehearsal directory
|
|
ok 668 - row 233: --backup last with no backup in the log, or no log, exits 3 with no-backup and makes no rehearsal directory
|
|
---
|
|
duration_ms: 194.051385
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 233: --backup last refuses a newest backup that is not an activation id, with exit 1
|
|
ok 669 - row 233: --backup last refuses a newest backup that is not an activation id, with exit 1
|
|
---
|
|
duration_ms: 120.342638
|
|
type: 'test'
|
|
...
|
|
# Subtest: T56 row 190: named instances side by side on one unit directory, $BIN and set of stand-ins
|
|
# Subtest: T-I3 each instance renders its own config, session env and Description, and nothing of another
|
|
ok 1 - T-I3 each instance renders its own config, session env and Description, and nothing of another
|
|
---
|
|
duration_ms: 1539.857389
|
|
type: 'test'
|
|
...
|
|
# Subtest: T-I4 a Console port another installed Console takes refuses port-claimed, and a named instance keeps off the default ports
|
|
ok 2 - T-I4 a Console port another installed Console takes refuses port-claimed, and a named instance keeps off the default ports
|
|
---
|
|
duration_ms: 2026.924021
|
|
type: 'test'
|
|
...
|
|
# Subtest: T-I6 alpha's activate and rollback reach nothing of beta's
|
|
ok 3 - T-I6 alpha's activate and rollback reach nothing of beta's
|
|
---
|
|
duration_ms: 3971.423996
|
|
type: 'test'
|
|
...
|
|
# Subtest: T-I6 swapped: beta's reach nothing of alpha's
|
|
ok 4 - T-I6 swapped: beta's reach nothing of alpha's
|
|
---
|
|
duration_ms: 3953.669333
|
|
type: 'test'
|
|
...
|
|
# Subtest: T-I7 MOSAIC_CONFIG naming alpha's config with no flag refuses instance-root-mismatch and changes nothing
|
|
ok 5 - T-I7 MOSAIC_CONFIG naming alpha's config with no flag refuses instance-root-mismatch and changes nothing
|
|
---
|
|
duration_ms: 697.83241
|
|
type: 'test'
|
|
...
|
|
# Subtest: T-I9 another instance's bus active refuses nothing; one of this instance's does
|
|
ok 6 - T-I9 another instance's bus active refuses nothing; one of this instance's does
|
|
---
|
|
duration_ms: 6135.886034
|
|
type: 'test'
|
|
...
|
|
1..6
|
|
ok 670 - T56 row 190: named instances side by side on one unit directory, $BIN and set of stand-ins
|
|
---
|
|
duration_ms: 18326.923721
|
|
type: 'test'
|
|
...
|
|
# Subtest: row196 explicit socket conversion refuses inherited TCP before stop and rollback disables socket
|
|
ok 671 - row196 explicit socket conversion refuses inherited TCP before stop and rollback disables socket
|
|
---
|
|
duration_ms: 5929.244773
|
|
type: 'test'
|
|
...
|
|
# Subtest: row196 SSO socket conversion pins pointer and unit argv order without send
|
|
ok 672 - row196 SSO socket conversion pins pointer and unit argv order without send
|
|
---
|
|
duration_ms: 2330.753741
|
|
type: 'test'
|
|
...
|
|
# Subtest: row196 interpreter activation checks receipt, identity, plan and startup log
|
|
# Subtest: plan and started log preserve the same interpreter JSON
|
|
ok 1 - plan and started log preserve the same interpreter JSON
|
|
---
|
|
duration_ms: 2257.991784
|
|
type: 'test'
|
|
...
|
|
# Subtest: interpreter-receipt-refuse fails at the gate and restores the pointer
|
|
ok 2 - interpreter-receipt-refuse fails at the gate and restores the pointer
|
|
---
|
|
duration_ms: 3409.239579
|
|
type: 'test'
|
|
...
|
|
# Subtest: interpreter-drift fails at the gate and restores the pointer
|
|
ok 3 - interpreter-drift fails at the gate and restores the pointer
|
|
---
|
|
duration_ms: 3324.009492
|
|
type: 'test'
|
|
...
|
|
# Subtest: missing-verifier refuses before any start or stop
|
|
ok 4 - missing-verifier refuses before any start or stop
|
|
---
|
|
duration_ms: 996.711071
|
|
type: 'test'
|
|
...
|
|
# Subtest: interpreter-unsafe refuses before any start or stop
|
|
ok 5 - interpreter-unsafe refuses before any start or stop
|
|
---
|
|
duration_ms: 1069.666241
|
|
type: 'test'
|
|
...
|
|
1..5
|
|
ok 673 - row196 interpreter activation checks receipt, identity, plan and startup log
|
|
---
|
|
duration_ms: 11059.103923
|
|
type: 'test'
|
|
...
|
|
# Subtest: row196 rehearsal selects socket only for marked copies and uses scratch dataRoot
|
|
# Subtest: socket copy
|
|
ok 1 - socket copy
|
|
---
|
|
duration_ms: 2425.929573
|
|
type: 'test'
|
|
...
|
|
# Subtest: legacy copy
|
|
ok 2 - legacy copy
|
|
---
|
|
duration_ms: 3430.742646
|
|
type: 'test'
|
|
...
|
|
1..2
|
|
ok 674 - row196 rehearsal selects socket only for marked copies and uses scratch dataRoot
|
|
---
|
|
duration_ms: 5857.286341
|
|
type: 'test'
|
|
...
|
|
# Subtest: config-any-key: a non-console target refusal stops activate and rollback before any stop
|
|
ok 675 - config-any-key: a non-console target refusal stops activate and rollback before any stop
|
|
---
|
|
duration_ms: 2727.115916
|
|
type: 'test'
|
|
...
|
|
# Subtest: config-any-key: a pre-270 target refuses each row 270 key on a full activate and rollback, naming the key
|
|
ok 676 - config-any-key: a pre-270 target refuses each row 270 key on a full activate and rollback, naming the key
|
|
---
|
|
duration_ms: 4447.028926
|
|
type: 'test'
|
|
...
|
|
# Subtest: config-any-key: accepting loaders run validate with the selected config on activate and rollback
|
|
ok 677 - config-any-key: accepting loaders run validate with the selected config on activate and rollback
|
|
---
|
|
duration_ms: 3058.236411
|
|
type: 'test'
|
|
...
|
|
# Subtest: config-any-key: missing-loader copies accept only the four oldest keys
|
|
ok 678 - config-any-key: missing-loader copies accept only the four oldest keys
|
|
---
|
|
duration_ms: 121.504174
|
|
type: 'test'
|
|
...
|
|
# Subtest: config-any-key: missing config passes but malformed JSON refuses without calling the loader
|
|
ok 679 - config-any-key: missing config passes but malformed JSON refuses without calling the loader
|
|
---
|
|
duration_ms: 41.918407
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 233: sequence 1: confirm fails healthz, the driver reverts, renders the old copy and confirm --rollback --cause A5 passes: exit 1
|
|
ok 680 - row 233: sequence 1: confirm fails healthz, the driver reverts, renders the old copy and confirm --rollback --cause A5 passes: exit 1
|
|
---
|
|
duration_ms: 10121.19785
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 233: sequence 2: activate --migrate fails at the wrapper, revert restores the store, confirm --rollback --cause A3: exit 1
|
|
ok 681 - row 233: sequence 2: activate --migrate fails at the wrapper, revert restores the store, confirm --rollback --cause A3: exit 1
|
|
---
|
|
duration_ms: 4618.8829
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 233: sequence 3: root's render of the new copy fails, the driver rolls back with --cause A4, and holds the lock to the end: exit 1
|
|
ok 682 - row 233: sequence 3: root's render of the new copy fails, the driver rolls back with --cause A4, and holds the lock to the end: exit 1
|
|
---
|
|
duration_ms: 3761.568075
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 233: sequence 4: a capture failure is exit 3 from the stage, and A2f restarts the old units and gates them: exit 1
|
|
ok 683 - row 233: sequence 4: a capture failure is exit 3 from the stage, and A2f restarts the old units and gates them: exit 1
|
|
---
|
|
duration_ms: 3065.929021
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 233: N1: a bus that outlives A2's timeout keeps its old start, so A2f's gate fails stale-start: exit 2, both units stopped
|
|
ok 684 - row 233: N1: a bus that outlives A2's timeout keeps its old start, so A2f's gate fails stale-start: exit 2, both units stopped
|
|
---
|
|
duration_ms: 7436.286455
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 233: sequence 5: confirm of the wrong copy is refused, and the driver rolls back with --cause A5: exit 1
|
|
ok 685 - row 233: sequence 5: confirm of the wrong copy is refused, and the driver rolls back with --cause A5: exit 1
|
|
---
|
|
duration_ms: 4261.611143
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 233: sequence 6: a revert that fails stops both units at exit 2, and the next run refuses at its --plan with nothing stopped
|
|
ok 686 - row 233: sequence 6: a revert that fails stops both units at exit 2, and the next run refuses at its --plan with nothing stopped
|
|
---
|
|
duration_ms: 3372.063209
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 233: sequence 7: two upgrades and a rollback --to the previous copy with --restore, the args file following each confirm
|
|
ok 687 - row 233: sequence 7: two upgrades and a rollback --to the previous copy with --restore, the args file following each confirm
|
|
---
|
|
duration_ms: 8328.038251
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 240: I3 N1: a failed args move after A5 exits 5 args-failed, the new copy live and confirmed and both args files kept
|
|
ok 688 - row 240: I3 N1: a failed args move after A5 exits 5 args-failed, the new copy live and confirmed and both args files kept
|
|
---
|
|
duration_ms: 3250.596914
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 233: sequence 8: a migration that writes and fails: the driver reverts to the backup byte for byte, --cause A3: exit 1
|
|
ok 689 - row 233: sequence 8: a migration that writes and fails: the driver reverts to the backup byte for byte, --cause A3: exit 1
|
|
---
|
|
duration_ms: 3817.661426
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 233: a second run while the lock is held refuses upgrade-running with one log line and no call
|
|
ok 690 - row 233: a second run while the lock is held refuses upgrade-running with one log line and no call
|
|
---
|
|
duration_ms: 733.998006
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 233: A1 refuses open-activation on any AWAITING-UNITS file, through the stack's user's --plan, with nothing stopped
|
|
ok 691 - row 233: A1 refuses open-activation on any AWAITING-UNITS file, through the stack's user's --plan, with nothing stopped
|
|
---
|
|
duration_ms: 1288.574312
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 233: a target that migrates refuses migrate-required without --migrate, with nothing stopped
|
|
ok 692 - row 233: a target that migrates refuses migrate-required without --migrate, with nothing stopped
|
|
---
|
|
duration_ms: 1237.395671
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 233: the rehearsal runs after the plan and before A2; a failed one refuses rehearsal-failed with nothing stopped
|
|
ok 693 - row 233: the rehearsal runs after the plan and before A2; a failed one refuses rehearsal-failed with nothing stopped
|
|
---
|
|
duration_ms: 1364.085611
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 233: the rehearsal's BACKUP_STORE line goes to the step log after a match, a malformed one as none, the rest of its output never
|
|
ok 694 - row 233: the rehearsal's BACKUP_STORE line goes to the step log after a match, a malformed one as none, the rest of its output never
|
|
---
|
|
duration_ms: 3207.431533
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 233: a real rehearsal with no backup in the log refuses no-backup, and goes on only with --no-rehearsal, which logs the skip
|
|
ok 695 - row 233: a real rehearsal with no backup in the log refuses no-backup, and goes on only with --no-rehearsal, which logs the skip
|
|
---
|
|
duration_ms: 3783.816638
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 233: a real rehearsal after an upgrade names the log's newest backup; --no-rehearsal with a backup refuses rehearsal-required
|
|
ok 696 - row 233: a real rehearsal after an upgrade names the log's newest backup; --no-rehearsal with a backup refuses rehearsal-required
|
|
---
|
|
duration_ms: 4081.339023
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 233: the args file must be the running user's, with no group or other write, one --copy, and the copy the units run
|
|
ok 697 - row 233: the args file must be the running user's, with no group or other write, one --copy, and the copy the units run
|
|
---
|
|
duration_ms: 976.690711
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 233: hostcheck (row 240): a nonzero --check or a missing file refuses profile-drift before the plan
|
|
ok 698 - row 233: hostcheck (row 240): a nonzero --check or a missing file refuses profile-drift before the plan
|
|
---
|
|
duration_ms: 1101.19441
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 233: the checkout must be at --sha (head-mismatch), and a commit the clone can't fast-forward to refuses fetch-failed
|
|
ok 699 - row 233: the checkout must be at --sha (head-mismatch), and a commit the clone can't fast-forward to refuses fetch-failed
|
|
---
|
|
duration_ms: 1050.328078
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 233: usage exits 4 before any log or lock
|
|
ok 700 - row 233: usage exits 4 before any log or lock
|
|
---
|
|
duration_ms: 767.975875
|
|
type: 'test'
|
|
...
|
|
# Subtest: tester HTTP helper uses instance socket, logical origin and JSON without retrying
|
|
ok 701 - tester HTTP helper uses instance socket, logical origin and JSON without retrying
|
|
---
|
|
duration_ms: 23.644341
|
|
type: 'test'
|
|
...
|
|
# Subtest: tester HTTP timeout closes the socket and does not retry
|
|
ok 702 - tester HTTP timeout closes the socket and does not retry
|
|
---
|
|
duration_ms: 25.738208
|
|
type: 'test'
|
|
...
|
|
# organization: {"event":"reload-needs-restart","business":"acme"}
|
|
# Subtest: row 175: each read with --tester inside an agent prints the human form's output, and refuses without --tester
|
|
ok 703 - row 175: each read with --tester inside an agent prints the human form's output, and refuses without --tester
|
|
---
|
|
duration_ms: 202.658222
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 175: --tester on limits set, reset and migrate and every write form outside W1-W7 exits 4 before any call
|
|
ok 704 - row 175: --tester on limits set, reset and migrate and every write form outside W1-W7 exits 4 before any call
|
|
---
|
|
duration_ms: 67.807838
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 175: scripts/mosaic sends plugins, name, names, follow, threads and thread to packages/cli, not the seat CLI
|
|
ok 705 - row 175: scripts/mosaic sends plugins, name, names, follow, threads and thread to packages/cli, not the seat CLI
|
|
---
|
|
duration_ms: 1022.876704
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 175 W7: project init --tester makes the repository under the project area, committed by tester
|
|
ok 706 - row 175 W7: project init --tester makes the repository under the project area, committed by tester
|
|
---
|
|
duration_ms: 803.421187
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 175 W7: a repo outside the project area refuses tester-project-area before any bus call, and nothing changes
|
|
ok 707 - row 175 W7: a repo outside the project area refuses tester-project-area before any bus call, and nothing changes
|
|
---
|
|
duration_ms: 317.913757
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 175 W7: the tester bind refuses tester-off and tester-required before any directory
|
|
ok 708 - row 175 W7: the tester bind refuses tester-off and tester-required before any directory
|
|
---
|
|
duration_ms: 1942.817483
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 184: with --tester, thread create, threads, open, talk --thread and read run on the tester's own thread
|
|
ok 709 - row 184: with --tester, thread create, threads, open, talk --thread and read run on the tester's own thread
|
|
---
|
|
duration_ms: 86.034861
|
|
type: 'test'
|
|
...
|
|
# organization: {"event":"reload-needs-restart","business":"acme"}
|
|
# Subtest: row 184: talk --thread --follow and follow --thread with --tester print and read only that thread's messages, from message.receive
|
|
ok 710 - row 184: talk --thread --follow and follow --thread with --tester print and read only that thread's messages, from message.receive
|
|
---
|
|
duration_ms: 163.733811
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 184: with --tester a human thread refuses with the bus's code, and nothing is written
|
|
ok 711 - row 184: with --tester a human thread refuses with the bus's code, and nothing is written
|
|
---
|
|
duration_ms: 110.149209
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 184: without --tester the thread verbs stay the human's and never call the tester transport
|
|
ok 712 - row 184: without --tester the thread verbs stay the human's and never call the tester transport
|
|
---
|
|
duration_ms: 60.544244
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 184: scripts/mosaic runs thread create, threads, talk --thread and thread read as the tester through tester-cli.mjs
|
|
ok 713 - row 184: scripts/mosaic runs thread create, threads, talk --thread and thread read as the tester through tester-cli.mjs
|
|
---
|
|
duration_ms: 4207.872577
|
|
type: 'test'
|
|
...
|
|
# Subtest: talk --tester sends a message as tester from inside an agent and prints the role's reply
|
|
ok 714 - talk --tester sends a message as tester from inside an agent and prints the role's reply
|
|
---
|
|
duration_ms: 63.559922
|
|
type: 'test'
|
|
...
|
|
# Subtest: talk --tester sends text with no prefix, and follow --tester reads
|
|
ok 715 - talk --tester sends text with no prefix, and follow --tester reads
|
|
---
|
|
duration_ms: 36.133015
|
|
type: 'test'
|
|
...
|
|
# Subtest: the read verbs take --tester inside an agent, and the trail shows the tester as the sender
|
|
ok 716 - the read verbs take --tester inside an agent, and the trail shows the tester as the sender
|
|
---
|
|
duration_ms: 40.854961
|
|
type: 'test'
|
|
...
|
|
# Subtest: decide, stop and launches take no --tester
|
|
ok 717 - decide, stop and launches take no --tester
|
|
---
|
|
duration_ms: 30.188955
|
|
type: 'test'
|
|
...
|
|
# Subtest: the tester transport runs tester-cli.mjs, and the tester's refusals exit 3
|
|
ok 718 - the tester transport runs tester-cli.mjs, and the tester's refusals exit 3
|
|
---
|
|
duration_ms: 0.636014
|
|
type: 'test'
|
|
...
|
|
# Subtest: with no stand-in transport, --tester runs tester-cli.mjs on the data root's socket
|
|
ok 719 - with no stand-in transport, --tester runs tester-cli.mjs on the data root's socket
|
|
---
|
|
duration_ms: 1.04436
|
|
type: 'test'
|
|
...
|
|
# Subtest: agents --tester makes one call; the human's agents also reads thread.claims, and --json is the agents array
|
|
ok 720 - agents --tester makes one call; the human's agents also reads thread.claims, and --json is the agents array
|
|
---
|
|
duration_ms: 33.864657
|
|
type: 'test'
|
|
...
|
|
# Subtest: a refused thread.claims still prints the role rows and the refusal's code
|
|
ok 721 - a refused thread.claims still prints the role rows and the refusal's code
|
|
---
|
|
duration_ms: 30.952317
|
|
type: 'test'
|
|
...
|
|
# Subtest: a thread.claims error without a bus code still throws and prints nothing
|
|
ok 722 - a thread.claims error without a bus code still throws and prints nothing
|
|
---
|
|
duration_ms: 29.659681
|
|
type: 'test'
|
|
...
|
|
# Subtest: talk --tester to a stopped role exits 3, prints no sent line and stores nothing
|
|
ok 723 - talk --tester to a stopped role exits 3, prints no sent line and stores nothing
|
|
---
|
|
duration_ms: 30.286881
|
|
type: 'test'
|
|
...
|
|
# Subtest: only a --tester send refused tester-target-not-running is rewritten
|
|
ok 724 - only a --tester send refused tester-target-not-running is rewritten
|
|
---
|
|
duration_ms: 27.044234
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-CLI-1 project create and list work on the bus record and refuse what the broker refuses
|
|
ok 725 - REQ-CLI-1 project create and list work on the bus record and refuse what the broker refuses
|
|
---
|
|
duration_ms: 56.87335
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-CLI-1 thread create, list, open and read
|
|
ok 726 - REQ-CLI-1 thread create, list, open and read
|
|
---
|
|
duration_ms: 116.674309
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-CLI-1 thread read pages through every message, oldest first
|
|
ok 727 - REQ-CLI-1 thread read pages through every message, oldest first
|
|
---
|
|
duration_ms: 696.500022
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-CLI-1 the business needs exactly one threaded instance to create a thread
|
|
ok 728 - REQ-CLI-1 the business needs exactly one threaded instance to create a thread
|
|
---
|
|
duration_ms: 84.500885
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-CLI-1 a thread is its id, an id prefix of 8 characters or more, or <project>/<name>; anything else is refused before any write
|
|
ok 729 - REQ-CLI-1 a thread is its id, an id prefix of 8 characters or more, or <project>/<name>; anything else is refused before any write
|
|
---
|
|
duration_ms: 123.283448
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-CLI-2 REQ-THREAD-2 talk --thread sends to the thread and prints only the reply to it; the rest stays unread
|
|
ok 730 - REQ-CLI-2 REQ-THREAD-2 talk --thread sends to the thread and prints only the reply to it; the rest stays unread
|
|
---
|
|
duration_ms: 70.973378
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-CLI-2 talk --thread --wait gives up with exit 1 and leaves the thread's messages unread
|
|
ok 731 - REQ-CLI-2 talk --thread --wait gives up with exit 1 and leaves the thread's messages unread
|
|
---
|
|
duration_ms: 1070.962172
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-CLI-2 talk --thread --follow and follow --thread print and read only that thread's messages
|
|
ok 732 - REQ-CLI-2 talk --thread --follow and follow --thread print and read only that thread's messages
|
|
---
|
|
duration_ms: 140.118089
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-CLI-2 plain talk to the assistant asks for a thread and exits 2 without a write
|
|
ok 733 - REQ-CLI-2 plain talk to the assistant asks for a thread and exits 2 without a write
|
|
---
|
|
duration_ms: 41.316796
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-USER-2 a thread of another user is refused for talk, open, read and follow, and nothing is written
|
|
ok 734 - REQ-USER-2 a thread of another user is refused for talk, open, read and follow, and nothing is written
|
|
---
|
|
duration_ms: 91.969838
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-CLI-1 the new verbs refuse inside an agent run, as every human verb does
|
|
ok 735 - REQ-CLI-1 the new verbs refuse inside an agent run, as every human verb does
|
|
---
|
|
duration_ms: 25.970955
|
|
type: 'test'
|
|
...
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r807fe444af16","instance":"assistant","turn":"224aa680-85ad-47ec-91f0-d7ecc5a0e597","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r9726da90f9a7","instance":"assistant","turn":"8343d925-34b3-42fc-a825-8f8b15f6abcf","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r3ed6f1fa3b03","instance":"assistant","turn":"ab6457f4-0ae8-418c-85c7-574fbcf5167d","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r13cf535d1f1d","instance":"assistant","turn":"fbc86f08-56bb-48f9-867a-90e421c16303","source":"@none","code":"baseline-unknown"}
|
|
# Subtest: REQ-THREAD-2 REQ-LAUNCH-1 REQ-MSG-1 a thread message starts the thread's session, which stops when idle; its history survives the stop and a restart and no other thread sees it
|
|
ok 736 - REQ-THREAD-2 REQ-LAUNCH-1 REQ-MSG-1 a thread message starts the thread's session, which stops when idle; its history survives the stop and a restart and no other thread sees it
|
|
---
|
|
duration_ms: 6850.265459
|
|
type: 'test'
|
|
...
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"rf11012ffc875","instance":"assistant","turn":"9b93fe70-cafd-4015-b0cc-187d44c300ce","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"rd91b16936b49","instance":"assistant","turn":"e2a1bb4a-e99d-4642-9f50-559c2ccbacde","source":"@none","code":"baseline-unknown"}
|
|
# Subtest: REQ-THREAD-2 REQ-LAUNCH-1 a running thread counts against its model's limit and an idle-stopped one doesn't
|
|
ok 737 - REQ-THREAD-2 REQ-LAUNCH-1 a running thread counts against its model's limit and an idle-stopped one doesn't
|
|
---
|
|
duration_ms: 1905.185923
|
|
type: 'test'
|
|
...
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r421a5c657f17","instance":"assistant","turn":"3af6bf16-6794-4e40-928e-6899f6a11141","source":"@none","code":"baseline-unknown"}
|
|
# Subtest: REQ-THREAD-2 REQ-LAUNCH-1 a turn longer than the idle time isn't stopped, and the thread idles out after it
|
|
ok 738 - REQ-THREAD-2 REQ-LAUNCH-1 a turn longer than the idle time isn't stopped, and the thread idles out after it
|
|
---
|
|
duration_ms: 4534.843618
|
|
type: 'test'
|
|
...
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r9872fa6504ef","instance":"assistant","turn":"df55db6a-090b-4d8a-9398-595170e15a7b","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r9872fa6504ef","instance":"assistant","turn":"da660de8-d022-4b73-946e-df5766732276","source":"@none","code":"baseline-unknown"}
|
|
# Subtest: REQ-THREAD-2 REQ-LAUNCH-1 a message sent after the idle snapshot keeps the session, which answers it
|
|
ok 739 - REQ-THREAD-2 REQ-LAUNCH-1 a message sent after the idle snapshot keeps the session, which answers it
|
|
---
|
|
duration_ms: 2892.114097
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-ROLE-2 REQ-LAUNCH-1 a thread held by a run the launcher didn't start gets no second session
|
|
ok 740 - REQ-ROLE-2 REQ-LAUNCH-1 a thread held by a run the launcher didn't start gets no second session
|
|
---
|
|
duration_ms: 97.939639
|
|
type: 'test'
|
|
...
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"rb507b1379374","instance":"assistant","turn":"7539990f-4382-4d37-aec7-78dc19aa15e4","source":"@none","code":"baseline-unknown"}
|
|
# Subtest: REQ-LAUNCH-1 a thread run's session file has no landing, even when landHolders names its instance
|
|
ok 741 - REQ-LAUNCH-1 a thread run's session file has no landing, even when landHolders names its instance
|
|
---
|
|
duration_ms: 424.358113
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-LAUNCH-1 a run that ends without taking its thread's message isn't started again for that message
|
|
ok 742 - REQ-LAUNCH-1 a run that ends without taking its thread's message isn't started again for that message
|
|
---
|
|
duration_ms: 285.229673
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-THREAD-2 REQ-LAUNCH-1 a thread id that isn't a safe segment, or a thread of a non-thread instance, launches nothing
|
|
ok 743 - REQ-THREAD-2 REQ-LAUNCH-1 a thread id that isn't a safe segment, or a thread of a non-thread instance, launches nothing
|
|
---
|
|
duration_ms: 247.039043
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-THREAD-1 REQ-LAUNCH-1 the chief can't launch the assistant outside a thread
|
|
ok 744 - REQ-THREAD-1 REQ-LAUNCH-1 the chief can't launch the assistant outside a thread
|
|
---
|
|
duration_ms: 114.154778
|
|
type: 'test'
|
|
...
|
|
# limits: {"event":"limit-reached","business":"acme","check":"token-limit","export":"mayLaunch","subject":{"instance":"assistant","provider":"zai","model":"claude-sonnet-5-5","account":null},"path":["tokens","instances","assistant"],"limit":0,"count":0,"unknownTurns":0}
|
|
# limits: {"event":"limit-reached","business":"acme","check":"token-limit","export":"mayLaunch","subject":{"instance":"assistant","provider":"zai","model":"claude-sonnet-5-5","account":null},"path":["tokens","instances","assistant"],"limit":0,"count":0,"unknownTurns":0}
|
|
# Subtest: REQ-LIMIT-3 REQ-LIMIT-4 a thread start whose instance is at its token limit is refused, logged once with the limit and the count
|
|
ok 745 - REQ-LIMIT-3 REQ-LIMIT-4 a thread start whose instance is at its token limit is refused, logged once with the limit and the count
|
|
---
|
|
duration_ms: 230.956471
|
|
type: 'test'
|
|
...
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"red04df7edd78","instance":"assistant","turn":"cb893a3e-3e75-46a8-be68-eebcb4d98078","source":"@none","code":"baseline-unknown"}
|
|
# limits: {"event":"limit-reached","business":"acme","check":"token-limit","export":"mustStop","subject":{"instance":"assistant","provider":"zai","model":"claude-sonnet-5-5","account":null},"path":["tokens","instances","assistant"],"limit":0,"count":0,"unknownTurns":1}
|
|
# Subtest: REQ-LIMIT-4 a thread run at its token limit stops at the end of its turn: the reply lands, and the end record names the limit
|
|
ok 746 - REQ-LIMIT-4 a thread run at its token limit stops at the end of its turn: the reply lands, and the end record names the limit
|
|
---
|
|
duration_ms: 441.354647
|
|
type: 'test'
|
|
...
|
|
# Subtest: C2-04: a library-only business with tracker.baseUrl boots without a project tracker
|
|
ok 747 - C2-04: a library-only business with tracker.baseUrl boots without a project tracker
|
|
---
|
|
duration_ms: 455.130807
|
|
type: 'test'
|
|
...
|
|
# task.close {} answered: invalid-request; fake saw 18 requests, first GET /info 200, GET /projects/1 200, GET /projects/1/views 200
|
|
# task.close on a missing task answered: task-not-found; it made GET /tasks/999 404
|
|
# Subtest: bootConfig trackers reach the S3 adapter in the real broker child, which goes ready against a fake Vikunja
|
|
ok 748 - bootConfig trackers reach the S3 adapter in the real broker child, which goes ready against a fake Vikunja
|
|
---
|
|
duration_ms: 594.861149
|
|
type: 'test'
|
|
...
|
|
# Subtest: the transport writes {business, verb, args} to the child and reads its JSON
|
|
ok 749 - the transport writes {business, verb, args} to the child and reads its JSON
|
|
---
|
|
duration_ms: 49.069653
|
|
type: 'test'
|
|
...
|
|
# Subtest: a bus code on stderr becomes the exit code; garbage and timeouts are outcome problems
|
|
ok 750 - a bus code on stderr becomes the exit code; garbage and timeouts are outcome problems
|
|
---
|
|
duration_ms: 2236.594527
|
|
type: 'test'
|
|
...
|
|
# Subtest: busExit and refuseInsideAgent
|
|
ok 751 - busExit and refuseInsideAgent
|
|
---
|
|
duration_ms: 0.695089
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-LIMIT-4 mosaic usage shows each token kind and unknown turns beside every total
|
|
ok 752 - REQ-LIMIT-4 mosaic usage shows each token kind and unknown turns beside every total
|
|
---
|
|
duration_ms: 99.917792
|
|
type: 'test'
|
|
...
|
|
# Subtest: usage is dispatched by scripts/mosaic and the shared read adapter
|
|
ok 753 - usage is dispatched by scripts/mosaic and the shared read adapter
|
|
---
|
|
duration_ms: 170.377689
|
|
type: 'test'
|
|
...
|
|
# Subtest: talk sends a REQUEST, prints and reads only the reply to it, and leaves other messages unread
|
|
ok 754 - talk sends a REQUEST, prints and reads only the reply to it, and leaves other messages unread
|
|
---
|
|
duration_ms: 71.056192
|
|
type: 'test'
|
|
...
|
|
# Subtest: talk --wait 0 only sends; no reply within --wait exits 1 and says where it will show
|
|
ok 755 - talk --wait 0 only sends; no reply within --wait exits 1 and says where it will show
|
|
---
|
|
duration_ms: 1039.221337
|
|
type: 'test'
|
|
...
|
|
# Subtest: a late reply the Console has listed stays unread for mosaic inbox, and the next talk skips it
|
|
ok 756 - a late reply the Console has listed stays unread for mosaic inbox, and the next talk skips it
|
|
---
|
|
duration_ms: 2051.359238
|
|
type: 'test'
|
|
...
|
|
# Subtest: talk says when the role isn't running, whether launch.by was told, and how to start launch.by
|
|
ok 757 - talk says when the role isn't running, whether launch.by was told, and how to start launch.by
|
|
---
|
|
duration_ms: 51.683551
|
|
type: 'test'
|
|
...
|
|
# Subtest: talk to a role launch.by can't launch says it isn't in the launch block
|
|
ok 758 - talk to a role launch.by can't launch says it isn't in the launch block
|
|
---
|
|
duration_ms: 25.526138
|
|
type: 'test'
|
|
...
|
|
# Subtest: talk to a stopped role prints the waiting line once, skips a non-reply and prints the reply
|
|
ok 759 - talk to a stopped role prints the waiting line once, skips a non-reply and prints the reply
|
|
---
|
|
duration_ms: 62.218126
|
|
type: 'test'
|
|
...
|
|
# Subtest: talk, stop and launches off/on refuse inside an agent run; bad arguments are usage errors
|
|
ok 760 - talk, stop and launches off/on refuse inside an agent run; bad arguments are usage errors
|
|
---
|
|
duration_ms: 28.266879
|
|
type: 'test'
|
|
...
|
|
# Subtest: launches off and on go to the broker and change the business's launch state
|
|
ok 761 - launches off and on go to the broker and change the business's launch state
|
|
---
|
|
duration_ms: 39.939869
|
|
type: 'test'
|
|
...
|
|
# Subtest: launches list reads sessions.json and marks a stale entry; stop reports it and refuses a non-runner
|
|
ok 762 - launches list reads sessions.json and marks a stale entry; stop reports it and refuses a non-runner
|
|
---
|
|
duration_ms: 28.983341
|
|
type: 'test'
|
|
...
|
|
1..762
|
|
# tests 917
|
|
# suites 0
|
|
# pass 917
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 631776.03348
|
|
END {"label": "cli-whole", "argv": ["timeout", "-k", "10", "5400", "node", "--test", "--test-reporter=tap", "packages/cli/tests/access-boot.test.mjs", "packages/cli/tests/access.test.mjs", "packages/cli/tests/app.test.mjs", "packages/cli/tests/boot-status.test.mjs", "packages/cli/tests/case1-accept.test.mjs", "packages/cli/tests/case1-hostcheck.test.mjs", "packages/cli/tests/case2-persona-import.test.mjs", "packages/cli/tests/case2-unit.test.mjs", "packages/cli/tests/channel-cli.test.mjs", "packages/cli/tests/channel-recovery.test.mjs", "packages/cli/tests/cli.test.mjs", "packages/cli/tests/compactions-launch.test.mjs", "packages/cli/tests/config.test.mjs", "packages/cli/tests/credentials.test.mjs", "packages/cli/tests/follow.test.mjs", "packages/cli/tests/format.test.mjs", "packages/cli/tests/gate-lane-auth.test.mjs", "packages/cli/tests/gate-lane-fixtures.test.mjs", "packages/cli/tests/gate-lane-image.test.mjs", "packages/cli/tests/gate-lane-state.test.mjs", "packages/cli/tests/gate-lane.test.mjs", "packages/cli/tests/git-socket.test.mjs", "packages/cli/tests/grants.test.mjs", "packages/cli/tests/host.test.mjs", "packages/cli/tests/hosts.test.mjs", "packages/cli/tests/instances.test.mjs", "packages/cli/tests/launch-account.test.mjs", "packages/cli/tests/launch-limit-checks.test.mjs", "packages/cli/tests/launch-limits.test.mjs", "packages/cli/tests/launch-routes.test.mjs", "packages/cli/tests/launcher.test.mjs", "packages/cli/tests/lifecycle.test.mjs", "packages/cli/tests/limits-tokens.test.mjs", "packages/cli/tests/limits.test.mjs", "packages/cli/tests/mark-read.test.mjs", "packages/cli/tests/names.test.mjs", "packages/cli/tests/notifier.test.mjs", "packages/cli/tests/other-tree.test.mjs", "packages/cli/tests/processing-cli.test.mjs", "packages/cli/tests/project-name-repo.test.mjs", "packages/cli/tests/project.test.mjs", "packages/cli/tests/publish-socket.test.mjs", "packages/cli/tests/session-clear.test.mjs", "packages/cli/tests/session-launch.test.mjs", "packages/cli/tests/stack-copy.test.mjs", "packages/cli/tests/stack-instances.test.mjs", "packages/cli/tests/stack-release-external.test.mjs", "packages/cli/tests/stack-release.test.mjs", "packages/cli/tests/stack-upgrade.test.mjs", "packages/cli/tests/tester-http.test.mjs", "packages/cli/tests/tester-reads.test.mjs", "packages/cli/tests/tester-threads.test.mjs", "packages/cli/tests/tester.test.mjs", "packages/cli/tests/thread-cli.test.mjs", "packages/cli/tests/thread-launch.test.mjs", "packages/cli/tests/trackers-boot.test.mjs", "packages/cli/tests/transport.test.mjs", "packages/cli/tests/usage.test.mjs", "packages/cli/tests/verbs.test.mjs"], "limit_seconds": 5400, "tmpdir": "/mnt/storage/scratch/tmp/gebsaIr", "started_utc": "2026-10-23T07:38:55Z", "start_load": "1.91 2.18 2.19 1/6404 656161", "log": "/mnt/storage/scratch/tmp/gABO62Q/records/cli-whole.log", "expected_red": false, "rc": 0, "wall_seconds": 631.848, "finished_utc": "2026-10-23T07:49:27Z", "end_load": "1.55 2.53 2.69 1/5811 1150227", "counts": {"tests": 917, "pass": 917, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "metrics": [{"fault": "inner", "mode": "exec", "baselineSeconds": 2.0945929310000064, "faultSeconds": 4.18209504700001, "probeSeconds": 2.27}, {"fault": "inner", "mode": "hop", "baselineSeconds": 1.9464092949999903, "faultSeconds": 4.171354483000003, "probeSeconds": 2.27}, {"fault": "outer", "mode": "exec", "baselineSeconds": 1.9332695270000113, "faultSeconds": 5.785670190999998, "probeSeconds": 4.01}, {"fault": "outer", "mode": "hop", "baselineSeconds": 1.8855918230000097, "faultSeconds": 5.739914212000003, "probeSeconds": 4.01}], "skip_lines": [], "external_timeout": false}
|
|
START {"label": "M1-syntax", "argv": ["timeout", "-k", "10", "120", "bash", "-n", "scripts/case1-accept.sh"], "limit_seconds": 120, "tmpdir": "/mnt/storage/scratch/tmp/gh8s2Og", "started_utc": "2026-10-23T07:49:28Z", "start_load": "1.51 2.50 2.68 3/5810 1153451", "log": "/mnt/storage/scratch/tmp/gABO62Q/records/M1-syntax.log", "expected_red": false}
|
|
END {"label": "M1-syntax", "argv": ["timeout", "-k", "10", "120", "bash", "-n", "scripts/case1-accept.sh"], "limit_seconds": 120, "tmpdir": "/mnt/storage/scratch/tmp/gh8s2Og", "started_utc": "2026-10-23T07:49:28Z", "start_load": "1.51 2.50 2.68 3/5810 1153451", "log": "/mnt/storage/scratch/tmp/gABO62Q/records/M1-syntax.log", "expected_red": false, "rc": 0, "wall_seconds": 0.008, "finished_utc": "2026-10-23T07:49:28Z", "end_load": "1.51 2.50 2.68 1/5810 1153455", "counts": {}, "metrics": [], "skip_lines": [], "external_timeout": false}
|
|
START {"label": "M1", "argv": ["timeout", "-k", "10", "1200", "node", "--test", "--test-reporter=tap", "--test-name-pattern", "^row253 C4 P10 inner reason holds under both sudo models$", "packages/cli/tests/case1-accept.test.mjs"], "limit_seconds": 1200, "tmpdir": "/mnt/storage/scratch/tmp/gxjj9Vd", "started_utc": "2026-10-23T07:49:30Z", "start_load": "1.51 2.50 2.68 1/5816 1156782", "log": "/mnt/storage/scratch/tmp/gABO62Q/records/M1.log", "expected_red": true}
|
|
TAP version 13
|
|
# Subtest: row253 C4 P10 inner reason holds under both sudo models
|
|
not ok 1 - row253 C4 P10 inner reason holds under both sudo models
|
|
---
|
|
duration_ms: 4641.831075
|
|
type: 'test'
|
|
location: '/home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/packages/cli/tests/case1-accept.test.mjs:421:49'
|
|
failureType: 'testCodeFailure'
|
|
error: 'exec: direct probe 1.23s; baseline 1.764558389s is diagnostic only'
|
|
code: 'ERR_ASSERTION'
|
|
name: 'AssertionError'
|
|
expected: true
|
|
actual: false
|
|
operator: '=='
|
|
stack: |-
|
|
TestContext.<anonymous> (file:///home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/packages/cli/tests/case1-accept.test.mjs:450:29)
|
|
async Test.run (node:internal/test_runner/test:1409:7)
|
|
async startSubtestAfterBootstrap (node:internal/test_runner/harness:387:3)
|
|
...
|
|
# {"fault":"inner","mode":"exec","baselineSeconds":1.764558389,"faultSeconds":2.8568522200000004,"probeSeconds":1.23}
|
|
1..1
|
|
# tests 1
|
|
# suites 0
|
|
# pass 0
|
|
# fail 1
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 4737.590412
|
|
END {"label": "M1", "argv": ["timeout", "-k", "10", "1200", "node", "--test", "--test-reporter=tap", "--test-name-pattern", "^row253 C4 P10 inner reason holds under both sudo models$", "packages/cli/tests/case1-accept.test.mjs"], "limit_seconds": 1200, "tmpdir": "/mnt/storage/scratch/tmp/gxjj9Vd", "started_utc": "2026-10-23T07:49:30Z", "start_load": "1.51 2.50 2.68 1/5816 1156782", "log": "/mnt/storage/scratch/tmp/gABO62Q/records/M1.log", "expected_red": true, "rc": 1, "wall_seconds": 4.774, "finished_utc": "2026-10-23T07:49:34Z", "end_load": "1.47 2.48 2.67 2/5828 1159225", "counts": {"tests": 1, "pass": 0, "fail": 1, "cancelled": 0, "skipped": 0, "todo": 0}, "metrics": [{"fault": "inner", "mode": "exec", "baselineSeconds": 1.764558389, "faultSeconds": 2.8568522200000004, "probeSeconds": 1.23}], "skip_lines": [], "external_timeout": false}
|
|
START {"label": "M2-syntax", "argv": ["timeout", "-k", "10", "120", "bash", "-n", "scripts/case1-accept.sh"], "limit_seconds": 120, "tmpdir": "/mnt/storage/scratch/tmp/gZ30EQX", "started_utc": "2026-10-23T07:49:36Z", "start_load": "1.47 2.48 2.67 1/5822 1162481", "log": "/mnt/storage/scratch/tmp/gABO62Q/records/M2-syntax.log", "expected_red": false}
|
|
END {"label": "M2-syntax", "argv": ["timeout", "-k", "10", "120", "bash", "-n", "scripts/case1-accept.sh"], "limit_seconds": 120, "tmpdir": "/mnt/storage/scratch/tmp/gZ30EQX", "started_utc": "2026-10-23T07:49:36Z", "start_load": "1.47 2.48 2.67 1/5822 1162481", "log": "/mnt/storage/scratch/tmp/gABO62Q/records/M2-syntax.log", "expected_red": false, "rc": 0, "wall_seconds": 0.008, "finished_utc": "2026-10-23T07:49:36Z", "end_load": "1.47 2.48 2.67 1/5822 1162485", "counts": {}, "metrics": [], "skip_lines": [], "external_timeout": false}
|
|
START {"label": "M2", "argv": ["timeout", "-k", "10", "1200", "node", "--test", "--test-reporter=tap", "--test-name-pattern", "^row253 C4 P10 inner reason holds under both sudo models$", "packages/cli/tests/case1-accept.test.mjs"], "limit_seconds": 1200, "tmpdir": "/mnt/storage/scratch/tmp/gYr4G6o", "started_utc": "2026-10-23T07:49:37Z", "start_load": "1.47 2.48 2.67 1/5823 1165689", "log": "/mnt/storage/scratch/tmp/gABO62Q/records/M2.log", "expected_red": true}
|
|
TAP version 13
|
|
# Subtest: row253 C4 P10 inner reason holds under both sudo models
|
|
not ok 1 - row253 C4 P10 inner reason holds under both sudo models
|
|
---
|
|
duration_ms: 6624.625527
|
|
type: 'test'
|
|
location: '/home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/packages/cli/tests/case1-accept.test.mjs:421:49'
|
|
failureType: 'testCodeFailure'
|
|
error: 'exec: direct probe 3.24s; baseline 1.754618234s is diagnostic only'
|
|
code: 'ERR_ASSERTION'
|
|
name: 'AssertionError'
|
|
expected: true
|
|
actual: false
|
|
operator: '=='
|
|
stack: |-
|
|
TestContext.<anonymous> (file:///home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/packages/cli/tests/case1-accept.test.mjs:450:29)
|
|
async Test.run (node:internal/test_runner/test:1409:7)
|
|
async startSubtestAfterBootstrap (node:internal/test_runner/harness:387:3)
|
|
...
|
|
# {"fault":"inner","mode":"exec","baselineSeconds":1.754618234,"faultSeconds":4.849417662,"probeSeconds":3.24}
|
|
1..1
|
|
# tests 1
|
|
# suites 0
|
|
# pass 0
|
|
# fail 1
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 6718.852297
|
|
END {"label": "M2", "argv": ["timeout", "-k", "10", "1200", "node", "--test", "--test-reporter=tap", "--test-name-pattern", "^row253 C4 P10 inner reason holds under both sudo models$", "packages/cli/tests/case1-accept.test.mjs"], "limit_seconds": 1200, "tmpdir": "/mnt/storage/scratch/tmp/gYr4G6o", "started_utc": "2026-10-23T07:49:37Z", "start_load": "1.47 2.48 2.67 1/5823 1165689", "log": "/mnt/storage/scratch/tmp/gABO62Q/records/M2.log", "expected_red": true, "rc": 1, "wall_seconds": 6.768, "finished_utc": "2026-10-23T07:49:44Z", "end_load": "1.40 2.43 2.66 5/5879 1169357", "counts": {"tests": 1, "pass": 0, "fail": 1, "cancelled": 0, "skipped": 0, "todo": 0}, "metrics": [{"fault": "inner", "mode": "exec", "baselineSeconds": 1.754618234, "faultSeconds": 4.849417662, "probeSeconds": 3.24}], "skip_lines": [], "external_timeout": false}
|
|
START {"label": "M3-syntax", "argv": ["timeout", "-k", "10", "120", "bash", "-n", "scripts/case1-accept.sh"], "limit_seconds": 120, "tmpdir": "/mnt/storage/scratch/tmp/gwCkjzX", "started_utc": "2026-10-23T07:49:45Z", "start_load": "1.40 2.43 2.66 2/5844 1172866", "log": "/mnt/storage/scratch/tmp/gABO62Q/records/M3-syntax.log", "expected_red": false}
|
|
END {"label": "M3-syntax", "argv": ["timeout", "-k", "10", "120", "bash", "-n", "scripts/case1-accept.sh"], "limit_seconds": 120, "tmpdir": "/mnt/storage/scratch/tmp/gwCkjzX", "started_utc": "2026-10-23T07:49:45Z", "start_load": "1.40 2.43 2.66 2/5844 1172866", "log": "/mnt/storage/scratch/tmp/gABO62Q/records/M3-syntax.log", "expected_red": false, "rc": 0, "wall_seconds": 0.008, "finished_utc": "2026-10-23T07:49:45Z", "end_load": "1.40 2.43 2.66 2/5844 1172870", "counts": {}, "metrics": [], "skip_lines": [], "external_timeout": false}
|
|
START {"label": "M3", "argv": ["timeout", "-k", "10", "1200", "node", "--test", "--test-reporter=tap", "--test-name-pattern", "^row253 C4 P10 outer reason holds under both sudo models$", "packages/cli/tests/case1-accept.test.mjs"], "limit_seconds": 1200, "tmpdir": "/mnt/storage/scratch/tmp/g6TrU8V", "started_utc": "2026-10-23T07:49:46Z", "start_load": "1.40 2.43 2.66 2/5868 1176268", "log": "/mnt/storage/scratch/tmp/gABO62Q/records/M3.log", "expected_red": true}
|
|
TAP version 13
|
|
# Subtest: row253 C4 P10 outer reason holds under both sudo models
|
|
not ok 1 - row253 C4 P10 outer reason holds under both sudo models
|
|
---
|
|
duration_ms: 6474.774742
|
|
type: 'test'
|
|
location: '/home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/packages/cli/tests/case1-accept.test.mjs:421:49'
|
|
failureType: 'testCodeFailure'
|
|
error: 'exec: direct probe 3.01s; baseline 1.7982556909999998s is diagnostic only'
|
|
code: 'ERR_ASSERTION'
|
|
name: 'AssertionError'
|
|
expected: true
|
|
actual: false
|
|
operator: '=='
|
|
stack: |-
|
|
TestContext.<anonymous> (file:///home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/packages/cli/tests/case1-accept.test.mjs:452:11)
|
|
async Test.run (node:internal/test_runner/test:1409:7)
|
|
async startSubtestAfterBootstrap (node:internal/test_runner/harness:387:3)
|
|
...
|
|
# {"fault":"outer","mode":"exec","baselineSeconds":1.7982556909999998,"faultSeconds":4.664919980999999,"probeSeconds":3.01}
|
|
1..1
|
|
# tests 1
|
|
# suites 0
|
|
# pass 0
|
|
# fail 1
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 6573.218398
|
|
END {"label": "M3", "argv": ["timeout", "-k", "10", "1200", "node", "--test", "--test-reporter=tap", "--test-name-pattern", "^row253 C4 P10 outer reason holds under both sudo models$", "packages/cli/tests/case1-accept.test.mjs"], "limit_seconds": 1200, "tmpdir": "/mnt/storage/scratch/tmp/g6TrU8V", "started_utc": "2026-10-23T07:49:46Z", "start_load": "1.40 2.43 2.66 2/5868 1176268", "log": "/mnt/storage/scratch/tmp/gABO62Q/records/M3.log", "expected_red": true, "rc": 1, "wall_seconds": 6.618, "finished_utc": "2026-10-23T07:49:53Z", "end_load": "1.41 2.40 2.64 2/5827 1179333", "counts": {"tests": 1, "pass": 0, "fail": 1, "cancelled": 0, "skipped": 0, "todo": 0}, "metrics": [{"fault": "outer", "mode": "exec", "baselineSeconds": 1.7982556909999998, "faultSeconds": 4.664919980999999, "probeSeconds": 3.01}], "skip_lines": [], "external_timeout": false}
|
|
START {"label": "M4-syntax", "argv": ["timeout", "-k", "10", "120", "bash", "-n", "scripts/case1-accept.sh"], "limit_seconds": 120, "tmpdir": "/mnt/storage/scratch/tmp/gRPd59t", "started_utc": "2026-10-23T07:49:54Z", "start_load": "1.41 2.40 2.64 3/5836 1182894", "log": "/mnt/storage/scratch/tmp/gABO62Q/records/M4-syntax.log", "expected_red": false}
|
|
END {"label": "M4-syntax", "argv": ["timeout", "-k", "10", "120", "bash", "-n", "scripts/case1-accept.sh"], "limit_seconds": 120, "tmpdir": "/mnt/storage/scratch/tmp/gRPd59t", "started_utc": "2026-10-23T07:49:54Z", "start_load": "1.41 2.40 2.64 3/5836 1182894", "log": "/mnt/storage/scratch/tmp/gABO62Q/records/M4-syntax.log", "expected_red": false, "rc": 0, "wall_seconds": 0.008, "finished_utc": "2026-10-23T07:49:54Z", "end_load": "1.41 2.40 2.64 3/5840 1182903", "counts": {}, "metrics": [], "skip_lines": [], "external_timeout": false}
|
|
START {"label": "M4", "argv": ["timeout", "-k", "10", "1200", "node", "--test", "--test-reporter=tap", "--test-name-pattern", "^row253 C4 P10 outer reason holds under both sudo models$", "packages/cli/tests/case1-accept.test.mjs"], "limit_seconds": 1200, "tmpdir": "/mnt/storage/scratch/tmp/gAKhO44", "started_utc": "2026-10-23T07:49:56Z", "start_load": "1.41 2.40 2.64 8/5839 1186447", "log": "/mnt/storage/scratch/tmp/gABO62Q/records/M4.log", "expected_red": true}
|
|
TAP version 13
|
|
# Subtest: row253 C4 P10 outer reason holds under both sudo models
|
|
not ok 1 - row253 C4 P10 outer reason holds under both sudo models
|
|
---
|
|
duration_ms: 8880.927284
|
|
type: 'test'
|
|
location: '/home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/packages/cli/tests/case1-accept.test.mjs:421:49'
|
|
failureType: 'testCodeFailure'
|
|
error: |-
|
|
The input did not match the regular expression /P10 tester-socket-squat unnamed boundary=failed reason=probe-outer-timeout /. Input:
|
|
|
|
'F1 units-user pass [email protected] and mosaic-webui.service are active as mosaic (uid 997)\n' +
|
|
'F2 console-loopback pass healthz answers, and 732 is bound to 127.0.0.1 only, by MainPID 200\n' +
|
|
'F3 tester-reply pass chief replied to case1-accept-e61888cb4c54\n' +
|
|
'F4 precheck pass case2-precheck.sh --profile factory exits 0\n' +
|
|
"F5 bwrap-label pass bwrap 300 reads 'bwrap (enforce)' and its claude descendant 302 reads 'bwrap//&unpriv_bwrap (enforce)'\n" +
|
|
"F6 claude-pin pass /opt/mosaic-stack/claude-2.1.0/node_modules/@anthropic-ai/claude-code/bin/claude.exe prints '2.1.0 (Claude Code)'\n" +
|
|
'F7 pm-live pass one live launch: pm run r-0002\n' +
|
|
"F8 credential-file pass /srv/mosaic/.config/mosaic-dev/secrets/claude-session.env is 'mosaic 600 regular file'\n" +
|
|
'F9 autoupdater-off pass /etc/claude-code/managed-settings.json is root:root 0644 with env.DISABLE_AUTOUPDATER "1"\n' +
|
|
'F10 node-pin pass /opt/mosaic-stack/node-v24.1.0/bin/node prints v24.1.0\n' +
|
|
'F11 no-discord pass /srv/mosaic/.mosaic-dev/discord is absent\n' +
|
|
'P1 mosaic-sudo closed sudo -l: User mosaic is not allowed to run sudo on dev-53.\n' +
|
|
"P2 mosaic-groups-keys closed id -G is '997'; authorized_keys is absent\n" +
|
|
'P3 localadmin-sudo accepted Q183 sudo -l -U localadmin lists 1 NOPASSWD lines\n' +
|
|
"P4 pve-root-pbs accepted Q182+Q183 root on pve over VM 1008, and PBS backups that hold /srv/mosaic with the credential; this script can't see pve\n" +
|
|
'P5 jarvis-reach closed jarvis is in none of sudo, docker and lxd (groups: jarvis)\n' +
|
|
'P6 group-members closed sudo holds only localadmin, and docker and lxd have no members\n' +
|
|
'P7 sudoers-d closed no file under /etc/sudoers.d names mosaic\n' +
|
|
'P8 lan-listeners closed 732 is on 127.0.0.1 only by MainPID 200; no TCP listener on 7331 or 7333; tester uses /srv/mosaic/.mosaic-dev/console/tester.sock\n' +
|
|
'P9 bwrap-userns accepted mos-1096 hostcheck items 1-6 ok, jarvis is denied bwrap, and group mosaic has no other member\n' +
|
|
'P10 tester-socket-squat unnamed boundary=failed reason=probe-inner-command path=/srv/mosaic/.mosaic-dev/console/tester.sock MainPID=200; hostile same-uid substitution remains\n' +
|
|
'P11 hostcheck-before-bus closed mosaic-hostcheck.service is enabled, and its Before= names [email protected]\n' +
|
|
'count pass 11\n' +
|
|
'count FAIL 0\n' +
|
|
'count closed 7\n' +
|
|
'count accepted Q182+Q183 1\n' +
|
|
'count accepted Q183 1\n' +
|
|
'count accepted mos-1096 1\n' +
|
|
'count unnamed 1\n' +
|
|
'case1-accept: every F check passes; send the whole output to Duckworth, and each unnamed line to Mos\n'
|
|
|
|
code: 'ERR_ASSERTION'
|
|
name: 'AssertionError'
|
|
expected:
|
|
actual: |-
|
|
F1 units-user pass [email protected] and mosaic-webui.service are active as mosaic (uid 997)
|
|
F2 console-loopback pass healthz answers, and 732 is bound to 127.0.0.1 only, by MainPID 200
|
|
F3 tester-reply pass chief replied to case1-accept-e61888cb4c54
|
|
F4 precheck pass case2-precheck.sh --profile factory exits 0
|
|
F5 bwrap-label pass bwrap 300 reads 'bwrap (enforce)' and its claude descendant 302 reads 'bwrap//&unpriv_bwrap (enforce)'
|
|
F6 claude-pin pass /opt/mosaic-stack/claude-2.1.0/node_modules/@anthropic-ai/claude-code/bin/claude.exe prints '2.1.0 (Claude Code)'
|
|
F7 pm-live pass one live launch: pm run r-0002
|
|
F8 credential-file pass /srv/mosaic/.config/mosaic-dev/secrets/claude-session.env is 'mosaic 600 regular file'
|
|
F9 autoupdater-off pass /etc/claude-code/managed-settings.json is root:root 0644 with env.DISABLE_AUTOUPDATER "1"
|
|
F10 node-pin pass /opt/mosaic-stack/node-v24.1.0/bin/node prints v24.1.0
|
|
F11 no-discord pass /srv/mosaic/.mosaic-dev/discord is absent
|
|
P1 mosaic-sudo closed sudo -l: User mosaic is not allowed to run sudo on dev-53.
|
|
P2 mosaic-groups-keys closed id -G is '997'; authorized_keys is absent
|
|
P3 localadmin-sudo accepted Q183 sudo -l -U localadmin lists 1 NOPASSWD lines
|
|
P4 pve-root-pbs accepted Q182+Q183 root on pve over VM 1008, and PBS backups that hold /srv/mosaic with the credential; this script can't see pve
|
|
P5 jarvis-reach closed jarvis is in none of sudo, docker and lxd (groups: jarvis)
|
|
P6 group-members closed sudo holds only localadmin, and docker and lxd have no members
|
|
P7 sudoers-d closed no file under /etc/sudoers.d names mosaic
|
|
P8 lan-listeners closed 732 is on 127.0.0.1 only by MainPID 200; no TCP listener on 7331 or 7333; tester uses /srv/mosaic/.mosaic-dev/console/tester.sock
|
|
P9 bwrap-userns accepted mos-1096 hostcheck items 1-6 ok, jarvis is denied bwrap, and group mosaic has no other member
|
|
P10 tester-socket-squat unnamed boundary=failed reason=probe-inner-command path=/srv/mosaic/.mosaic-dev/console/tester.sock MainPID=200; hostile same-uid substitution remains
|
|
P11 hostcheck-before-bus closed mosaic-hostcheck.service is enabled, and its Before= names [email protected]
|
|
count pass 11
|
|
count FAIL 0
|
|
count closed 7
|
|
count accepted Q182+Q183 1
|
|
count accepted Q183 1
|
|
count accepted mos-1096 1
|
|
count unnamed 1
|
|
case1-accept: every F check passes; send the whole output to Duckworth, and each unnamed line to Mos
|
|
|
|
operator: 'match'
|
|
stack: |-
|
|
TestContext.<anonymous> (file:///home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/packages/cli/tests/case1-accept.test.mjs:445:10)
|
|
async Test.run (node:internal/test_runner/test:1409:7)
|
|
async startSubtestAfterBootstrap (node:internal/test_runner/harness:387:3)
|
|
...
|
|
1..1
|
|
# tests 1
|
|
# suites 0
|
|
# pass 0
|
|
# fail 1
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 8984.292623
|
|
END {"label": "M4", "argv": ["timeout", "-k", "10", "1200", "node", "--test", "--test-reporter=tap", "--test-name-pattern", "^row253 C4 P10 outer reason holds under both sudo models$", "packages/cli/tests/case1-accept.test.mjs"], "limit_seconds": 1200, "tmpdir": "/mnt/storage/scratch/tmp/gAKhO44", "started_utc": "2026-10-23T07:49:56Z", "start_load": "1.41 2.40 2.64 8/5839 1186447", "log": "/mnt/storage/scratch/tmp/gABO62Q/records/M4.log", "expected_red": true, "rc": 1, "wall_seconds": 9.023, "finished_utc": "2026-10-23T07:50:05Z", "end_load": "1.65 2.42 2.65 2/5832 1193403", "counts": {"tests": 1, "pass": 0, "fail": 1, "cancelled": 0, "skipped": 0, "todo": 0}, "metrics": [], "skip_lines": [], "external_timeout": false}
|
|
START {"label": "M5-syntax", "argv": ["timeout", "-k", "10", "120", "node", "--check", "packages/cli/tests/case-p10-timing-fixture.mjs"], "limit_seconds": 120, "tmpdir": "/mnt/storage/scratch/tmp/g8waDyO", "started_utc": "2026-10-23T07:50:06Z", "start_load": "1.65 2.42 2.65 2/5826 1197030", "log": "/mnt/storage/scratch/tmp/gABO62Q/records/M5-syntax.log", "expected_red": false}
|
|
END {"label": "M5-syntax", "argv": ["timeout", "-k", "10", "120", "node", "--check", "packages/cli/tests/case-p10-timing-fixture.mjs"], "limit_seconds": 120, "tmpdir": "/mnt/storage/scratch/tmp/g8waDyO", "started_utc": "2026-10-23T07:50:06Z", "start_load": "1.65 2.42 2.65 2/5826 1197030", "log": "/mnt/storage/scratch/tmp/gABO62Q/records/M5-syntax.log", "expected_red": false, "rc": 0, "wall_seconds": 0.032, "finished_utc": "2026-10-23T07:50:06Z", "end_load": "1.65 2.42 2.65 2/5838 1197071", "counts": {}, "metrics": [], "skip_lines": [], "external_timeout": false}
|
|
START {"label": "M5", "argv": ["timeout", "-k", "10", "1200", "node", "--test", "--test-reporter=tap", "--test-name-pattern", "^row253 C4 P10 inner reason holds under both sudo models$", "packages/cli/tests/case1-accept.test.mjs"], "limit_seconds": 1200, "tmpdir": "/mnt/storage/scratch/tmp/gdAgQSv", "started_utc": "2026-10-23T07:50:07Z", "start_load": "1.65 2.42 2.65 2/5824 1200489", "log": "/mnt/storage/scratch/tmp/gABO62Q/records/M5.log", "expected_red": true}
|
|
TAP version 13
|
|
# Subtest: row253 C4 P10 inner reason holds under both sudo models
|
|
not ok 1 - row253 C4 P10 inner reason holds under both sudo models
|
|
---
|
|
duration_ms: 5653.123684
|
|
type: 'test'
|
|
location: '/home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/packages/cli/tests/case1-accept.test.mjs:421:49'
|
|
failureType: 'testCodeFailure'
|
|
error: |-
|
|
Got unwanted exception: P10 observer pair is required
|
|
Actual message: "P10 observer needs exactly one complete ordered pair"
|
|
code: 'ERR_ASSERTION'
|
|
name: 'AssertionError'
|
|
actual:
|
|
error: 'P10 observer needs exactly one complete ordered pair'
|
|
stack: |-
|
|
readProbeSeconds (file:///home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/packages/cli/tests/case-p10-timing-fixture.mjs:56:42)
|
|
file:///home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/packages/cli/tests/case1-accept.test.mjs:448:55
|
|
getActual (node:assert:580:5)
|
|
strict.doesNotThrow (node:assert:748:32)
|
|
TestContext.<anonymous> (file:///home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/packages/cli/tests/case1-accept.test.mjs:448:24)
|
|
async Test.run (node:internal/test_runner/test:1409:7)
|
|
async startSubtestAfterBootstrap (node:internal/test_runner/harness:387:3)
|
|
operator: 'doesNotThrow'
|
|
stack: |-
|
|
TestContext.<anonymous> (file:///home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/packages/cli/tests/case1-accept.test.mjs:448:24)
|
|
async Test.run (node:internal/test_runner/test:1409:7)
|
|
async startSubtestAfterBootstrap (node:internal/test_runner/harness:387:3)
|
|
...
|
|
1..1
|
|
# tests 1
|
|
# suites 0
|
|
# pass 0
|
|
# fail 1
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 5762.289353
|
|
END {"label": "M5", "argv": ["timeout", "-k", "10", "1200", "node", "--test", "--test-reporter=tap", "--test-name-pattern", "^row253 C4 P10 inner reason holds under both sudo models$", "packages/cli/tests/case1-accept.test.mjs"], "limit_seconds": 1200, "tmpdir": "/mnt/storage/scratch/tmp/gdAgQSv", "started_utc": "2026-10-23T07:50:07Z", "start_load": "1.65 2.42 2.65 2/5824 1200489", "log": "/mnt/storage/scratch/tmp/gABO62Q/records/M5.log", "expected_red": true, "rc": 1, "wall_seconds": 5.816, "finished_utc": "2026-10-23T07:50:13Z", "end_load": "1.63 2.39 2.63 2/5844 1203280", "counts": {"tests": 1, "pass": 0, "fail": 1, "cancelled": 0, "skipped": 0, "todo": 0}, "metrics": [], "skip_lines": [], "external_timeout": false}
|
|
START {"label": "M6-syntax", "argv": ["timeout", "-k", "10", "120", "node", "--check", "packages/cli/tests/case-p10-timing-fixture.mjs"], "limit_seconds": 120, "tmpdir": "/mnt/storage/scratch/tmp/gD2IEb2", "started_utc": "2026-10-23T07:50:15Z", "start_load": "1.63 2.39 2.63 1/5845 1206646", "log": "/mnt/storage/scratch/tmp/gABO62Q/records/M6-syntax.log", "expected_red": false}
|
|
END {"label": "M6-syntax", "argv": ["timeout", "-k", "10", "120", "node", "--check", "packages/cli/tests/case-p10-timing-fixture.mjs"], "limit_seconds": 120, "tmpdir": "/mnt/storage/scratch/tmp/gD2IEb2", "started_utc": "2026-10-23T07:50:15Z", "start_load": "1.63 2.39 2.63 1/5845 1206646", "log": "/mnt/storage/scratch/tmp/gABO62Q/records/M6-syntax.log", "expected_red": false, "rc": 0, "wall_seconds": 0.032, "finished_utc": "2026-10-23T07:50:15Z", "end_load": "1.63 2.39 2.63 2/5845 1206656", "counts": {}, "metrics": [], "skip_lines": [], "external_timeout": false}
|
|
START {"label": "M6", "argv": ["timeout", "-k", "10", "1200", "node", "--test", "--test-reporter=tap", "--test-name-pattern", "^row299 P10 observer records are complete and ordered$", "packages/cli/tests/case1-accept.test.mjs"], "limit_seconds": 1200, "tmpdir": "/mnt/storage/scratch/tmp/gAZq1pv", "started_utc": "2026-10-23T07:50:16Z", "start_load": "1.63 2.39 2.63 2/5837 1210084", "log": "/mnt/storage/scratch/tmp/gABO62Q/records/M6.log", "expected_red": true}
|
|
TAP version 13
|
|
# Subtest: row299 P10 observer records are complete and ordered
|
|
not ok 1 - row299 P10 observer records are complete and ordered
|
|
---
|
|
duration_ms: 1.544819
|
|
type: 'test'
|
|
location: '/home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/packages/cli/tests/case1-accept.test.mjs:405:1'
|
|
failureType: 'testCodeFailure'
|
|
error: 'Missing expected exception: equal readings'
|
|
code: 'ERR_ASSERTION'
|
|
name: 'AssertionError'
|
|
expected:
|
|
operator: 'throws'
|
|
stack: |-
|
|
TestContext.<anonymous> (file:///home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/packages/cli/tests/case1-accept.test.mjs:418:58)
|
|
Test.runInAsyncScope (node:async_hooks:226:14)
|
|
Test.run (node:internal/test_runner/test:1402:25)
|
|
Test.start (node:internal/test_runner/test:1262:17)
|
|
startSubtestAfterBootstrap (node:internal/test_runner/harness:387:17)
|
|
...
|
|
1..1
|
|
# tests 1
|
|
# suites 0
|
|
# pass 0
|
|
# fail 1
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 97.805057
|
|
END {"label": "M6", "argv": ["timeout", "-k", "10", "1200", "node", "--test", "--test-reporter=tap", "--test-name-pattern", "^row299 P10 observer records are complete and ordered$", "packages/cli/tests/case1-accept.test.mjs"], "limit_seconds": 1200, "tmpdir": "/mnt/storage/scratch/tmp/gAZq1pv", "started_utc": "2026-10-23T07:50:16Z", "start_load": "1.63 2.39 2.63 2/5837 1210084", "log": "/mnt/storage/scratch/tmp/gABO62Q/records/M6.log", "expected_red": true, "rc": 1, "wall_seconds": 0.164, "finished_utc": "2026-10-23T07:50:16Z", "end_load": "1.63 2.39 2.63 1/5837 1210101", "counts": {"tests": 1, "pass": 0, "fail": 1, "cancelled": 0, "skipped": 0, "todo": 0}, "metrics": [], "skip_lines": [], "external_timeout": false}
|
|
GREEN all whole stages and M1-M6
|