8629 lines
389 KiB
Plaintext
8629 lines
389 KiB
Plaintext
{
|
|
"head": "6bfab273b59a4fa6dc9c468a086ff281f435e572",
|
|
"manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3",
|
|
"whole_file_list": {
|
|
"seat": [
|
|
"packages/seat/tests/checkout.test.mjs",
|
|
"packages/seat/tests/compactions-budget.test.mjs",
|
|
"packages/seat/tests/compactions.test.mjs",
|
|
"packages/seat/tests/landing.test.mjs",
|
|
"packages/seat/tests/publish.test.mjs",
|
|
"packages/seat/tests/sandbox.test.mjs",
|
|
"packages/seat/tests/seat.test.mjs",
|
|
"packages/seat/tests/session-workspace.test.mjs",
|
|
"packages/seat/tests/session.test.mjs",
|
|
"packages/seat/tests/working.test.mjs"
|
|
],
|
|
"cli": [
|
|
"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"
|
|
]
|
|
}
|
|
}
|
|
START {"label": "control-positive", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "120", "node", "/mnt/storage/scratch/tmp/gtrB9gF/control.mjs", "/mnt/storage/scratch/tmp/gcNDXep/repo", "positive"], "limit": 120, "tmpdir": "/mnt/storage/scratch/tmp/gcNDXep"}
|
|
{"mode":"positive","commit":true,"usesActualGitEnv":true,"outerTraceScrubbed":true}
|
|
END {"label": "control-positive", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "120", "node", "/mnt/storage/scratch/tmp/gtrB9gF/control.mjs", "/mnt/storage/scratch/tmp/gcNDXep/repo", "positive"], "limit": 120, "tmpdir": "/mnt/storage/scratch/tmp/gcNDXep", "rc": 0, "wall_seconds": 0.064, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/control-positive.log", "counts": {}, "skip_lines": [], "trace": {"event_files": 4, "git_starts": 4, "commits": 1, "flagged_commits": 0, "maintenance_children": 1, "maintenance_events": [{"event": "child_start", "sid": "20261023T024041.512470Z-Hacb89168-P0024ef2b", "thread": "main", "time": "2026-10-23T02:40:41.513415Z", "file": "run-command.c", "line": 740, "child_id": 0, "child_class": "?", "use_shell": false, "argv": ["git", "maintenance", "run", "--auto", "--quiet", "--detach"]}]}}
|
|
START {"label": "control-flagged", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "120", "node", "/mnt/storage/scratch/tmp/gtrB9gF/control.mjs", "/mnt/storage/scratch/tmp/g7siNa9/repo", "flagged"], "limit": 120, "tmpdir": "/mnt/storage/scratch/tmp/g7siNa9"}
|
|
{"mode":"flagged","commit":true,"usesActualGitEnv":true,"outerTraceScrubbed":true}
|
|
END {"label": "control-flagged", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "120", "node", "/mnt/storage/scratch/tmp/gtrB9gF/control.mjs", "/mnt/storage/scratch/tmp/g7siNa9/repo", "flagged"], "limit": 120, "tmpdir": "/mnt/storage/scratch/tmp/g7siNa9", "rc": 0, "wall_seconds": 0.064, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/control-flagged.log", "counts": {}, "skip_lines": [], "trace": {"event_files": 3, "git_starts": 3, "commits": 1, "flagged_commits": 1, "maintenance_children": 0, "maintenance_events": []}}
|
|
START {"label": "proof-checkout.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/seat/tests/checkout.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gypYUcl"}
|
|
TAP version 13
|
|
# Subtest: C2-04: ensureCheckouts skips a library before a real clone and leaves no books path
|
|
ok 1 - C2-04: ensureCheckouts skips a library before a real clone and leaves no books path
|
|
---
|
|
duration_ms: 32.323225
|
|
type: 'test'
|
|
...
|
|
# Subtest: a first launch clones the root at its branch, with the root's path as origin
|
|
ok 2 - a first launch clones the root at its branch, with the root's path as origin
|
|
---
|
|
duration_ms: 43.755879
|
|
type: 'test'
|
|
...
|
|
# Subtest: the clone is not at its place until git clone has finished
|
|
ok 3 - the clone is not at its place until git clone has finished
|
|
---
|
|
duration_ms: 33.936737
|
|
type: 'test'
|
|
...
|
|
# Subtest: a later launch fast-forwards a clean clone after a commit to the root, then finds it current
|
|
ok 4 - a later launch fast-forwards a clean clone after a commit to the root, then finds it current
|
|
---
|
|
duration_ms: 113.466445
|
|
type: 'test'
|
|
...
|
|
# Subtest: a clone ahead of the root keeps its commits and counts as current
|
|
ok 5 - a clone ahead of the root keeps its commits and counts as current
|
|
---
|
|
duration_ms: 76.680248
|
|
type: 'test'
|
|
...
|
|
# Subtest: a dirty clone and one on another branch are fetched, and nothing but refs/remotes moves
|
|
# Subtest: a modified file
|
|
ok 1 - a modified file
|
|
---
|
|
duration_ms: 80.722097
|
|
type: 'test'
|
|
...
|
|
# Subtest: an untracked file
|
|
ok 2 - an untracked file
|
|
---
|
|
duration_ms: 74.068342
|
|
type: 'test'
|
|
...
|
|
# Subtest: a staged file
|
|
ok 3 - a staged file
|
|
---
|
|
duration_ms: 74.981269
|
|
type: 'test'
|
|
...
|
|
# Subtest: another branch
|
|
ok 4 - another branch
|
|
---
|
|
duration_ms: 63.427637
|
|
type: 'test'
|
|
...
|
|
# Subtest: a detached HEAD
|
|
ok 5 - a detached HEAD
|
|
---
|
|
duration_ms: 61.904555
|
|
type: 'test'
|
|
...
|
|
1..5
|
|
ok 6 - a dirty clone and one on another branch are fetched, and nothing but refs/remotes moves
|
|
---
|
|
duration_ms: 356.437003
|
|
type: 'test'
|
|
...
|
|
# Subtest: a diverged clone gets the fetch into refs/remotes and is kept, not-fast-forward
|
|
ok 7 - a diverged clone gets the fetch into refs/remotes and is kept, not-fast-forward
|
|
---
|
|
duration_ms: 58.169421
|
|
type: 'test'
|
|
...
|
|
# Subtest: a clone kept before the branch check, or for a failed status, gets no fetch
|
|
# Subtest: not-a-clone
|
|
ok 1 - not-a-clone
|
|
---
|
|
duration_ms: 31.37842
|
|
type: 'test'
|
|
...
|
|
# Subtest: hooks-present
|
|
ok 2 - hooks-present
|
|
---
|
|
duration_ms: 32.85213
|
|
type: 'test'
|
|
...
|
|
# Subtest: submodule
|
|
ok 3 - submodule
|
|
---
|
|
duration_ms: 40.890492
|
|
type: 'test'
|
|
...
|
|
# Subtest: config-changed
|
|
ok 4 - config-changed
|
|
---
|
|
duration_ms: 37.674091
|
|
type: 'test'
|
|
...
|
|
# Subtest: root-unreadable
|
|
ok 5 - root-unreadable
|
|
---
|
|
duration_ms: 37.883912
|
|
type: 'test'
|
|
...
|
|
# Subtest: root-detached
|
|
ok 6 - root-detached
|
|
---
|
|
duration_ms: 49.665178
|
|
type: 'test'
|
|
...
|
|
# Subtest: status-failed, on the root's branch and clean
|
|
ok 7 - status-failed, on the root's branch and clean
|
|
---
|
|
duration_ms: 51.560143
|
|
type: 'test'
|
|
...
|
|
# Subtest: status-failed, dirty
|
|
ok 8 - status-failed, dirty
|
|
---
|
|
duration_ms: 50.016631
|
|
type: 'test'
|
|
...
|
|
1..8
|
|
ok 8 - a clone kept before the branch check, or for a failed status, gets no fetch
|
|
---
|
|
duration_ms: 333.28247
|
|
type: 'test'
|
|
...
|
|
# Subtest: a dirty clone whose fetch fails is kept, fetch-failed, exactly as it was
|
|
ok 9 - a dirty clone whose fetch fails is kept, fetch-failed, exactly as it was
|
|
---
|
|
duration_ms: 51.829737
|
|
type: 'test'
|
|
...
|
|
# Subtest: every git call the host makes, for a new clone and an existing one, carries maintenance.auto=false and gc.auto=0
|
|
ok 10 - every git call the host makes, for a new clone and an existing one, carries maintenance.auto=false and gc.auto=0
|
|
---
|
|
duration_ms: 61.956036
|
|
type: 'test'
|
|
...
|
|
# Subtest: a clone with loose objects enough for gc --auto gets no maintenance or gc from the fetch and the merge
|
|
ok 11 - a clone with loose objects enough for gc --auto gets no maintenance or gc from the fetch and the merge
|
|
---
|
|
duration_ms: 101.644227
|
|
type: 'test'
|
|
...
|
|
# Subtest: a clone with user.name or user.email in its config is kept, and git runs nothing in it
|
|
# Subtest: user.name
|
|
ok 1 - user.name
|
|
---
|
|
duration_ms: 38.986381
|
|
type: 'test'
|
|
...
|
|
# Subtest: user.email
|
|
ok 2 - user.email
|
|
---
|
|
duration_ms: 39.518985
|
|
type: 'test'
|
|
...
|
|
1..2
|
|
ok 12 - a clone with user.name or user.email in its config is kept, and git runs nothing in it
|
|
---
|
|
duration_ms: 79.099207
|
|
type: 'test'
|
|
...
|
|
# Subtest: a commit git can't read after the fast-forward is null
|
|
ok 13 - a commit git can't read after the fast-forward is null
|
|
---
|
|
duration_ms: 64.244819
|
|
type: 'test'
|
|
...
|
|
# Subtest: a new clone whose commit can't be read refuses the launch and leaves nothing behind
|
|
ok 14 - a new clone whose commit can't be read refuses the launch and leaves nothing behind
|
|
---
|
|
duration_ms: 27.056965
|
|
type: 'test'
|
|
...
|
|
# Subtest: a clone the session rigged is kept, and git runs nothing and writes nothing outside it
|
|
# Subtest: core.fsmonitor
|
|
ok 1 - core.fsmonitor
|
|
---
|
|
duration_ms: 52.531316
|
|
type: 'test'
|
|
...
|
|
# Subtest: core.hooksPath
|
|
ok 2 - core.hooksPath
|
|
---
|
|
duration_ms: 45.573921
|
|
type: 'test'
|
|
...
|
|
# Subtest: a hook file
|
|
ok 3 - a hook file
|
|
---
|
|
duration_ms: 41.236256
|
|
type: 'test'
|
|
...
|
|
# Subtest: include.path
|
|
ok 4 - include.path
|
|
---
|
|
duration_ms: 45.904472
|
|
type: 'test'
|
|
...
|
|
# Subtest: includeIf
|
|
ok 5 - includeIf
|
|
---
|
|
duration_ms: 45.671318
|
|
type: 'test'
|
|
...
|
|
# Subtest: a filter driver
|
|
ok 6 - a filter driver
|
|
---
|
|
duration_ms: 49.197603
|
|
type: 'test'
|
|
...
|
|
# Subtest: origin moved
|
|
ok 7 - origin moved
|
|
---
|
|
duration_ms: 50.649965
|
|
type: 'test'
|
|
...
|
|
# Subtest: a second origin url
|
|
ok 8 - a second origin url
|
|
---
|
|
duration_ms: 50.499953
|
|
type: 'test'
|
|
...
|
|
# Subtest: the origin url twice, both the root
|
|
ok 9 - the origin url twice, both the root
|
|
---
|
|
duration_ms: 53.786264
|
|
type: 'test'
|
|
...
|
|
# Subtest: an ext:: origin
|
|
ok 10 - an ext:: origin
|
|
---
|
|
duration_ms: 47.111493
|
|
type: 'test'
|
|
...
|
|
# Subtest: a branch tracking another remote
|
|
ok 11 - a branch tracking another remote
|
|
---
|
|
duration_ms: 45.265753
|
|
type: 'test'
|
|
...
|
|
# Subtest: a branch merging a tag
|
|
ok 12 - a branch merging a tag
|
|
---
|
|
duration_ms: 44.46206
|
|
type: 'test'
|
|
...
|
|
# Subtest: a fetch line onto local branches
|
|
ok 13 - a fetch line onto local branches
|
|
---
|
|
duration_ms: 45.391667
|
|
type: 'test'
|
|
...
|
|
# Subtest: no origin
|
|
ok 14 - no origin
|
|
---
|
|
duration_ms: 46.4394
|
|
type: 'test'
|
|
...
|
|
# Subtest: a config file over the size cap
|
|
ok 15 - a config file over the size cap
|
|
---
|
|
duration_ms: 40.827408
|
|
type: 'test'
|
|
...
|
|
# Subtest: config a symlink to /dev/zero
|
|
ok 16 - config a symlink to /dev/zero
|
|
---
|
|
duration_ms: 43.615708
|
|
type: 'test'
|
|
...
|
|
# Subtest: the clone a symlink to the bait
|
|
ok 17 - the clone a symlink to the bait
|
|
---
|
|
duration_ms: 45.033686
|
|
type: 'test'
|
|
...
|
|
# Subtest: the clone a file
|
|
ok 18 - the clone a file
|
|
---
|
|
duration_ms: 43.518286
|
|
type: 'test'
|
|
...
|
|
# Subtest: the clone a plain directory
|
|
ok 19 - the clone a plain directory
|
|
---
|
|
duration_ms: 39.835195
|
|
type: 'test'
|
|
...
|
|
# Subtest: .git a gitdir: file
|
|
ok 20 - .git a gitdir: file
|
|
---
|
|
duration_ms: 42.582377
|
|
type: 'test'
|
|
...
|
|
# Subtest: .git a symlink
|
|
ok 21 - .git a symlink
|
|
---
|
|
duration_ms: 41.002983
|
|
type: 'test'
|
|
...
|
|
# Subtest: .git/logs a symlink
|
|
ok 22 - .git/logs a symlink
|
|
---
|
|
duration_ms: 45.671495
|
|
type: 'test'
|
|
...
|
|
# Subtest: .git/refs/heads a symlink
|
|
ok 23 - .git/refs/heads a symlink
|
|
---
|
|
duration_ms: 50.200835
|
|
type: 'test'
|
|
...
|
|
# Subtest: .git/objects a symlink
|
|
ok 24 - .git/objects a symlink
|
|
---
|
|
duration_ms: 49.413632
|
|
type: 'test'
|
|
...
|
|
# Subtest: a reflog hard-linked to a file outside
|
|
ok 25 - a reflog hard-linked to a file outside
|
|
---
|
|
duration_ms: 39.834948
|
|
type: 'test'
|
|
...
|
|
# Subtest: HEAD a fifo
|
|
ok 26 - HEAD a fifo
|
|
---
|
|
duration_ms: 49.534956
|
|
type: 'test'
|
|
...
|
|
# Subtest: a commondir file
|
|
ok 27 - a commondir file
|
|
---
|
|
duration_ms: 39.937604
|
|
type: 'test'
|
|
...
|
|
# Subtest: an alternates file
|
|
ok 28 - an alternates file
|
|
---
|
|
duration_ms: 40.069285
|
|
type: 'test'
|
|
...
|
|
# Subtest: a gitlink staged, no .gitmodules
|
|
ok 29 - a gitlink staged, no .gitmodules
|
|
---
|
|
duration_ms: 59.488653
|
|
type: 'test'
|
|
...
|
|
# Subtest: a gitlink and .gitmodules staged
|
|
ok 30 - a gitlink and .gitmodules staged
|
|
---
|
|
duration_ms: 66.643145
|
|
type: 'test'
|
|
...
|
|
# Subtest: a gitlink to a repository with its own gitlink
|
|
ok 31 - a gitlink to a repository with its own gitlink
|
|
---
|
|
duration_ms: 85.135255
|
|
type: 'test'
|
|
...
|
|
# Subtest: a gitlink and .gitmodules committed
|
|
ok 32 - a gitlink and .gitmodules committed
|
|
---
|
|
duration_ms: 72.936863
|
|
type: 'test'
|
|
...
|
|
# Subtest: a gitlink and submodule.active in config
|
|
ok 33 - a gitlink and submodule.active in config
|
|
---
|
|
duration_ms: 63.842515
|
|
type: 'test'
|
|
...
|
|
# Subtest: a .git/modules with no gitlink
|
|
ok 34 - a .git/modules with no gitlink
|
|
---
|
|
duration_ms: 50.020637
|
|
type: 'test'
|
|
...
|
|
1..34
|
|
ok 15 - a clone the session rigged is kept, and git runs nothing and writes nothing outside it
|
|
---
|
|
duration_ms: 1678.167466
|
|
type: 'test'
|
|
...
|
|
# Subtest: a root that can't be cloned refuses with the project id and leaves nothing behind
|
|
# Subtest: missing
|
|
ok 1 - missing
|
|
---
|
|
duration_ms: 16.623386
|
|
type: 'test'
|
|
...
|
|
# Subtest: not a repository
|
|
ok 2 - not a repository
|
|
---
|
|
duration_ms: 17.89319
|
|
type: 'test'
|
|
...
|
|
# Subtest: a plain directory inside another repository
|
|
ok 3 - a plain directory inside another repository
|
|
---
|
|
duration_ms: 23.891367
|
|
type: 'test'
|
|
...
|
|
# Subtest: unreadable
|
|
ok 4 - unreadable
|
|
---
|
|
duration_ms: 16.250132
|
|
type: 'test'
|
|
...
|
|
# Subtest: on no branch
|
|
ok 5 - on no branch
|
|
---
|
|
duration_ms: 17.133851
|
|
type: 'test'
|
|
...
|
|
# Subtest: missing an object
|
|
ok 6 - missing an object
|
|
---
|
|
duration_ms: 25.483529
|
|
type: 'test'
|
|
...
|
|
1..6
|
|
ok 16 - a root that can't be cloned refuses with the project id and leaves nothing behind
|
|
---
|
|
duration_ms: 118.385222
|
|
type: 'test'
|
|
...
|
|
# Subtest: a clone whose root is on no branch, or gone, is kept and named
|
|
ok 17 - a clone whose root is on no branch, or gone, is kept and named
|
|
---
|
|
duration_ms: 46.317691
|
|
type: 'test'
|
|
...
|
|
# Subtest: no credential or forge remote of the root reaches a clone
|
|
ok 18 - no credential or forge remote of the root reaches a clone
|
|
---
|
|
duration_ms: 74.094063
|
|
type: 'test'
|
|
...
|
|
# Subtest: every project in the business file gets its own clone at its own branch
|
|
ok 19 - every project in the business file gets its own clone at its own branch
|
|
---
|
|
duration_ms: 53.317501
|
|
type: 'test'
|
|
...
|
|
# Subtest: a clone past its time gets SIGTERM and refuses the launch, with nothing left in the workspace
|
|
ok 20 - a clone past its time gets SIGTERM and refuses the launch, with nothing left in the workspace
|
|
---
|
|
duration_ms: 517.395182
|
|
type: 'test'
|
|
...
|
|
# Subtest: a clone that ignores SIGTERM gets SIGKILL once the grace period is over
|
|
ok 21 - a clone that ignores SIGTERM gets SIGKILL once the grace period is over
|
|
---
|
|
duration_ms: 1023.674658
|
|
type: 'test'
|
|
...
|
|
# Subtest: a timeout signals git's process group, so a process git started dies with it
|
|
ok 22 - a timeout signals git's process group, so a process git started dies with it
|
|
---
|
|
duration_ms: 518.069073
|
|
type: 'test'
|
|
...
|
|
# Subtest: once a signalled git has closed, its group gets SIGKILL, so a process that ignored SIGTERM dies too
|
|
ok 23 - once a signalled git has closed, its group gets SIGKILL, so a process that ignored SIGTERM dies too
|
|
---
|
|
duration_ms: 518.675464
|
|
type: 'test'
|
|
...
|
|
1..23
|
|
# tests 78
|
|
# suites 0
|
|
# pass 78
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 6045.648136
|
|
END {"label": "proof-checkout.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/seat/tests/checkout.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gypYUcl", "rc": 0, "wall_seconds": 6.077, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/proof-checkout.test.log", "counts": {"tests": 78, "pass": 78, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": [], "trace": {"event_files": 1121, "git_starts": 1121, "commits": 173, "flagged_commits": 173, "maintenance_children": 0, "maintenance_events": []}}
|
|
START {"label": "proof-working.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/seat/tests/working.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/g6XWSBN"}
|
|
TAP version 13
|
|
# Subtest: workRef and validBranch take only what a ref name can hold
|
|
ok 1 - workRef and validBranch take only what a ref name can hold
|
|
---
|
|
duration_ms: 1.333473
|
|
type: 'test'
|
|
...
|
|
# Subtest: a push lands as the task's work ref, a fast-forward lands after it, and main is the root's
|
|
ok 2 - a push lands as the task's work ref, a fast-forward lands after it, and main is the root's
|
|
---
|
|
duration_ms: 155.042492
|
|
type: 'test'
|
|
...
|
|
# Subtest: a rewritten branch refuses non-fast-forward and the work ref stays
|
|
ok 3 - a rewritten branch refuses non-fast-forward and the work ref stays
|
|
---
|
|
duration_ms: 141.512484
|
|
type: 'test'
|
|
...
|
|
# Subtest: a branch with no history in common with main refuses unrelated-history
|
|
ok 4 - a branch with no history in common with main refuses unrelated-history
|
|
---
|
|
duration_ms: 73.476576
|
|
type: 'test'
|
|
...
|
|
# Subtest: a bundle that needs commits the working repository lacks refuses missing-prerequisite
|
|
ok 5 - a bundle that needs commits the working repository lacks refuses missing-prerequisite
|
|
---
|
|
duration_ms: 60.020694
|
|
type: 'test'
|
|
...
|
|
# Subtest: the root is fetched again before each push and main follows it, so a clone of a newer root pushes
|
|
ok 6 - the root is fetched again before each push and main follows it, so a clone of a newer root pushes
|
|
---
|
|
duration_ms: 159.033695
|
|
type: 'test'
|
|
...
|
|
# Subtest: a root moved back after the clone leaves the push's base unknown: missing-prerequisite
|
|
ok 7 - a root moved back after the clone leaves the push's base unknown: missing-prerequisite
|
|
---
|
|
duration_ms: 97.928565
|
|
type: 'test'
|
|
...
|
|
# Subtest: a commit with a broken object refuses invalid-bundle, and only because fsck is on
|
|
ok 8 - a commit with a broken object refuses invalid-bundle, and only because fsck is on
|
|
---
|
|
duration_ms: 118.141222
|
|
type: 'test'
|
|
...
|
|
# Subtest: only a v2 bundle with the named branch is read
|
|
ok 9 - only a v2 bundle with the named branch is read
|
|
---
|
|
duration_ms: 83.745232
|
|
type: 'test'
|
|
...
|
|
# Subtest: a branch named main, or named for another task, moves only this task's work ref
|
|
ok 10 - a branch named main, or named for another task, moves only this task's work ref
|
|
---
|
|
duration_ms: 120.822175
|
|
type: 'test'
|
|
...
|
|
# Subtest: a record that throws moves the work ref back, or removes a new one
|
|
ok 11 - a record that throws moves the work ref back, or removes a new one
|
|
---
|
|
duration_ms: 176.921298
|
|
type: 'test'
|
|
...
|
|
# Subtest: a work ref that can't go back refuses rollback-failed, naming the ref and the commit
|
|
ok 12 - a work ref that can't go back refuses rollback-failed, naming the ref and the commit
|
|
---
|
|
duration_ms: 439.919968
|
|
type: 'test'
|
|
...
|
|
# Subtest: a root that can't be read refuses root-unreadable
|
|
ok 13 - a root that can't be read refuses root-unreadable
|
|
---
|
|
duration_ms: 39.50813
|
|
type: 'test'
|
|
...
|
|
# Subtest: a git past its time gets SIGTERM, leaves no ref lock, and the next push lands
|
|
ok 14 - a git past its time gets SIGTERM, leaves no ref lock, and the next push lands
|
|
---
|
|
duration_ms: 2179.251224
|
|
type: 'test'
|
|
...
|
|
# Subtest: a git that ignores SIGTERM gets SIGKILL once the grace period is over
|
|
ok 15 - a git that ignores SIGTERM gets SIGKILL once the grace period is over
|
|
---
|
|
duration_ms: 1036.292423
|
|
type: 'test'
|
|
...
|
|
# Subtest: a working repository path that isn't a directory refuses
|
|
ok 16 - a working repository path that isn't a directory refuses
|
|
---
|
|
duration_ms: 35.653743
|
|
type: 'test'
|
|
...
|
|
# Subtest: review bundles a pushed commit as refs/mosaic/review, leaving out what the reviewer has
|
|
ok 17 - review bundles a pushed commit as refs/mosaic/review, leaving out what the reviewer has
|
|
---
|
|
duration_ms: 173.66743
|
|
type: 'test'
|
|
...
|
|
# Subtest: review of a project with no working repository refuses unknown-commit
|
|
ok 18 - review of a project with no working repository refuses unknown-commit
|
|
---
|
|
duration_ms: 26.113248
|
|
type: 'test'
|
|
...
|
|
# Subtest: the runner's git tools hold the host's limits and branch rule
|
|
ok 19 - the runner's git tools hold the host's limits and branch rule
|
|
---
|
|
duration_ms: 2.724924
|
|
type: 'test'
|
|
...
|
|
# Subtest: a reseed moves root but leaves a landed main, and main forwards once root contains it
|
|
ok 20 - a reseed moves root but leaves a landed main, and main forwards once root contains it
|
|
---
|
|
duration_ms: 293.402039
|
|
type: 'test'
|
|
...
|
|
# Subtest: after a landing, a push built on the root still lands and main stays where the landing put it
|
|
ok 21 - after a landing, a push built on the root still lands and main stays where the landing put it
|
|
---
|
|
duration_ms: 175.060068
|
|
type: 'test'
|
|
...
|
|
# Subtest: once the root shares no history with a landed main, a push is checked against main, not the root
|
|
ok 22 - once the root shares no history with a landed main, a push is checked against main, not the root
|
|
---
|
|
duration_ms: 255.401013
|
|
type: 'test'
|
|
...
|
|
# Subtest: a landing squashes the reviewed diff onto main as the bus host and moves main only at finish
|
|
ok 23 - a landing squashes the reviewed diff onto main as the bus host and moves main only at finish
|
|
---
|
|
duration_ms: 153.082625
|
|
type: 'test'
|
|
...
|
|
# Subtest: a landing refuses ref-moved, base-conflict and root-file before it makes a commit
|
|
ok 24 - a landing refuses ref-moved, base-conflict and root-file before it makes a commit
|
|
---
|
|
duration_ms: 504.500556
|
|
type: 'test'
|
|
...
|
|
# Subtest: a landing whose applied diff isn't the reviewed one refuses patch-drift and leaves no worktree
|
|
ok 25 - a landing whose applied diff isn't the reviewed one refuses patch-drift and leaves no worktree
|
|
---
|
|
duration_ms: 188.840012
|
|
type: 'test'
|
|
...
|
|
# Subtest: finish refuses base-moved when main moved, and a record that throws moves main back
|
|
ok 26 - finish refuses base-moved when main moved, and a record that throws moves main back
|
|
---
|
|
duration_ms: 282.057905
|
|
type: 'test'
|
|
...
|
|
# Subtest: halted push receipt rolls back only its unrecorded ref and cleans temporary refs
|
|
ok 27 - halted push receipt rolls back only its unrecorded ref and cleans temporary refs
|
|
---
|
|
duration_ms: 286.016943
|
|
type: 'test'
|
|
...
|
|
1..27
|
|
# tests 27
|
|
# suites 0
|
|
# pass 27
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 7320.932564
|
|
END {"label": "proof-working.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/seat/tests/working.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/g6XWSBN", "rc": 0, "wall_seconds": 7.379, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/proof-working.test.log", "counts": {"tests": 27, "pass": 27, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": [], "trace": {"event_files": 1617, "git_starts": 1617, "commits": 70, "flagged_commits": 69, "maintenance_children": 0, "maintenance_events": []}}
|
|
START {"label": "proof-git-socket.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/git-socket.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gUV29iA"}
|
|
TAP version 13
|
|
# Subtest: the review loop: the coder pushes and asks, the reviewer fetches and approves, and the task's trail holds each step
|
|
ok 1 - the review loop: the coder pushes and asks, the reviewer fetches and approves, and the task's trail holds each step
|
|
---
|
|
duration_ms: 1092.801174
|
|
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 2 - 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: 1134.868825
|
|
type: 'test'
|
|
...
|
|
# Subtest: the size cap refuses a push before any byte
|
|
ok 3 - the size cap refuses a push before any byte
|
|
---
|
|
duration_ms: 302.599571
|
|
type: 'test'
|
|
...
|
|
# Subtest: a fetch over the cap refuses before any byte reaches the reviewer
|
|
ok 4 - a fetch over the cap refuses before any byte reaches the reviewer
|
|
---
|
|
duration_ms: 1030.970462
|
|
type: 'test'
|
|
...
|
|
# Subtest: the socket refuses a request with no capability, an unknown one, and a bad request line
|
|
ok 5 - the socket refuses a request with no capability, an unknown one, and a bad request line
|
|
---
|
|
duration_ms: 615.338197
|
|
type: 'test'
|
|
...
|
|
# Subtest: a rigged clone runs nothing: hooks, fsmonitor, a filter, a gitlink and a symlinked .git/config leave no marker
|
|
ok 6 - a rigged clone runs nothing: hooks, fsmonitor, a filter, a gitlink and a symlinked .git/config leave no marker
|
|
---
|
|
duration_ms: 975.043931
|
|
type: 'test'
|
|
...
|
|
# Subtest: an identity with no role, or of another business, refuses not-a-role and moves no ref
|
|
ok 7 - an identity with no role, or of another business, refuses not-a-role and moves no ref
|
|
---
|
|
duration_ms: 622.864373
|
|
type: 'test'
|
|
...
|
|
# Subtest: a review of a project the business no longer has refuses unknown-project
|
|
ok 8 - a review of a project the business no longer has refuses unknown-project
|
|
---
|
|
duration_ms: 561.46665
|
|
type: 'test'
|
|
...
|
|
# Subtest: past maxActive connections the socket refuses git-busy, and a hung-up connection frees its slot
|
|
ok 9 - past maxActive connections the socket refuses git-busy, and a hung-up connection frees its slot
|
|
---
|
|
duration_ms: 282.605954
|
|
type: 'test'
|
|
...
|
|
# Subtest: close() answers host-closing to a connection still sending its request line
|
|
ok 10 - close() answers host-closing to a connection still sending its request line
|
|
---
|
|
duration_ms: 265.080906
|
|
type: 'test'
|
|
...
|
|
# Subtest: a bundle that trickles in refuses body-timeout at its deadline and frees its slot
|
|
ok 11 - a bundle that trickles in refuses body-timeout at its deadline and frees its slot
|
|
---
|
|
duration_ms: 674.754
|
|
type: 'test'
|
|
...
|
|
# Subtest: a reviewer gone before its bundle was sent is filed fetch-aborted, not as the host's fault
|
|
ok 12 - a reviewer gone before its bundle was sent is filed fetch-aborted, not as the host's fault
|
|
---
|
|
duration_ms: 952.341445
|
|
type: 'test'
|
|
...
|
|
# Subtest: a reviewer that hangs up the moment it has the whole bundle was served, not aborted
|
|
ok 13 - a reviewer that hangs up the moment it has the whole bundle was served, not aborted
|
|
---
|
|
duration_ms: 1992.365521
|
|
type: 'test'
|
|
...
|
|
# Subtest: send: a close after every byte left is served; one that fails a queued write is fetch-aborted
|
|
ok 14 - send: a close after every byte left is served; one that fails a queued write is fetch-aborted
|
|
---
|
|
duration_ms: 41.861165
|
|
type: 'test'
|
|
...
|
|
# Subtest: a bundle with no bytes for bodyIdle refuses body-timeout long before its deadline
|
|
ok 15 - a bundle with no bytes for bodyIdle refuses body-timeout long before its deadline
|
|
---
|
|
duration_ms: 574.169121
|
|
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 16 - send: a close once the loop is past its last chunk is served, and a failed write there is fetch-aborted
|
|
---
|
|
duration_ms: 46.037343
|
|
type: 'test'
|
|
...
|
|
# Subtest: letGo waits for an answer to leave for at most its cap, then destroys the socket
|
|
ok 17 - letGo waits for an answer to leave for at most its cap, then destroys the socket
|
|
---
|
|
duration_ms: 302.080578
|
|
type: 'test'
|
|
...
|
|
# Subtest: a record that fails and can't be undone refuses rollback-failed, which the host logs
|
|
ok 18 - a record that fails and can't be undone refuses rollback-failed, which the host logs
|
|
---
|
|
duration_ms: 720.99254
|
|
type: 'test'
|
|
...
|
|
# Subtest: land: the squash runs the gate in its own worktree, then main moves and the broker records it
|
|
ok 19 - land: the squash runs the gate in its own worktree, then main moves and the broker records it
|
|
---
|
|
duration_ms: 1127.448003
|
|
type: 'test'
|
|
...
|
|
# Subtest: land: an arbiter-resolved landing's squash says the arbiter resolved it through the broker
|
|
ok 20 - land: an arbiter-resolved landing's squash says the arbiter resolved it through the broker
|
|
---
|
|
duration_ms: 967.6787
|
|
type: 'test'
|
|
...
|
|
# Subtest: land: refusals before the gate answer the role at once and leave main and no worktree
|
|
ok 21 - land: refusals before the gate answer the role at once and leave main and no worktree
|
|
---
|
|
duration_ms: 958.230485
|
|
type: 'test'
|
|
...
|
|
# Subtest: land: a failed gate is refused gate-failed with its step, told to the role, and main stays
|
|
ok 22 - land: a failed gate is refused gate-failed with its step, told to the role, and main stays
|
|
---
|
|
duration_ms: 859.620576
|
|
type: 'test'
|
|
...
|
|
# Subtest: land: a record the broker refuses moves main back, and the landing is refused with the broker's code
|
|
ok 23 - land: a record the broker refuses moves main back, and the landing is refused with the broker's code
|
|
---
|
|
duration_ms: 951.560911
|
|
type: 'test'
|
|
...
|
|
# Subtest: land: a second landing while one runs refuses land-busy, and close() stops the gate and refuses host-closing
|
|
ok 24 - land: a second landing while one runs refuses land-busy, and close() stops the gate and refuses host-closing
|
|
---
|
|
duration_ms: 858.120902
|
|
type: 'test'
|
|
...
|
|
1..24
|
|
# tests 24
|
|
# suites 0
|
|
# pass 24
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 18061.804192
|
|
END {"label": "proof-git-socket.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/git-socket.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gUV29iA", "rc": 0, "wall_seconds": 18.104, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/proof-git-socket.test.log", "counts": {"tests": 24, "pass": 24, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": [], "trace": {"event_files": 1238, "git_starts": 1238, "commits": 45, "flagged_commits": 45, "maintenance_children": 0, "maintenance_events": []}}
|
|
START {"label": "proof-lifecycle.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/lifecycle.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/g4c8vAf"}
|
|
TAP version 13
|
|
# 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 1 - 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: 495.94217
|
|
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 2 - row 194 T2: a request past its 60 s never launches, and a refused check closes the request with its code
|
|
---
|
|
duration_ms: 89.677416
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 194 T3: a --no-launch host closes each request launches-disabled and starts nothing
|
|
ok 3 - row 194 T3: a --no-launch host closes each request launches-disabled and starts nothing
|
|
---
|
|
duration_ms: 85.112442
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 194 T3: a limit refusal closes the request with its code and the limit in the launch log
|
|
ok 4 - row 194 T3: a limit refusal closes the request with its code and the limit in the launch log
|
|
---
|
|
duration_ms: 269.23861
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 194 T4: terminate revokes and cancels at the verb, then the pass signals the run, which ends once
|
|
ok 5 - row 194 T4: terminate revokes and cancels at the verb, then the pass signals the run, which ends once
|
|
---
|
|
duration_ms: 311.693698
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 194 T5: regenerate ends the run in the registry and starts a new run on the same workspace
|
|
ok 6 - row 194 T5: regenerate ends the run in the registry and starts a new run on the same workspace
|
|
---
|
|
duration_ms: 558.691244
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 194 T5: a run that outlasts the request's mark closes the regenerate regenerate-timeout and starts nothing
|
|
ok 7 - row 194 T5: a run that outlasts the request's mark closes the regenerate regenerate-timeout and starts nothing
|
|
---
|
|
duration_ms: 2853.696904
|
|
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 8 - 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: 109.709965
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 194 V5: a delete with no workspace commits and closes with the transaction
|
|
ok 9 - row 194 V5: a delete with no workspace commits and closes with the transaction
|
|
---
|
|
duration_ms: 101.122223
|
|
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 10 - row 281 T10: the delete pass closes a granted instance's first request grants-revoking and the host channel stays up
|
|
---
|
|
duration_ms: 133.496652
|
|
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 11 - 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: 669.628508
|
|
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 12 - 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: 120.517516
|
|
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 13 - 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: 247.99006
|
|
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 14 - 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: 389.874936
|
|
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 15 - 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: 1073.712478
|
|
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 16 - row 194 T9a: fire of a registry run with no runtime record reads lifecycle.end.alive with reason unknown, never killed
|
|
---
|
|
duration_ms: 532.623749
|
|
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 17 - 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: 230.684433
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 194 T9a: V3 terminate of a SIGTERM-ignoring runner sends no SIGKILL
|
|
ok 18 - row 194 T9a: V3 terminate of a SIGTERM-ignoring runner sends no SIGKILL
|
|
---
|
|
duration_ms: 999.865254
|
|
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 19 - 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: 1704.842854
|
|
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 20 - 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: 300.565183
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 194 N6: a run spawned after a terminate's verb survives its pass, and the next terminate ends it
|
|
ok 21 - row 194 N6: a run spawned after a terminate's verb survives its pass, and the next terminate ends it
|
|
---
|
|
duration_ms: 527.17973
|
|
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 22 - row 194 T6: a delete leaves the run evidence bytes unchanged, and the retired name refuses a create and a launch
|
|
---
|
|
duration_ms: 324.637715
|
|
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 23 - 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: 444.163856
|
|
type: 'test'
|
|
...
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"re49b18ed4d0d","instance":"chief","turn":"5b3fc25b-db1c-4888-b005-b8d3ab8e55c0","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"re49b18ed4d0d","instance":"chief","turn":"a2c8d1d9-f2e4-4c50-a523-596d7e19ada2","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"re49b18ed4d0d","instance":"chief","turn":"98baf8c6-7f9e-4e6b-891d-2db5a227e548","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"re49b18ed4d0d","instance":"chief","turn":"3df16375-99ee-4aaa-931b-bb54ccac3514","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"re49b18ed4d0d","instance":"chief","turn":"427b895e-e0cf-4dcf-9447-2d702a8f647f","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"re49b18ed4d0d","instance":"chief","turn":"ddacc9e0-87a2-4a88-b0e0-7db47b23bd8b","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"re49b18ed4d0d","instance":"chief","turn":"0223f0b9-dea8-476b-8596-58d8ab5229c9","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 24 - 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: 1447.433905
|
|
type: 'test'
|
|
...
|
|
1..24
|
|
# tests 24
|
|
# suites 0
|
|
# pass 24
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 14226.735023
|
|
END {"label": "proof-lifecycle.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/lifecycle.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/g4c8vAf", "rc": 0, "wall_seconds": 14.295, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/proof-lifecycle.test.log", "counts": {"tests": 24, "pass": 24, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": [], "trace": {"event_files": 149, "git_starts": 149, "commits": 25, "flagged_commits": 25, "maintenance_children": 0, "maintenance_events": []}}
|
|
START {"label": "seat-checkout.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/seat/tests/checkout.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gqFq9qw"}
|
|
TAP version 13
|
|
# Subtest: C2-04: ensureCheckouts skips a library before a real clone and leaves no books path
|
|
ok 1 - C2-04: ensureCheckouts skips a library before a real clone and leaves no books path
|
|
---
|
|
duration_ms: 26.101175
|
|
type: 'test'
|
|
...
|
|
# Subtest: a first launch clones the root at its branch, with the root's path as origin
|
|
ok 2 - a first launch clones the root at its branch, with the root's path as origin
|
|
---
|
|
duration_ms: 25.175388
|
|
type: 'test'
|
|
...
|
|
# Subtest: the clone is not at its place until git clone has finished
|
|
ok 3 - the clone is not at its place until git clone has finished
|
|
---
|
|
duration_ms: 21.233417
|
|
type: 'test'
|
|
...
|
|
# Subtest: a later launch fast-forwards a clean clone after a commit to the root, then finds it current
|
|
ok 4 - a later launch fast-forwards a clean clone after a commit to the root, then finds it current
|
|
---
|
|
duration_ms: 61.34983
|
|
type: 'test'
|
|
...
|
|
# Subtest: a clone ahead of the root keeps its commits and counts as current
|
|
ok 5 - a clone ahead of the root keeps its commits and counts as current
|
|
---
|
|
duration_ms: 37.777154
|
|
type: 'test'
|
|
...
|
|
# Subtest: a dirty clone and one on another branch are fetched, and nothing but refs/remotes moves
|
|
# Subtest: a modified file
|
|
ok 1 - a modified file
|
|
---
|
|
duration_ms: 45.957005
|
|
type: 'test'
|
|
...
|
|
# Subtest: an untracked file
|
|
ok 2 - an untracked file
|
|
---
|
|
duration_ms: 45.612066
|
|
type: 'test'
|
|
...
|
|
# Subtest: a staged file
|
|
ok 3 - a staged file
|
|
---
|
|
duration_ms: 47.728176
|
|
type: 'test'
|
|
...
|
|
# Subtest: another branch
|
|
ok 4 - another branch
|
|
---
|
|
duration_ms: 48.483066
|
|
type: 'test'
|
|
...
|
|
# Subtest: a detached HEAD
|
|
ok 5 - a detached HEAD
|
|
---
|
|
duration_ms: 48.90738
|
|
type: 'test'
|
|
...
|
|
1..5
|
|
ok 6 - a dirty clone and one on another branch are fetched, and nothing but refs/remotes moves
|
|
---
|
|
duration_ms: 237.917388
|
|
type: 'test'
|
|
...
|
|
# Subtest: a diverged clone gets the fetch into refs/remotes and is kept, not-fast-forward
|
|
ok 7 - a diverged clone gets the fetch into refs/remotes and is kept, not-fast-forward
|
|
---
|
|
duration_ms: 49.440921
|
|
type: 'test'
|
|
...
|
|
# Subtest: a clone kept before the branch check, or for a failed status, gets no fetch
|
|
# Subtest: not-a-clone
|
|
ok 1 - not-a-clone
|
|
---
|
|
duration_ms: 27.091665
|
|
type: 'test'
|
|
...
|
|
# Subtest: hooks-present
|
|
ok 2 - hooks-present
|
|
---
|
|
duration_ms: 27.823914
|
|
type: 'test'
|
|
...
|
|
# Subtest: submodule
|
|
ok 3 - submodule
|
|
---
|
|
duration_ms: 33.409707
|
|
type: 'test'
|
|
...
|
|
# Subtest: config-changed
|
|
ok 4 - config-changed
|
|
---
|
|
duration_ms: 28.581634
|
|
type: 'test'
|
|
...
|
|
# Subtest: root-unreadable
|
|
ok 5 - root-unreadable
|
|
---
|
|
duration_ms: 27.094919
|
|
type: 'test'
|
|
...
|
|
# Subtest: root-detached
|
|
ok 6 - root-detached
|
|
---
|
|
duration_ms: 33.648967
|
|
type: 'test'
|
|
...
|
|
# Subtest: status-failed, on the root's branch and clean
|
|
ok 7 - status-failed, on the root's branch and clean
|
|
---
|
|
duration_ms: 41.141607
|
|
type: 'test'
|
|
...
|
|
# Subtest: status-failed, dirty
|
|
ok 8 - status-failed, dirty
|
|
---
|
|
duration_ms: 44.364432
|
|
type: 'test'
|
|
...
|
|
1..8
|
|
ok 8 - a clone kept before the branch check, or for a failed status, gets no fetch
|
|
---
|
|
duration_ms: 264.561518
|
|
type: 'test'
|
|
...
|
|
# Subtest: a dirty clone whose fetch fails is kept, fetch-failed, exactly as it was
|
|
ok 9 - a dirty clone whose fetch fails is kept, fetch-failed, exactly as it was
|
|
---
|
|
duration_ms: 41.922346
|
|
type: 'test'
|
|
...
|
|
# Subtest: every git call the host makes, for a new clone and an existing one, carries maintenance.auto=false and gc.auto=0
|
|
ok 10 - every git call the host makes, for a new clone and an existing one, carries maintenance.auto=false and gc.auto=0
|
|
---
|
|
duration_ms: 47.074742
|
|
type: 'test'
|
|
...
|
|
# Subtest: a clone with loose objects enough for gc --auto gets no maintenance or gc from the fetch and the merge
|
|
ok 11 - a clone with loose objects enough for gc --auto gets no maintenance or gc from the fetch and the merge
|
|
---
|
|
duration_ms: 86.216254
|
|
type: 'test'
|
|
...
|
|
# Subtest: a clone with user.name or user.email in its config is kept, and git runs nothing in it
|
|
# Subtest: user.name
|
|
ok 1 - user.name
|
|
---
|
|
duration_ms: 27.632761
|
|
type: 'test'
|
|
...
|
|
# Subtest: user.email
|
|
ok 2 - user.email
|
|
---
|
|
duration_ms: 26.578218
|
|
type: 'test'
|
|
...
|
|
1..2
|
|
ok 12 - a clone with user.name or user.email in its config is kept, and git runs nothing in it
|
|
---
|
|
duration_ms: 54.739709
|
|
type: 'test'
|
|
...
|
|
# Subtest: a commit git can't read after the fast-forward is null
|
|
ok 13 - a commit git can't read after the fast-forward is null
|
|
---
|
|
duration_ms: 50.69472
|
|
type: 'test'
|
|
...
|
|
# Subtest: a new clone whose commit can't be read refuses the launch and leaves nothing behind
|
|
ok 14 - a new clone whose commit can't be read refuses the launch and leaves nothing behind
|
|
---
|
|
duration_ms: 19.771042
|
|
type: 'test'
|
|
...
|
|
# Subtest: a clone the session rigged is kept, and git runs nothing and writes nothing outside it
|
|
# Subtest: core.fsmonitor
|
|
ok 1 - core.fsmonitor
|
|
---
|
|
duration_ms: 34.706018
|
|
type: 'test'
|
|
...
|
|
# Subtest: core.hooksPath
|
|
ok 2 - core.hooksPath
|
|
---
|
|
duration_ms: 35.957281
|
|
type: 'test'
|
|
...
|
|
# Subtest: a hook file
|
|
ok 3 - a hook file
|
|
---
|
|
duration_ms: 30.539127
|
|
type: 'test'
|
|
...
|
|
# Subtest: include.path
|
|
ok 4 - include.path
|
|
---
|
|
duration_ms: 35.342479
|
|
type: 'test'
|
|
...
|
|
# Subtest: includeIf
|
|
ok 5 - includeIf
|
|
---
|
|
duration_ms: 32.863775
|
|
type: 'test'
|
|
...
|
|
# Subtest: a filter driver
|
|
ok 6 - a filter driver
|
|
---
|
|
duration_ms: 34.507646
|
|
type: 'test'
|
|
...
|
|
# Subtest: origin moved
|
|
ok 7 - origin moved
|
|
---
|
|
duration_ms: 34.792049
|
|
type: 'test'
|
|
...
|
|
# Subtest: a second origin url
|
|
ok 8 - a second origin url
|
|
---
|
|
duration_ms: 33.242331
|
|
type: 'test'
|
|
...
|
|
# Subtest: the origin url twice, both the root
|
|
ok 9 - the origin url twice, both the root
|
|
---
|
|
duration_ms: 34.700573
|
|
type: 'test'
|
|
...
|
|
# Subtest: an ext:: origin
|
|
ok 10 - an ext:: origin
|
|
---
|
|
duration_ms: 34.963299
|
|
type: 'test'
|
|
...
|
|
# Subtest: a branch tracking another remote
|
|
ok 11 - a branch tracking another remote
|
|
---
|
|
duration_ms: 34.010622
|
|
type: 'test'
|
|
...
|
|
# Subtest: a branch merging a tag
|
|
ok 12 - a branch merging a tag
|
|
---
|
|
duration_ms: 35.041506
|
|
type: 'test'
|
|
...
|
|
# Subtest: a fetch line onto local branches
|
|
ok 13 - a fetch line onto local branches
|
|
---
|
|
duration_ms: 36.045757
|
|
type: 'test'
|
|
...
|
|
# Subtest: no origin
|
|
ok 14 - no origin
|
|
---
|
|
duration_ms: 44.88235
|
|
type: 'test'
|
|
...
|
|
# Subtest: a config file over the size cap
|
|
ok 15 - a config file over the size cap
|
|
---
|
|
duration_ms: 39.391613
|
|
type: 'test'
|
|
...
|
|
# Subtest: config a symlink to /dev/zero
|
|
ok 16 - config a symlink to /dev/zero
|
|
---
|
|
duration_ms: 32.473812
|
|
type: 'test'
|
|
...
|
|
# Subtest: the clone a symlink to the bait
|
|
ok 17 - the clone a symlink to the bait
|
|
---
|
|
duration_ms: 33.934995
|
|
type: 'test'
|
|
...
|
|
# Subtest: the clone a file
|
|
ok 18 - the clone a file
|
|
---
|
|
duration_ms: 31.811918
|
|
type: 'test'
|
|
...
|
|
# Subtest: the clone a plain directory
|
|
ok 19 - the clone a plain directory
|
|
---
|
|
duration_ms: 34.894782
|
|
type: 'test'
|
|
...
|
|
# Subtest: .git a gitdir: file
|
|
ok 20 - .git a gitdir: file
|
|
---
|
|
duration_ms: 36.460136
|
|
type: 'test'
|
|
...
|
|
# Subtest: .git a symlink
|
|
ok 21 - .git a symlink
|
|
---
|
|
duration_ms: 38.25131
|
|
type: 'test'
|
|
...
|
|
# Subtest: .git/logs a symlink
|
|
ok 22 - .git/logs a symlink
|
|
---
|
|
duration_ms: 44.570342
|
|
type: 'test'
|
|
...
|
|
# Subtest: .git/refs/heads a symlink
|
|
ok 23 - .git/refs/heads a symlink
|
|
---
|
|
duration_ms: 42.94201
|
|
type: 'test'
|
|
...
|
|
# Subtest: .git/objects a symlink
|
|
ok 24 - .git/objects a symlink
|
|
---
|
|
duration_ms: 40.408745
|
|
type: 'test'
|
|
...
|
|
# Subtest: a reflog hard-linked to a file outside
|
|
ok 25 - a reflog hard-linked to a file outside
|
|
---
|
|
duration_ms: 38.224977
|
|
type: 'test'
|
|
...
|
|
# Subtest: HEAD a fifo
|
|
ok 26 - HEAD a fifo
|
|
---
|
|
duration_ms: 34.014269
|
|
type: 'test'
|
|
...
|
|
# Subtest: a commondir file
|
|
ok 27 - a commondir file
|
|
---
|
|
duration_ms: 35.607931
|
|
type: 'test'
|
|
...
|
|
# Subtest: an alternates file
|
|
ok 28 - an alternates file
|
|
---
|
|
duration_ms: 33.909149
|
|
type: 'test'
|
|
...
|
|
# Subtest: a gitlink staged, no .gitmodules
|
|
ok 29 - a gitlink staged, no .gitmodules
|
|
---
|
|
duration_ms: 45.657691
|
|
type: 'test'
|
|
...
|
|
# Subtest: a gitlink and .gitmodules staged
|
|
ok 30 - a gitlink and .gitmodules staged
|
|
---
|
|
duration_ms: 48.295751
|
|
type: 'test'
|
|
...
|
|
# Subtest: a gitlink to a repository with its own gitlink
|
|
ok 31 - a gitlink to a repository with its own gitlink
|
|
---
|
|
duration_ms: 58.72496
|
|
type: 'test'
|
|
...
|
|
# Subtest: a gitlink and .gitmodules committed
|
|
ok 32 - a gitlink and .gitmodules committed
|
|
---
|
|
duration_ms: 65.001477
|
|
type: 'test'
|
|
...
|
|
# Subtest: a gitlink and submodule.active in config
|
|
ok 33 - a gitlink and submodule.active in config
|
|
---
|
|
duration_ms: 55.691001
|
|
type: 'test'
|
|
...
|
|
# Subtest: a .git/modules with no gitlink
|
|
ok 34 - a .git/modules with no gitlink
|
|
---
|
|
duration_ms: 39.444413
|
|
type: 'test'
|
|
...
|
|
1..34
|
|
ok 15 - a clone the session rigged is kept, and git runs nothing and writes nothing outside it
|
|
---
|
|
duration_ms: 1326.666259
|
|
type: 'test'
|
|
...
|
|
# Subtest: a root that can't be cloned refuses with the project id and leaves nothing behind
|
|
# Subtest: missing
|
|
ok 1 - missing
|
|
---
|
|
duration_ms: 17.212686
|
|
type: 'test'
|
|
...
|
|
# Subtest: not a repository
|
|
ok 2 - not a repository
|
|
---
|
|
duration_ms: 14.458944
|
|
type: 'test'
|
|
...
|
|
# Subtest: a plain directory inside another repository
|
|
ok 3 - a plain directory inside another repository
|
|
---
|
|
duration_ms: 17.711469
|
|
type: 'test'
|
|
...
|
|
# Subtest: unreadable
|
|
ok 4 - unreadable
|
|
---
|
|
duration_ms: 11.839046
|
|
type: 'test'
|
|
...
|
|
# Subtest: on no branch
|
|
ok 5 - on no branch
|
|
---
|
|
duration_ms: 13.578181
|
|
type: 'test'
|
|
...
|
|
# Subtest: missing an object
|
|
ok 6 - missing an object
|
|
---
|
|
duration_ms: 17.388495
|
|
type: 'test'
|
|
...
|
|
1..6
|
|
ok 16 - a root that can't be cloned refuses with the project id and leaves nothing behind
|
|
---
|
|
duration_ms: 93.35549
|
|
type: 'test'
|
|
...
|
|
# Subtest: a clone whose root is on no branch, or gone, is kept and named
|
|
ok 17 - a clone whose root is on no branch, or gone, is kept and named
|
|
---
|
|
duration_ms: 30.120629
|
|
type: 'test'
|
|
...
|
|
# Subtest: no credential or forge remote of the root reaches a clone
|
|
ok 18 - no credential or forge remote of the root reaches a clone
|
|
---
|
|
duration_ms: 71.183068
|
|
type: 'test'
|
|
...
|
|
# Subtest: every project in the business file gets its own clone at its own branch
|
|
ok 19 - every project in the business file gets its own clone at its own branch
|
|
---
|
|
duration_ms: 60.157421
|
|
type: 'test'
|
|
...
|
|
# Subtest: a clone past its time gets SIGTERM and refuses the launch, with nothing left in the workspace
|
|
ok 20 - a clone past its time gets SIGTERM and refuses the launch, with nothing left in the workspace
|
|
---
|
|
duration_ms: 517.963194
|
|
type: 'test'
|
|
...
|
|
# Subtest: a clone that ignores SIGTERM gets SIGKILL once the grace period is over
|
|
ok 21 - a clone that ignores SIGTERM gets SIGKILL once the grace period is over
|
|
---
|
|
duration_ms: 1028.451881
|
|
type: 'test'
|
|
...
|
|
# Subtest: a timeout signals git's process group, so a process git started dies with it
|
|
ok 22 - a timeout signals git's process group, so a process git started dies with it
|
|
---
|
|
duration_ms: 515.393217
|
|
type: 'test'
|
|
...
|
|
# Subtest: once a signalled git has closed, its group gets SIGKILL, so a process that ignored SIGTERM dies too
|
|
ok 23 - once a signalled git has closed, its group gets SIGKILL, so a process that ignored SIGTERM dies too
|
|
---
|
|
duration_ms: 514.520072
|
|
type: 'test'
|
|
...
|
|
1..23
|
|
# tests 78
|
|
# suites 0
|
|
# pass 78
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 5245.040788
|
|
END {"label": "seat-checkout.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/seat/tests/checkout.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gqFq9qw", "rc": 0, "wall_seconds": 5.325, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/seat-checkout.test.log", "counts": {"tests": 78, "pass": 78, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "seat-compactions-budget.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/seat/tests/compactions-budget.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gzNWRcT"}
|
|
TAP version 13
|
|
# Subtest: the budget is the setting's whole number of bytes from 1 MiB to 1 GiB, and the default for anything else
|
|
ok 1 - the budget is the setting's whole number of bytes from 1 MiB to 1 GiB, and the default for anything else
|
|
---
|
|
duration_ms: 0.693597
|
|
type: 'test'
|
|
...
|
|
# Subtest: a stream past the default budget is not-collected with a lower bound, and a later collection catches up
|
|
ok 2 - a stream past the default budget is not-collected with a lower bound, and a later collection catches up
|
|
---
|
|
duration_ms: 38.233552
|
|
type: 'test'
|
|
...
|
|
# Subtest: a budget smaller than the streams counts over several collections, once each, and is known when it catches up
|
|
ok 3 - a budget smaller than the streams counts over several collections, once each, and is known when it catches up
|
|
---
|
|
duration_ms: 1.468559
|
|
type: 'test'
|
|
...
|
|
# Subtest: a line split across reads counts once
|
|
ok 4 - a line split across reads counts once
|
|
---
|
|
duration_ms: 6.561999
|
|
type: 'test'
|
|
...
|
|
# Subtest: Claude history from before the ledger makes the first Pi collection harness-unsupported, for good
|
|
ok 5 - Claude history from before the ledger makes the first Pi collection harness-unsupported, for good
|
|
---
|
|
duration_ms: 1.355384
|
|
type: 'test'
|
|
...
|
|
# Subtest: an empty claude-projects/ is no Claude history, and one filled after the ledger exists isn't checked
|
|
ok 6 - an empty claude-projects/ is no Claude history, and one filled after the ledger exists isn't checked
|
|
---
|
|
duration_ms: 0.962183
|
|
type: 'test'
|
|
...
|
|
# Subtest: a claude-projects/ that can't be read records nothing, and the next collection checks again
|
|
ok 7 - a claude-projects/ that can't be read records nothing, and the next collection checks again
|
|
---
|
|
duration_ms: 0.938527
|
|
type: 'test'
|
|
...
|
|
# Subtest: the stream cap is the setting's whole number from 32 to 65536, and the default for anything else
|
|
ok 8 - the stream cap is the setting's whole number from 32 to 65536, and the default for anything else
|
|
---
|
|
duration_ms: 0.129948
|
|
type: 'test'
|
|
...
|
|
# Subtest: more streams than the cap is not-collected, with cursors only for the streams opened, and a larger cap catches up
|
|
ok 9 - more streams than the cap is not-collected, with cursors only for the streams opened, and a larger cap catches up
|
|
---
|
|
duration_ms: 1.215003
|
|
type: 'test'
|
|
...
|
|
# Subtest: the default cap opens STREAMS streams and writes no more cursor lines than that
|
|
ok 10 - the default cap opens STREAMS streams and writes no more cursor lines than that
|
|
---
|
|
duration_ms: 30.781709
|
|
type: 'test'
|
|
...
|
|
1..10
|
|
# tests 10
|
|
# suites 0
|
|
# pass 10
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 148.858661
|
|
END {"label": "seat-compactions-budget.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/seat/tests/compactions-budget.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gzNWRcT", "rc": 0, "wall_seconds": 0.214, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/seat-compactions-budget.test.log", "counts": {"tests": 10, "pass": 10, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "seat-compactions.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/seat/tests/compactions.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gg5BtAj"}
|
|
TAP version 13
|
|
# Subtest: an empty store, a store with no compaction and a failed start count 0, known
|
|
ok 1 - an empty store, a store with no compaction and a failed start count 0, known
|
|
---
|
|
duration_ms: 3.786685
|
|
type: 'test'
|
|
...
|
|
# Subtest: one and three completed compactions
|
|
ok 2 - one and three completed compactions
|
|
---
|
|
duration_ms: 1.239366
|
|
type: 'test'
|
|
...
|
|
# Subtest: a compaction copied into a branched stream counts once, under the stream it was first seen in
|
|
ok 3 - a compaction copied into a branched stream counts once, under the stream it was first seen in
|
|
---
|
|
duration_ms: 1.287347
|
|
type: 'test'
|
|
...
|
|
# Subtest: one collection over two streams holding the same copy counts it once and writes it once
|
|
ok 4 - one collection over two streams holding the same copy counts it once and writes it once
|
|
---
|
|
duration_ms: 0.806001
|
|
type: 'test'
|
|
...
|
|
# Subtest: the same entry id at another time in another stream is another compaction
|
|
ok 5 - the same entry id at another time in another stream is another compaction
|
|
---
|
|
duration_ms: 0.752255
|
|
type: 'test'
|
|
...
|
|
# Subtest: resume: each collection reads past its cursor and writes a key once
|
|
ok 6 - resume: each collection reads past its cursor and writes a key once
|
|
---
|
|
duration_ms: 1.040943
|
|
type: 'test'
|
|
...
|
|
# Subtest: a partial trailing line waits for its newline
|
|
ok 7 - a partial trailing line waits for its newline
|
|
---
|
|
duration_ms: 0.942654
|
|
type: 'test'
|
|
...
|
|
# Subtest: a missing ledger is not-collected and an unreadable one store-unreadable, never 0
|
|
ok 8 - a missing ledger is not-collected and an unreadable one store-unreadable, never 0
|
|
---
|
|
duration_ms: 0.823028
|
|
type: 'test'
|
|
...
|
|
# Subtest: a symlinked ledger is store-unreadable and is not written through
|
|
ok 9 - a symlinked ledger is store-unreadable and is not written through
|
|
---
|
|
duration_ms: 0.583842
|
|
type: 'test'
|
|
...
|
|
# Subtest: a torn last ledger line makes the count unknown, a lower bound, and stays so
|
|
ok 10 - a torn last ledger line makes the count unknown, a lower bound, and stays so
|
|
---
|
|
duration_ms: 0.977393
|
|
type: 'test'
|
|
...
|
|
# Subtest: a bad ledger line in the middle makes the count unknown
|
|
ok 11 - a bad ledger line in the middle makes the count unknown
|
|
---
|
|
duration_ms: 1.063796
|
|
type: 'test'
|
|
...
|
|
# Subtest: a stream that shrank, changed under its cursor or went away is store-incomplete for good
|
|
# Subtest: shrink
|
|
ok 1 - shrink
|
|
---
|
|
duration_ms: 1.646466
|
|
type: 'test'
|
|
...
|
|
# Subtest: rewrite
|
|
ok 2 - rewrite
|
|
---
|
|
duration_ms: 0.718617
|
|
type: 'test'
|
|
...
|
|
# Subtest: remove
|
|
ok 3 - remove
|
|
---
|
|
duration_ms: 0.591566
|
|
type: 'test'
|
|
...
|
|
1..3
|
|
ok 12 - a stream that shrank, changed under its cursor or went away is store-incomplete for good
|
|
---
|
|
duration_ms: 3.370229
|
|
type: 'test'
|
|
...
|
|
# Subtest: a stream that isn't a regular file or a Pi session is store-unreadable, and that passes
|
|
ok 13 - a stream that isn't a regular file or a Pi session is store-unreadable, and that passes
|
|
---
|
|
duration_ms: 0.584505
|
|
type: 'test'
|
|
...
|
|
# Subtest: a first line that isn't a session header is store-unreadable
|
|
ok 14 - a first line that isn't a session header is store-unreadable
|
|
---
|
|
duration_ms: 0.477206
|
|
type: 'test'
|
|
...
|
|
# Subtest: a Claude run is harness-unsupported, and stays so after a Pi run
|
|
ok 15 - a Claude run is harness-unsupported, and stays so after a Pi run
|
|
---
|
|
duration_ms: 0.520112
|
|
type: 'test'
|
|
...
|
|
# Subtest: storeDir is the store sessionStore makes, without making it
|
|
ok 16 - storeDir is the store sessionStore makes, without making it
|
|
---
|
|
duration_ms: 0.684341
|
|
type: 'test'
|
|
...
|
|
# Subtest: the ledger is under no sandbox mount
|
|
ok 17 - the ledger is under no sandbox mount
|
|
---
|
|
duration_ms: 1.748553
|
|
type: 'test'
|
|
...
|
|
1..17
|
|
# tests 20
|
|
# suites 0
|
|
# pass 20
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 83.24161
|
|
END {"label": "seat-compactions.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/seat/tests/compactions.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gg5BtAj", "rc": 0, "wall_seconds": 0.164, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/seat-compactions.test.log", "counts": {"tests": 20, "pass": 20, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "seat-landing.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/seat/tests/landing.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/g8nzPBa"}
|
|
TAP version 13
|
|
# Subtest: rootHits: a top-level file, a new top-level directory, src/ and v1/ are the root; paths under known directories aren't
|
|
ok 1 - rootHits: a top-level file, a new top-level directory, src/ and v1/ are the root; paths under known directories aren't
|
|
---
|
|
duration_ms: 1.123079
|
|
type: 'test'
|
|
...
|
|
# Subtest: gateEnv keeps the named variables that are strings and drops everything else
|
|
ok 2 - gateEnv keeps the named variables that are strings and drops everything else
|
|
---
|
|
duration_ms: 0.187697
|
|
type: 'test'
|
|
...
|
|
# Subtest: isMosaicStack: a checkout whose HEAD descends from the root commit and has node_modules; nothing else
|
|
ok 3 - isMosaicStack: a checkout whose HEAD descends from the root commit and has node_modules; nothing else
|
|
---
|
|
duration_ms: 30.850103
|
|
type: 'test'
|
|
...
|
|
# Subtest: gateSteps: each package with tests but queue in name order, then each scripts/test-*.sh
|
|
ok 4 - gateSteps: each package with tests but queue in name order, then each scripts/test-*.sh
|
|
---
|
|
duration_ms: 1.536131
|
|
type: 'test'
|
|
...
|
|
# Subtest: runGate: every step passes, each with its own log and a summary line, under the environment it was given
|
|
ok 5 - runGate: every step passes, each with its own log and a summary line, under the environment it was given
|
|
---
|
|
duration_ms: 156.176549
|
|
type: 'test'
|
|
...
|
|
# Subtest: runGate: the first failing step stops the gate and names its log
|
|
ok 6 - runGate: the first failing step stops the gate and names its log
|
|
---
|
|
duration_ms: 245.827669
|
|
type: 'test'
|
|
...
|
|
# Subtest: runGate: an abort stops the running step and everything in its group, and runs nothing after it
|
|
ok 7 - runGate: an abort stops the running step and everything in its group, and runs nothing after it
|
|
---
|
|
duration_ms: 207.02327
|
|
type: 'test'
|
|
...
|
|
# Subtest: the CLI: root-file prints the hits and exits 2, or exits 0; gate exits 0, or 2 with the step and its log; anything else is usage
|
|
ok 8 - the CLI: root-file prints the hits and exits 2, or exits 0; gate exits 0, or 2 with the step and its log; anything else is usage
|
|
---
|
|
duration_ms: 597.254344
|
|
type: 'test'
|
|
...
|
|
1..8
|
|
# tests 8
|
|
# suites 0
|
|
# pass 8
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 1296.730135
|
|
END {"label": "seat-landing.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/seat/tests/landing.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/g8nzPBa", "rc": 0, "wall_seconds": 1.367, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/seat-landing.test.log", "counts": {"tests": 8, "pass": 8, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "seat-publish.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/seat/tests/publish.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gyeaqQN"}
|
|
TAP version 13
|
|
# Subtest: T3: publish pushes the work commit by oid to <user>/<branch> on the fork, with the token only through the helper
|
|
ok 1 - T3: publish pushes the work commit by oid to <user>/<branch> on the fork, with the token only through the helper
|
|
---
|
|
duration_ms: 231.276516
|
|
type: 'test'
|
|
...
|
|
# Subtest: T3: the token is never in git's argv, the fork URL included; it reaches git on fd 3 only
|
|
ok 2 - T3: the token is never in git's argv, the fork URL included; it reaches git on fd 3 only
|
|
---
|
|
duration_ms: 135.794251
|
|
type: 'test'
|
|
...
|
|
# Subtest: T3: a moved fork branch refuses non-fast-forward; no + and no force
|
|
ok 3 - T3: a moved fork branch refuses non-fast-forward; no + and no force
|
|
---
|
|
duration_ms: 150.92472
|
|
type: 'test'
|
|
...
|
|
# Subtest: T3: D9a: an empty fork and an unrelated fork refuse remote-unrelated; a missing fork refuses fork-unavailable
|
|
ok 4 - T3: D9a: an empty fork and an unrelated fork refuse remote-unrelated; a missing fork refuses fork-unavailable
|
|
---
|
|
duration_ms: 361.89729
|
|
type: 'test'
|
|
...
|
|
# Subtest: T3: a fork past main refuses remote-unrelated until root catches up
|
|
ok 5 - T3: a fork past main refuses remote-unrelated until root catches up
|
|
---
|
|
duration_ms: 165.12983
|
|
type: 'test'
|
|
...
|
|
# Subtest: T3: a wrong token refuses fork-unavailable; git's stderr isn't in the refusal
|
|
ok 6 - T3: a wrong token refuses fork-unavailable; git's stderr isn't in the refusal
|
|
---
|
|
duration_ms: 117.204745
|
|
type: 'test'
|
|
...
|
|
# Subtest: T3: a 302 is not followed: fork-unavailable, and the target sees no request
|
|
ok 7 - T3: a 302 is not followed: fork-unavailable, and the target sees no request
|
|
---
|
|
duration_ms: 144.377857
|
|
type: 'test'
|
|
...
|
|
# Subtest: T3: the helper answers only the fork's host and port: a fork on another port gets no token
|
|
ok 8 - T3: the helper answers only the fork's host and port: a fork on another port gets no token
|
|
---
|
|
duration_ms: 105.609522
|
|
type: 'test'
|
|
...
|
|
# Subtest: T3: a fork that echoes the token refuses credential-leak
|
|
ok 9 - T3: a fork that echoes the token refuses credential-leak
|
|
---
|
|
duration_ms: 147.118355
|
|
type: 'test'
|
|
...
|
|
# Subtest: T3: no tls parameter, no trust: the scratch CA reaches git only through it
|
|
ok 10 - T3: no tls parameter, no trust: the scratch CA reaches git only through it
|
|
---
|
|
duration_ms: 94.676242
|
|
type: 'test'
|
|
...
|
|
# Subtest: D9 steps 3 and 4: ref-moved and identity-mismatch refuse before any request
|
|
ok 11 - D9 steps 3 and 4: ref-moved and identity-mismatch refuse before any request
|
|
---
|
|
duration_ms: 141.170426
|
|
type: 'test'
|
|
...
|
|
# Subtest: publishRemote refuses a fork, user or destination that isn't shell- and ref-safe before any git
|
|
ok 12 - publishRemote refuses a fork, user or destination that isn't shell- and ref-safe before any git
|
|
---
|
|
duration_ms: 83.10525
|
|
type: 'test'
|
|
...
|
|
1..12
|
|
# tests 12
|
|
# suites 0
|
|
# pass 12
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 1943.52846
|
|
END {"label": "seat-publish.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/seat/tests/publish.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gyeaqQN", "rc": 0, "wall_seconds": 2.018, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/seat-publish.test.log", "counts": {"tests": 12, "pass": 12, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "seat-sandbox.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/seat/tests/sandbox.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gESs6Wr"}
|
|
TAP version 13
|
|
# Subtest: RUNNER_FILES is exactly what the runner and the harness sources it starts import
|
|
ok 1 - RUNNER_FILES is exactly what the runner and the harness sources it starts import
|
|
---
|
|
duration_ms: 2.884617
|
|
type: 'test'
|
|
...
|
|
# Subtest: sandboxProblem names a missing bwrap and a bwrap that fails
|
|
ok 2 - sandboxProblem names a missing bwrap and a bwrap that fails
|
|
---
|
|
duration_ms: 10.111937
|
|
type: 'test'
|
|
...
|
|
# Subtest: every bind says why; the bundle and session file stay read-only over the run directory
|
|
ok 3 - every bind says why; the bundle and session file stay read-only over the run directory
|
|
---
|
|
duration_ms: 1.39654
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 65 a harness module's mounts bind read-only after the adapter, each with the module's reason
|
|
ok 4 - row 65 a harness module's mounts bind read-only after the adapter, each with the module's reason
|
|
---
|
|
duration_ms: 1.082628
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-THREAD-2 a thread store binds its session directory and Claude transcripts, and nothing more
|
|
ok 5 - REQ-THREAD-2 a thread store binds its session directory and Claude transcripts, and nothing more
|
|
---
|
|
duration_ms: 0.825069
|
|
type: 'test'
|
|
...
|
|
# Subtest: the host's git socket is bound only when given, read-only and before the writable binds
|
|
ok 6 - the host's git socket is bound only when given, read-only and before the writable binds
|
|
---
|
|
duration_ms: 0.606682
|
|
type: 'test'
|
|
...
|
|
# Subtest: the git identity is the instance's, at <instance>@<business>.mosaic.invalid, and sandboxArgv refuses without it
|
|
ok 7 - the git identity is the instance's, at <instance>@<business>.mosaic.invalid, and sandboxArgv refuses without it
|
|
---
|
|
duration_ms: 1.002118
|
|
type: 'test'
|
|
...
|
|
# Subtest: a confined session's shell reaches its own workspace and run directory and nothing of the founder's or another session's
|
|
ok 8 - a confined session's shell reaches its own workspace and run directory and nothing of the founder's or another session's
|
|
---
|
|
duration_ms: 2006.479121
|
|
type: 'test'
|
|
...
|
|
# Subtest: a bind that exposes a stand-in, or a missing workspace bind, fails the matching check
|
|
ok 9 - a bind that exposes a stand-in, or a missing workspace bind, fails the matching check
|
|
---
|
|
duration_ms: 3263.198794
|
|
type: 'test'
|
|
...
|
|
# Subtest: a confined session that runs tester-cli.mjs is refused as tester, and the same shim outside the sandbox binds
|
|
ok 10 - a confined session that runs tester-cli.mjs is refused as tester, and the same shim outside the sandbox binds
|
|
---
|
|
duration_ms: 363.613215
|
|
type: 'test'
|
|
...
|
|
1..10
|
|
# tests 10
|
|
# suites 0
|
|
# pass 10
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 5758.370649
|
|
END {"label": "seat-sandbox.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/seat/tests/sandbox.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gESs6Wr", "rc": 0, "wall_seconds": 5.827, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/seat-sandbox.test.log", "counts": {"tests": 10, "pass": 10, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "seat-seat.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/seat/tests/seat.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gFfZY7n"}
|
|
TAP version 13
|
|
# Subtest: resolveSeat: by name under --repo resolves the repo layout
|
|
ok 1 - resolveSeat: by name under --repo resolves the repo layout
|
|
---
|
|
duration_ms: 1.345274
|
|
type: 'test'
|
|
...
|
|
# Subtest: resolveSeat: by path resolves the fleet layout
|
|
ok 2 - resolveSeat: by path resolves the fleet layout
|
|
---
|
|
duration_ms: 0.367141
|
|
type: 'test'
|
|
...
|
|
# Subtest: resolveSeat: refusals for missing dir, missing launch.sh, non-executable launch.sh, invalid name, and unknown layout
|
|
ok 3 - resolveSeat: refusals for missing dir, missing launch.sh, non-executable launch.sh, invalid name, and unknown layout
|
|
---
|
|
duration_ms: 0.76168
|
|
type: 'test'
|
|
...
|
|
# Subtest: tmuxContext: outside tmux, default socket, custom socket, and exec failure
|
|
ok 4 - tmuxContext: outside tmux, default socket, custom socket, and exec failure
|
|
---
|
|
duration_ms: 0.675883
|
|
type: 'test'
|
|
...
|
|
# Subtest: makeRegistration produces a record that validates; each shape violation throws SeatError
|
|
ok 5 - makeRegistration produces a record that validates; each shape violation throws SeatError
|
|
---
|
|
duration_ms: 0.847459
|
|
type: 'test'
|
|
...
|
|
# Subtest: writeRegistration/readRegistration: round trip, permissions, absence, and malformed records
|
|
ok 6 - writeRegistration/readRegistration: round trip, permissions, absence, and malformed records
|
|
---
|
|
duration_ms: 1.310297
|
|
type: 'test'
|
|
...
|
|
# Subtest: updateTask: changes task, taskSetBy and updatedAt only, and refuses appropriately
|
|
ok 7 - updateTask: changes task, taskSetBy and updatedAt only, and refuses appropriately
|
|
---
|
|
duration_ms: 1.201692
|
|
type: 'test'
|
|
...
|
|
# Subtest: CLI launch: registers, execs the fake launch script, and passes args through
|
|
ok 8 - CLI launch: registers, execs the fake launch script, and passes args through
|
|
---
|
|
duration_ms: 31.924321
|
|
type: 'test'
|
|
...
|
|
# Subtest: CLI launch: --harness lands in the record
|
|
ok 9 - CLI launch: --harness lands in the record
|
|
---
|
|
duration_ms: 30.687527
|
|
type: 'test'
|
|
...
|
|
# Subtest: CLI launch: the launch script's own exit code passes through
|
|
ok 10 - CLI launch: the launch script's own exit code passes through
|
|
---
|
|
duration_ms: 30.794153
|
|
type: 'test'
|
|
...
|
|
# Subtest: CLI launch: relaunching a seat rewrites the one registration record
|
|
ok 11 - CLI launch: relaunching a seat rewrites the one registration record
|
|
---
|
|
duration_ms: 60.449255
|
|
type: 'test'
|
|
...
|
|
# Subtest: CLI launch: omitting --task records an empty string, not null
|
|
ok 12 - CLI launch: omitting --task records an empty string, not null
|
|
---
|
|
duration_ms: 35.858046
|
|
type: 'test'
|
|
...
|
|
# Subtest: CLI seat task: updates only the task after a launch, and refuses on an unlaunched seat
|
|
ok 13 - CLI seat task: updates only the task after a launch, and refuses on an unlaunched seat
|
|
---
|
|
duration_ms: 106.646338
|
|
type: 'test'
|
|
...
|
|
# Subtest: CLI refusals: no args, unknown flag, missing config, already-registered env, and exec failure
|
|
ok 14 - CLI refusals: no args, unknown flag, missing config, already-registered env, and exec failure
|
|
---
|
|
duration_ms: 144.221449
|
|
type: 'test'
|
|
...
|
|
# Subtest: samePath: equal paths, symlinked dirs, distinct dirs, and non-strings
|
|
ok 15 - samePath: equal paths, symlinked dirs, distinct dirs, and non-strings
|
|
---
|
|
duration_ms: 0.492568
|
|
type: 'test'
|
|
...
|
|
# Subtest: resolveSetBy: explicit --by wins over the environment; absent or empty environment gives unknown; invalid explicit or environment values refuse with exit 4
|
|
ok 16 - resolveSetBy: explicit --by wins over the environment; absent or empty environment gives unknown; invalid explicit or environment values refuse with exit 4
|
|
---
|
|
duration_ms: 0.628637
|
|
type: 'test'
|
|
...
|
|
# Subtest: validateRegistration/readRegistration: taskSetBy is optional; a record without it (written before \#1511) still loads unchanged; an invalid one is refused; the version does not change
|
|
ok 17 - validateRegistration/readRegistration: taskSetBy is optional; a record without it (written before \#1511) still loads unchanged; an invalid one is refused; the version does not change
|
|
---
|
|
duration_ms: 0.769793
|
|
type: 'test'
|
|
...
|
|
# Subtest: updateTask: records setBy, preserves startedAt and every unrelated field, upgrades an old record in place only when the task is set, and replaces a previous attribution
|
|
ok 18 - updateTask: records setBy, preserves startedAt and every unrelated field, upgrades an old record in place only when the task is set, and replaces a previous attribution
|
|
---
|
|
duration_ms: 1.192042
|
|
type: 'test'
|
|
...
|
|
# Subtest: CLI seat task: --by beats MOSAIC_AGENT_NAME, the environment beats nothing, empty environment is unknown, invalid --by or environment refuses with exit 4 and leaves the record byte for byte
|
|
ok 19 - CLI seat task: --by beats MOSAIC_AGENT_NAME, the environment beats nothing, empty environment is unknown, invalid --by or environment refuses with exit 4 and leaves the record byte for byte
|
|
---
|
|
duration_ms: 284.75634
|
|
type: 'test'
|
|
...
|
|
1..19
|
|
# tests 19
|
|
# suites 0
|
|
# pass 19
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 794.431701
|
|
END {"label": "seat-seat.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/seat/tests/seat.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gFfZY7n", "rc": 0, "wall_seconds": 0.866, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/seat-seat.test.log", "counts": {"tests": 19, "pass": 19, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "seat-session-workspace.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/seat/tests/session-workspace.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/g6Btg55"}
|
|
TAP version 13
|
|
# Subtest: REQ-THREAD-2 sessionStore: a legacy session keeps the thread's store, any other gets sessions/<s>/, each segment checked first
|
|
ok 1 - REQ-THREAD-2 sessionStore: a legacy session keeps the thread's store, any other gets sessions/<s>/, each segment checked first
|
|
---
|
|
duration_ms: 2.577276
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-THREAD-2 sessionStore refuses legacy-store-unmapped for a thread whose old store no legacy session maps
|
|
ok 2 - REQ-THREAD-2 sessionStore refuses legacy-store-unmapped for a thread whose old store no legacy session maps
|
|
---
|
|
duration_ms: 0.920179
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-THREAD-2 sessionWorkspace: private directories per session, unsafe segments and overlaps refused
|
|
ok 3 - REQ-THREAD-2 sessionWorkspace: private directories per session, unsafe segments and overlaps refused
|
|
---
|
|
duration_ms: 1.856592
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-THREAD-2 lockSessionWorkspace: one writer; a live host or run holds it, a stale lock is taken over, an unreadable one holds
|
|
ok 4 - REQ-THREAD-2 lockSessionWorkspace: one writer; a live host or run holds it, a stale lock is taken over, an unreadable one holds
|
|
---
|
|
duration_ms: 6.376895
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-THREAD-2 sessions.json v2: entries carry session and workspace, running() keys on the session, a v1 file still reads
|
|
ok 5 - REQ-THREAD-2 sessions.json v2: entries carry session and workspace, running() keys on the session, a v1 file still reads
|
|
---
|
|
duration_ms: 0.900215
|
|
type: 'test'
|
|
...
|
|
1..5
|
|
# tests 5
|
|
# suites 0
|
|
# pass 5
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 64.258146
|
|
END {"label": "seat-session-workspace.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/seat/tests/session-workspace.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/g6Btg55", "rc": 0, "wall_seconds": 0.114, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/seat-session-workspace.test.log", "counts": {"tests": 5, "pass": 5, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "seat-session.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/seat/tests/session.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gFUjtoP"}
|
|
TAP version 13
|
|
# Subtest: REQ-LIMIT-1: family substring matching is no longer exported
|
|
ok 1 - REQ-LIMIT-1: family substring matching is no longer exported
|
|
---
|
|
duration_ms: 0.843624
|
|
type: 'test'
|
|
...
|
|
# Subtest: sessionEnv passes only the allowlist, the repo's bin on PATH, and the run id
|
|
ok 2 - sessionEnv passes only the allowlist, the repo's bin on PATH, and the run id
|
|
---
|
|
duration_ms: 0.786266
|
|
type: 'test'
|
|
...
|
|
# Subtest: ZAI_API_KEY passes the session allowlist, and ZAI_TOKEN does not
|
|
ok 3 - ZAI_API_KEY passes the session allowlist, and ZAI_TOKEN does not
|
|
---
|
|
duration_ms: 0.138534
|
|
type: 'test'
|
|
...
|
|
# Subtest: sessionExit gives a runner's signal death back as the signal; a session credential is one whole set of nonempty variables
|
|
ok 4 - sessionExit gives a runner's signal death back as the signal; a session credential is one whole set of nonempty variables
|
|
---
|
|
duration_ms: 0.270801
|
|
type: 'test'
|
|
...
|
|
# Subtest: newRun: short ids, 0700 directories, and a refusal when the socket path won't fit
|
|
ok 5 - newRun: short ids, 0700 directories, and a refusal when the socket path won't fit
|
|
---
|
|
duration_ms: 1.605133
|
|
type: 'test'
|
|
...
|
|
# Subtest: session file and launch log: 0600, the session file written once
|
|
ok 6 - session file and launch log: 0600, the session file written once
|
|
---
|
|
duration_ms: 1.148841
|
|
type: 'test'
|
|
...
|
|
# Subtest: endReason maps the runner's exit codes; a signal is killed
|
|
ok 7 - endReason maps the runner's exit codes; a signal is killed
|
|
---
|
|
duration_ms: 0.123416
|
|
type: 'test'
|
|
...
|
|
# Subtest: Registry mirrors to sessions.json; readSessions marks live entries; bad files refuse
|
|
ok 8 - Registry mirrors to sessions.json; readSessions marks live entries; bad files refuse
|
|
---
|
|
duration_ms: 1.342531
|
|
type: 'test'
|
|
...
|
|
# Subtest: a read-only Registry never writes sessions.json, refuses add() and leaves the file on remove()
|
|
ok 9 - a read-only Registry never writes sessions.json, refuses add() and leaves the file on remove()
|
|
---
|
|
duration_ms: 1.099708
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-THREAD-1 Registry.running keys a thread run by business, instance and thread
|
|
ok 10 - REQ-THREAD-1 Registry.running keys a thread run by business, instance and thread
|
|
---
|
|
duration_ms: 0.545301
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-THREAD-2 REQ-LAUNCH-1 threadStore checks both segments before the join and refuses an unsafe directory
|
|
ok 11 - REQ-THREAD-2 REQ-LAUNCH-1 threadStore checks both segments before the join and refuses an unsafe directory
|
|
---
|
|
duration_ms: 1.279771
|
|
type: 'test'
|
|
...
|
|
# Subtest: stopSession refuses an unknown run, reports a stale one, and won't signal a pid that isn't a runner
|
|
ok 12 - stopSession refuses an unknown run, reports a stale one, and won't signal a pid that isn't a runner
|
|
---
|
|
duration_ms: 0.91097
|
|
type: 'test'
|
|
...
|
|
# Subtest: a session runs in its sandbox as pid 1 of its namespace, claims, answers, and stops on mosaic stop
|
|
ok 13 - a session runs in its sandbox as pid 1 of its namespace, claims, answers, and stops on mosaic stop
|
|
---
|
|
duration_ms: 268.014383
|
|
type: 'test'
|
|
...
|
|
1..13
|
|
# tests 13
|
|
# suites 0
|
|
# pass 13
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 376.918919
|
|
END {"label": "seat-session.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/seat/tests/session.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gFUjtoP", "rc": 0, "wall_seconds": 0.415, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/seat-session.test.log", "counts": {"tests": 13, "pass": 13, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "seat-working.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/seat/tests/working.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gVCCkN6"}
|
|
TAP version 13
|
|
# Subtest: workRef and validBranch take only what a ref name can hold
|
|
ok 1 - workRef and validBranch take only what a ref name can hold
|
|
---
|
|
duration_ms: 1.457992
|
|
type: 'test'
|
|
...
|
|
# Subtest: a push lands as the task's work ref, a fast-forward lands after it, and main is the root's
|
|
ok 2 - a push lands as the task's work ref, a fast-forward lands after it, and main is the root's
|
|
---
|
|
duration_ms: 165.144078
|
|
type: 'test'
|
|
...
|
|
# Subtest: a rewritten branch refuses non-fast-forward and the work ref stays
|
|
ok 3 - a rewritten branch refuses non-fast-forward and the work ref stays
|
|
---
|
|
duration_ms: 108.381347
|
|
type: 'test'
|
|
...
|
|
# Subtest: a branch with no history in common with main refuses unrelated-history
|
|
ok 4 - a branch with no history in common with main refuses unrelated-history
|
|
---
|
|
duration_ms: 53.267324
|
|
type: 'test'
|
|
...
|
|
# Subtest: a bundle that needs commits the working repository lacks refuses missing-prerequisite
|
|
ok 5 - a bundle that needs commits the working repository lacks refuses missing-prerequisite
|
|
---
|
|
duration_ms: 43.189685
|
|
type: 'test'
|
|
...
|
|
# Subtest: the root is fetched again before each push and main follows it, so a clone of a newer root pushes
|
|
ok 6 - the root is fetched again before each push and main follows it, so a clone of a newer root pushes
|
|
---
|
|
duration_ms: 113.142214
|
|
type: 'test'
|
|
...
|
|
# Subtest: a root moved back after the clone leaves the push's base unknown: missing-prerequisite
|
|
ok 7 - a root moved back after the clone leaves the push's base unknown: missing-prerequisite
|
|
---
|
|
duration_ms: 100.592837
|
|
type: 'test'
|
|
...
|
|
# Subtest: a commit with a broken object refuses invalid-bundle, and only because fsck is on
|
|
ok 8 - a commit with a broken object refuses invalid-bundle, and only because fsck is on
|
|
---
|
|
duration_ms: 94.737298
|
|
type: 'test'
|
|
...
|
|
# Subtest: only a v2 bundle with the named branch is read
|
|
ok 9 - only a v2 bundle with the named branch is read
|
|
---
|
|
duration_ms: 55.373948
|
|
type: 'test'
|
|
...
|
|
# Subtest: a branch named main, or named for another task, moves only this task's work ref
|
|
ok 10 - a branch named main, or named for another task, moves only this task's work ref
|
|
---
|
|
duration_ms: 84.308855
|
|
type: 'test'
|
|
...
|
|
# Subtest: a record that throws moves the work ref back, or removes a new one
|
|
ok 11 - a record that throws moves the work ref back, or removes a new one
|
|
---
|
|
duration_ms: 118.557495
|
|
type: 'test'
|
|
...
|
|
# Subtest: a work ref that can't go back refuses rollback-failed, naming the ref and the commit
|
|
ok 12 - a work ref that can't go back refuses rollback-failed, naming the ref and the commit
|
|
---
|
|
duration_ms: 346.117737
|
|
type: 'test'
|
|
...
|
|
# Subtest: a root that can't be read refuses root-unreadable
|
|
ok 13 - a root that can't be read refuses root-unreadable
|
|
---
|
|
duration_ms: 34.38137
|
|
type: 'test'
|
|
...
|
|
# Subtest: a git past its time gets SIGTERM, leaves no ref lock, and the next push lands
|
|
ok 14 - a git past its time gets SIGTERM, leaves no ref lock, and the next push lands
|
|
---
|
|
duration_ms: 2146.227563
|
|
type: 'test'
|
|
...
|
|
# Subtest: a git that ignores SIGTERM gets SIGKILL once the grace period is over
|
|
ok 15 - a git that ignores SIGTERM gets SIGKILL once the grace period is over
|
|
---
|
|
duration_ms: 1033.75752
|
|
type: 'test'
|
|
...
|
|
# Subtest: a working repository path that isn't a directory refuses
|
|
ok 16 - a working repository path that isn't a directory refuses
|
|
---
|
|
duration_ms: 24.93429
|
|
type: 'test'
|
|
...
|
|
# Subtest: review bundles a pushed commit as refs/mosaic/review, leaving out what the reviewer has
|
|
ok 17 - review bundles a pushed commit as refs/mosaic/review, leaving out what the reviewer has
|
|
---
|
|
duration_ms: 130.864658
|
|
type: 'test'
|
|
...
|
|
# Subtest: review of a project with no working repository refuses unknown-commit
|
|
ok 18 - review of a project with no working repository refuses unknown-commit
|
|
---
|
|
duration_ms: 14.022105
|
|
type: 'test'
|
|
...
|
|
# Subtest: the runner's git tools hold the host's limits and branch rule
|
|
ok 19 - the runner's git tools hold the host's limits and branch rule
|
|
---
|
|
duration_ms: 1.11721
|
|
type: 'test'
|
|
...
|
|
# Subtest: a reseed moves root but leaves a landed main, and main forwards once root contains it
|
|
ok 20 - a reseed moves root but leaves a landed main, and main forwards once root contains it
|
|
---
|
|
duration_ms: 189.866224
|
|
type: 'test'
|
|
...
|
|
# Subtest: after a landing, a push built on the root still lands and main stays where the landing put it
|
|
ok 21 - after a landing, a push built on the root still lands and main stays where the landing put it
|
|
---
|
|
duration_ms: 128.441917
|
|
type: 'test'
|
|
...
|
|
# Subtest: once the root shares no history with a landed main, a push is checked against main, not the root
|
|
ok 22 - once the root shares no history with a landed main, a push is checked against main, not the root
|
|
---
|
|
duration_ms: 184.346975
|
|
type: 'test'
|
|
...
|
|
# Subtest: a landing squashes the reviewed diff onto main as the bus host and moves main only at finish
|
|
ok 23 - a landing squashes the reviewed diff onto main as the bus host and moves main only at finish
|
|
---
|
|
duration_ms: 115.731852
|
|
type: 'test'
|
|
...
|
|
# Subtest: a landing refuses ref-moved, base-conflict and root-file before it makes a commit
|
|
ok 24 - a landing refuses ref-moved, base-conflict and root-file before it makes a commit
|
|
---
|
|
duration_ms: 336.87086
|
|
type: 'test'
|
|
...
|
|
# Subtest: a landing whose applied diff isn't the reviewed one refuses patch-drift and leaves no worktree
|
|
ok 25 - a landing whose applied diff isn't the reviewed one refuses patch-drift and leaves no worktree
|
|
---
|
|
duration_ms: 133.752945
|
|
type: 'test'
|
|
...
|
|
# Subtest: finish refuses base-moved when main moved, and a record that throws moves main back
|
|
ok 26 - finish refuses base-moved when main moved, and a record that throws moves main back
|
|
---
|
|
duration_ms: 250.059924
|
|
type: 'test'
|
|
...
|
|
# Subtest: halted push receipt rolls back only its unrecorded ref and cleans temporary refs
|
|
ok 27 - halted push receipt rolls back only its unrecorded ref and cleans temporary refs
|
|
---
|
|
duration_ms: 242.362044
|
|
type: 'test'
|
|
...
|
|
1..27
|
|
# tests 27
|
|
# suites 0
|
|
# pass 27
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 6316.450004
|
|
END {"label": "seat-working.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/seat/tests/working.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gVCCkN6", "rc": 0, "wall_seconds": 6.377, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/seat-working.test.log", "counts": {"tests": 27, "pass": 27, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "cli-access.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/access.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gvdNQcH"}
|
|
TAP version 13
|
|
# Subtest: list prints the revision and the users
|
|
ok 1 - list prints the revision and the users
|
|
---
|
|
duration_ms: 29.294155
|
|
type: 'test'
|
|
...
|
|
# Subtest: grant writes one revision up, a receipt line, and the id in the file
|
|
ok 2 - grant writes one revision up, a receipt line, and the id in the file
|
|
---
|
|
duration_ms: 31.247044
|
|
type: 'test'
|
|
...
|
|
# Subtest: a viewer grant writes the viewer level, one revision up
|
|
ok 3 - a viewer grant writes the viewer level, one revision up
|
|
---
|
|
duration_ms: 28.566201
|
|
type: 'test'
|
|
...
|
|
# Subtest: a second write appends a second receipt and leaves the first intact
|
|
ok 4 - a second write appends a second receipt and leaves the first intact
|
|
---
|
|
duration_ms: 63.02477
|
|
type: 'test'
|
|
...
|
|
# Subtest: a stale revision refuses with revision-conflict and writes nothing
|
|
ok 5 - a stale revision refuses with revision-conflict and writes nothing
|
|
---
|
|
duration_ms: 64.321356
|
|
type: 'test'
|
|
...
|
|
# Subtest: a live holder's lock refuses and leaves the file and the lock alone
|
|
ok 6 - a live holder's lock refuses and leaves the file and the lock alone
|
|
---
|
|
duration_ms: 29.884713
|
|
type: 'test'
|
|
...
|
|
# Subtest: an empty or unreadable lock refuses, since its holder may still be writing
|
|
ok 7 - an empty or unreadable lock refuses, since its holder may still be writing
|
|
---
|
|
duration_ms: 53.818838
|
|
type: 'test'
|
|
...
|
|
# Subtest: a lock left by a dead pid refuses, names the pid, and is not reclaimed
|
|
ok 8 - a lock left by a dead pid refuses, names the pid, and is not reclaimed
|
|
---
|
|
duration_ms: 52.170329
|
|
type: 'test'
|
|
...
|
|
# Subtest: a failed rename leaves the old bytes, removes the temp file, and writes no receipt
|
|
ok 9 - a failed rename leaves the old bytes, removes the temp file, and writes no receipt
|
|
---
|
|
duration_ms: 26.689589
|
|
type: 'test'
|
|
...
|
|
# Subtest: a group-writable access file refuses with exit 3, names the file, and changes nothing
|
|
ok 10 - a group-writable access file refuses with exit 3, names the file, and changes nothing
|
|
---
|
|
duration_ms: 28.729261
|
|
type: 'test'
|
|
...
|
|
# Subtest: an agent or tester caller is refused before the context or the access file is read
|
|
ok 11 - an agent or tester caller is refused before the context or the access file is read
|
|
---
|
|
duration_ms: 1.142382
|
|
type: 'test'
|
|
...
|
|
# Subtest: the lock is mode 0600 while held and removed after a refused write
|
|
ok 12 - the lock is mode 0600 while held and removed after a refused write
|
|
---
|
|
duration_ms: 24.596783
|
|
type: 'test'
|
|
...
|
|
# Subtest: a grant naming an unknown instance is refused before any write
|
|
ok 13 - a grant naming an unknown instance is refused before any write
|
|
---
|
|
duration_ms: 24.505494
|
|
type: 'test'
|
|
...
|
|
# Subtest: a project name resolves to its id at grant time
|
|
ok 14 - a project name resolves to its id at grant time
|
|
---
|
|
duration_ms: 30.16797
|
|
type: 'test'
|
|
...
|
|
# Subtest: an unknown project name refuses before any write
|
|
ok 15 - an unknown project name refuses before any write
|
|
---
|
|
duration_ms: 28.421378
|
|
type: 'test'
|
|
...
|
|
# Subtest: revoke removes the user's grants and leaves a revision behind
|
|
ok 16 - revoke removes the user's grants and leaves a revision behind
|
|
---
|
|
duration_ms: 56.82119
|
|
type: 'test'
|
|
...
|
|
# Subtest: revoke of a user with no grant refuses and writes nothing
|
|
ok 17 - revoke of a user with no grant refuses and writes nothing
|
|
---
|
|
duration_ms: 25.03201
|
|
type: 'test'
|
|
...
|
|
# Subtest: an agent caller is refused before the bus is asked
|
|
ok 18 - an agent caller is refused before the bus is asked
|
|
---
|
|
duration_ms: 0.797699
|
|
type: 'test'
|
|
...
|
|
# Subtest: --tester is refused on every verb before the bus is asked
|
|
ok 19 - --tester is refused on every verb before the bus is asked
|
|
---
|
|
duration_ms: 1.479688
|
|
type: 'test'
|
|
...
|
|
# Subtest: a bus that refuses the human proof blocks the write
|
|
ok 20 - a bus that refuses the human proof blocks the write
|
|
---
|
|
duration_ms: 25.883998
|
|
type: 'test'
|
|
...
|
|
# Subtest: the context reads console.sso subjects and the business files, and peers stay empty
|
|
ok 21 - the context reads console.sso subjects and the business files, and peers stay empty
|
|
---
|
|
duration_ms: 7.447845
|
|
type: 'test'
|
|
...
|
|
# Subtest: the real human-cli, run from agent ancestry, refuses and writes nothing
|
|
ok 22 - the real human-cli, run from agent ancestry, refuses and writes nothing
|
|
---
|
|
duration_ms: 5145.579195
|
|
type: 'test'
|
|
...
|
|
# Subtest: T1 user add writes the user one revision up, prints it and appends a user.add receipt
|
|
ok 23 - T1 user add writes the user one revision up, prints it and appends a user.add receipt
|
|
---
|
|
duration_ms: 30.59263
|
|
type: 'test'
|
|
...
|
|
# Subtest: T2 a bad user add refuses before any write
|
|
ok 24 - T2 a bad user add refuses before any write
|
|
---
|
|
duration_ms: 379.839338
|
|
type: 'test'
|
|
...
|
|
# Subtest: T3 user remove of a user with no grant drops them one revision up, with a user.remove receipt
|
|
ok 25 - T3 user remove of a user with no grant drops them one revision up, with a user.remove receipt
|
|
---
|
|
duration_ms: 31.028462
|
|
type: 'test'
|
|
...
|
|
# Subtest: T4 user remove refuses with user-has-grants while the user holds a grant, and writes nothing
|
|
ok 26 - T4 user remove refuses with user-has-grants while the user holds a grant, and writes nothing
|
|
---
|
|
duration_ms: 78.350806
|
|
type: 'test'
|
|
...
|
|
# Subtest: T5 user remove of an id not in the file refuses and writes nothing
|
|
ok 27 - T5 user remove of an id not in the file refuses and writes nothing
|
|
---
|
|
duration_ms: 32.478994
|
|
type: 'test'
|
|
...
|
|
# Subtest: T6 a stale revision refuses both user verbs with revision-conflict
|
|
ok 28 - T6 a stale revision refuses both user verbs with revision-conflict
|
|
---
|
|
duration_ms: 58.905495
|
|
type: 'test'
|
|
...
|
|
# Subtest: T7 --tester and an agent caller are refused on both user verbs before the bus is asked
|
|
ok 29 - T7 --tester and an agent caller are refused on both user verbs before the bus is asked
|
|
---
|
|
duration_ms: 1.321295
|
|
type: 'test'
|
|
...
|
|
# Subtest: T8 a user verb of the wrong shape prints the help
|
|
ok 30 - T8 a user verb of the wrong shape prints the help
|
|
---
|
|
duration_ms: 0.978374
|
|
type: 'test'
|
|
...
|
|
# Subtest: T9 a bus that refuses the human proof blocks both user verbs
|
|
ok 31 - T9 a bus that refuses the human proof blocks both user verbs
|
|
---
|
|
duration_ms: 58.046887
|
|
type: 'test'
|
|
...
|
|
1..31
|
|
# tests 31
|
|
# suites 0
|
|
# pass 31
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 6596.663861
|
|
END {"label": "cli-access.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/access.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gvdNQcH", "rc": 0, "wall_seconds": 6.678, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/cli-access.test.log", "counts": {"tests": 31, "pass": 31, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "cli-app.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/app.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/g562pEK"}
|
|
TAP version 13
|
|
# Subtest: every screen and overlay fits 120x36, 80x24 and the narrow layout, row for row
|
|
ok 1 - every screen and overlay fits 120x36, 80x24 and the narrow layout, row for row
|
|
---
|
|
duration_ms: 1239.383355
|
|
type: 'test'
|
|
...
|
|
# Subtest: width counts terminal cells: wide CJK and emoji 2, U+FE0F after a one-cell base 1, marks 0
|
|
ok 2 - width counts terminal cells: wide CJK and emoji 2, U+FE0F after a one-cell base 1, marks 0
|
|
---
|
|
duration_ms: 65.330982
|
|
type: 'test'
|
|
...
|
|
# Subtest: broker text is shown, never interpreted: no raw control character or bidi override reaches the terminal
|
|
ok 3 - broker text is shown, never interpreted: no raw control character or bidi override reaches the terminal
|
|
---
|
|
duration_ms: 148.961033
|
|
type: 'test'
|
|
...
|
|
# Subtest: NO_COLOR: no escape codes, except reverse video on the selected row
|
|
ok 4 - NO_COLOR: no escape codes, except reverse video on the selected row
|
|
---
|
|
duration_ms: 224.384257
|
|
type: 'test'
|
|
...
|
|
# Subtest: 1-9 shows the decide flow's own lines and question; only y resolves
|
|
ok 5 - 1-9 shows the decide flow's own lines and question; only y resolves
|
|
---
|
|
duration_ms: 59.855521
|
|
type: 'test'
|
|
...
|
|
# Subtest: the app shows the same decide text as mosaic decide
|
|
ok 6 - the app shows the same decide text as mosaic decide
|
|
---
|
|
duration_ms: 26.0261
|
|
type: 'test'
|
|
...
|
|
# Subtest: any key but y or Y at the question answers No; nothing is sent
|
|
ok 7 - any key but y or Y at the question answers No; nothing is sent
|
|
---
|
|
duration_ms: 238.894221
|
|
type: 'test'
|
|
...
|
|
# Subtest: below 40x10 the question is hidden, so every key answers it No, y included (Filbert R3)
|
|
ok 8 - below 40x10 the question is hidden, so every key answers it No, y included (Filbert R3)
|
|
---
|
|
duration_ms: 92.914512
|
|
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 9 - 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: 305.900059
|
|
type: 'test'
|
|
...
|
|
# Subtest: a hidden decide box names the way out, and the status line under it does not promise y (Filbert N12)
|
|
ok 10 - a hidden decide box names the way out, and the status line under it does not promise y (Filbert N12)
|
|
---
|
|
duration_ms: 39.059677
|
|
type: 'test'
|
|
...
|
|
# Subtest: a throw while answering the question goes to crash, sends nothing and leaves no job pending
|
|
ok 11 - a throw while answering the question goes to crash, sends nothing and leaves no job pending
|
|
---
|
|
duration_ms: 24.586171
|
|
type: 'test'
|
|
...
|
|
# Subtest: type-ahead never answers the question: a paste, keys typed before it is drawn, keys inside askMs
|
|
ok 12 - type-ahead never answers the question: a paste, keys typed before it is drawn, keys inside askMs
|
|
---
|
|
duration_ms: 417.248119
|
|
type: 'test'
|
|
...
|
|
# Subtest: quitting at the question answers No and sends nothing, armed or not
|
|
ok 13 - quitting at the question answers No and sends nothing, armed or not
|
|
---
|
|
duration_ms: 43.775485
|
|
type: 'test'
|
|
...
|
|
# Subtest: a timer tick reads nothing under an overlay, never answers the question, and keeps a resolved status
|
|
ok 14 - a timer tick reads nothing under an overlay, never answers the question, and keeps a resolved status
|
|
---
|
|
duration_ms: 36.297579
|
|
type: 'test'
|
|
...
|
|
# Subtest: a long question is cut inside the question; the action, target, choice and prompt stay (Dewey B1)
|
|
ok 15 - a long question is cut inside the question; the action, target, choice and prompt stay (Dewey B1)
|
|
---
|
|
duration_ms: 50.697611
|
|
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 16 - a decide box too big for the terminal says so, and every key answers it No, y included (Dewey B1, round 3)
|
|
---
|
|
duration_ms: 335.218191
|
|
type: 'test'
|
|
...
|
|
# Subtest: at every size the decide box shows each line y depends on, or says it is hidden
|
|
ok 17 - at every size the decide box shows each line y depends on, or says it is hidden
|
|
---
|
|
duration_ms: 9975.575963
|
|
type: 'test'
|
|
...
|
|
# Subtest: outcome unknown: the CLI's sentence, no retry, then the trail or a re-read
|
|
ok 18 - outcome unknown: the CLI's sentence, no retry, then the trail or a re-read
|
|
---
|
|
duration_ms: 91.366948
|
|
type: 'test'
|
|
...
|
|
# Subtest: refused and failed reads keep the last list, marked stale; a refused decide says refused
|
|
ok 19 - refused and failed reads keep the last list, marked stale; a refused decide says refused
|
|
---
|
|
duration_ms: 47.376493
|
|
type: 'test'
|
|
...
|
|
# Subtest: help or a detail box cut to fit keeps its last line, Esc included (Dewey)
|
|
ok 20 - help or a detail box cut to fit keeps its last line, Esc included (Dewey)
|
|
---
|
|
duration_ms: 24.950444
|
|
type: 'test'
|
|
...
|
|
# Subtest: keys: views, moving, trail of a selection, the command line, help and quit
|
|
ok 21 - keys: views, moving, trail of a selection, the command line, help and quit
|
|
---
|
|
duration_ms: 107.420751
|
|
type: 'test'
|
|
...
|
|
# Subtest: one option: the status line says Press 1, not 1-1
|
|
ok 22 - one option: the status line says Press 1, not 1-1
|
|
---
|
|
duration_ms: 30.444385
|
|
type: 'test'
|
|
...
|
|
# Subtest: no business: the app says so and :business picks one
|
|
ok 23 - no business: the app says so and :business picks one
|
|
---
|
|
duration_ms: 15.176163
|
|
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 24 - 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.013954
|
|
type: 'test'
|
|
...
|
|
# Subtest: scripts/mosaic with no argument reaches the app entry; the seat usage it printed before has not drifted
|
|
ok 25 - scripts/mosaic with no argument reaches the app entry; the seat usage it printed before has not drifted
|
|
---
|
|
duration_ms: 218.259976
|
|
type: 'test'
|
|
...
|
|
# Subtest: strings to keep exactly live once, in the decide flow and the transport; the app does not restate them
|
|
ok 26 - strings to keep exactly live once, in the decide flow and the transport; the app does not restate them
|
|
---
|
|
duration_ms: 0.49226
|
|
type: 'test'
|
|
...
|
|
# Subtest: decide with --note still asks; a No sends nothing
|
|
ok 27 - decide with --note still asks; a No sends nothing
|
|
---
|
|
duration_ms: 16.336413
|
|
type: 'test'
|
|
...
|
|
# Subtest: the app's business comes from a live bus host only
|
|
ok 28 - the app's business comes from a live bus host only
|
|
---
|
|
duration_ms: 1.156012
|
|
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 29 - 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: 10.269181
|
|
type: 'test'
|
|
...
|
|
# Subtest: draw is pure: same state, same frame
|
|
ok 30 - draw is pure: same state, same frame
|
|
---
|
|
duration_ms: 0.889482
|
|
type: 'test'
|
|
...
|
|
1..30
|
|
# tests 30
|
|
# suites 0
|
|
# pass 30
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 14055.01188
|
|
END {"label": "cli-app.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/app.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/g562pEK", "rc": 0, "wall_seconds": 14.095, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/cli-app.test.log", "counts": {"tests": 30, "pass": 30, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "cli-boot-status.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/boot-status.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gKFyTpJ"}
|
|
TAP version 13
|
|
# Subtest: recordBootRefused keeps the last good load across refusals; recordBootOk clears the refusal
|
|
ok 1 - recordBootRefused keeps the last good load across refusals; recordBootOk clears the refusal
|
|
---
|
|
duration_ms: 3.630099
|
|
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 2 - an unknown key and a JSON syntax error each leave the bus down with the reason and path in the status
|
|
---
|
|
duration_ms: 770.86316
|
|
type: 'test'
|
|
...
|
|
# Subtest: a missing file is recorded too, and a valid file clears the status on the next start
|
|
ok 3 - a missing file is recorded too, and a valid file clears the status on the next start
|
|
---
|
|
duration_ms: 501.321529
|
|
type: 'test'
|
|
...
|
|
1..3
|
|
# tests 3
|
|
# suites 0
|
|
# pass 3
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 1386.74152
|
|
END {"label": "cli-boot-status.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/boot-status.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gKFyTpJ", "rc": 0, "wall_seconds": 1.467, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/cli-boot-status.test.log", "counts": {"tests": 3, "pass": 3, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "cli-case1-accept.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "1200", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/case1-accept.test.mjs"], "limit": 1200, "tmpdir": "/mnt/storage/scratch/tmp/gAO4HLn"}
|
|
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: 2099.627962
|
|
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: 34506.471258
|
|
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: 1661.001247
|
|
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: 4561.347474
|
|
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: 4334.946139
|
|
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: 10843.471172
|
|
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: 14196.605873
|
|
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: 545.704133
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 C4 P10 inner reason holds under both sudo models
|
|
ok 9 - row253 C4 P10 inner reason holds under both sudo models
|
|
---
|
|
duration_ms: 12826.218464
|
|
type: 'test'
|
|
...
|
|
# {"fault":"inner","mode":"exec","baselineSeconds":2.0366663589999954,"faultSeconds":4.218895206000001,"probeSeconds":2.1822288470000055}
|
|
# {"fault":"inner","mode":"hop","baselineSeconds":2.1938593229999968,"faultSeconds":4.2946186219999944,"probeSeconds":2.1007592989999977}
|
|
# Subtest: row253 C4 P10 outer reason holds under both sudo models
|
|
ok 10 - row253 C4 P10 outer reason holds under both sudo models
|
|
---
|
|
duration_ms: 16480.756337
|
|
type: 'test'
|
|
...
|
|
# {"fault":"outer","mode":"exec","baselineSeconds":2.1551267119999973,"faultSeconds":6.022712521000009,"probeSeconds":3.8675858090000115}
|
|
# {"fault":"outer","mode":"hop","baselineSeconds":2.2588103499999996,"faultSeconds":5.976356018999999,"probeSeconds":3.7175456689999993}
|
|
# Subtest: row253 C4 P10 overflow reason holds under both sudo models
|
|
ok 11 - row253 C4 P10 overflow reason holds under both sudo models
|
|
---
|
|
duration_ms: 4553.732525
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: every check passing exits 0, with each P mark and counts that match the lines
|
|
ok 12 - row 195 accept: every check passing exits 0, with each P mark and counts that match the lines
|
|
---
|
|
duration_ms: 2181.295355
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: exits 1 with each F check failing alone, and its line names it
|
|
ok 13 - row 195 accept: exits 1 with each F check failing alone, and its line names it
|
|
---
|
|
duration_ms: 23277.047316
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: F3 fails on exit 0 with no reply line, and its evidence takes talk's error
|
|
ok 14 - row 195 accept: F3 fails on exit 0 with no reply line, and its evidence takes talk's error
|
|
---
|
|
duration_ms: 4044.498019
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: F1 fails on a unit that isn't active or isn't User=mosaic
|
|
ok 15 - row 195 accept: F1 fails on a unit that isn't active or isn't User=mosaic
|
|
---
|
|
duration_ms: 3897.537316
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: F2 fails when healthz doesn't answer and when another pid holds the port
|
|
ok 16 - row 195 accept: F2 fails when healthz doesn't answer and when another pid holds the port
|
|
---
|
|
duration_ms: 4094.417205
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: F5 fails on unpriv_bwrap (enforce), on complain and on a trailing space
|
|
ok 17 - row 195 accept: F5 fails on unpriv_bwrap (enforce), on complain and on a trailing space
|
|
---
|
|
duration_ms: 9452.292561
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: F5 fails with no bwrap of mosaic's, and passes on comm alone
|
|
ok 18 - row 195 accept: F5 fails with no bwrap of mosaic's, and passes on comm alone
|
|
---
|
|
duration_ms: 4664.020527
|
|
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 19 - row 195 accept: F6 fails on a stub that prints nothing, on a path outside claude-<pin> and on a .. segment
|
|
---
|
|
duration_ms: 5859.159876
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: F7 fails on two live PM launches, one for another business, and no launch.by
|
|
ok 20 - row 195 accept: F7 fails on two live PM launches, one for another business, and no launch.by
|
|
---
|
|
duration_ms: 6819.76327
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: F8 fails on 0640, on another owner and on a symlink, and never prints the credential
|
|
ok 21 - row 195 accept: F8 fails on 0640, on another owner and on a symlink, and never prints the credential
|
|
---
|
|
duration_ms: 7245.82622
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: F9 fails on another owner, a group-writable mode and a number for the flag
|
|
ok 22 - row 195 accept: F9 fails on another owner, a group-writable mode and a number for the flag
|
|
---
|
|
duration_ms: 7083.082356
|
|
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 23 - row 195 accept: F9 won't run --node as root off the pin path or with a writable directory above it
|
|
---
|
|
duration_ms: 6609.990492
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: F11 fails on one *.json under discord/ and passes on an empty directory
|
|
ok 24 - row 195 accept: F11 fails on one *.json under discord/ and passes on an empty directory
|
|
---
|
|
duration_ms: 4452.29451
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: each P check reports unnamed on its fault, and the exit stays 0
|
|
ok 25 - row 195 accept: each P check reports unnamed on its fault, and the exit stays 0
|
|
---
|
|
duration_ms: 19603.129736
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: P2 is unnamed with a supplementary group, and P5 names docker
|
|
ok 26 - row 195 accept: P2 is unnamed with a supplementary group, and P5 names docker
|
|
---
|
|
duration_ms: 4129.749763
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: P5 is closed with no jarvis account, and P2 with an empty authorized_keys
|
|
ok 27 - row 195 accept: P5 is closed with no jarvis account, and P2 with an empty authorized_keys
|
|
---
|
|
duration_ms: 2068.961266
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: P9 is unnamed once for each item missing
|
|
ok 28 - row 195 accept: P9 is unnamed once for each item missing
|
|
---
|
|
duration_ms: 10827.416429
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 accept: P10 fails its observation with another peer; P11 with the unit disabled
|
|
ok 29 - row253 accept: P10 fails its observation with another peer; P11 with the unit disabled
|
|
---
|
|
duration_ms: 4357.658515
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: every P check unnamed together still exits 0
|
|
ok 30 - row 195 accept: every P check unnamed together still exits 0
|
|
---
|
|
duration_ms: 1760.939925
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: a bad args file refuses with exit 2 before any check, each for its own reason
|
|
ok 31 - row 195 accept: a bad args file refuses with exit 2 before any check, each for its own reason
|
|
---
|
|
duration_ms: 101.075676
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: usage errors and a run without --root as a user exit 2
|
|
ok 32 - row 195 accept: usage errors and a run without --root as a user exit 2
|
|
---
|
|
duration_ms: 11.211195
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: every in-instance call goes through sudo -u mosaic -H env PATH=<node dir>:...
|
|
ok 33 - row 195 accept: every in-instance call goes through sudo -u mosaic -H env PATH=<node dir>:...
|
|
---
|
|
duration_ms: 2187.326264
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: the host check runs with --check and never --enforce
|
|
ok 34 - row 195 accept: the host check runs with --check and never --enforce
|
|
---
|
|
duration_ms: 2130.683907
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 legacy call inventory pins every production bound and the conversation contract
|
|
ok 35 - row276 legacy call inventory pins every production bound and the conversation contract
|
|
---
|
|
duration_ms: 0.390364
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 talk legacy inner timeout cleans both sudo models
|
|
ok 36 - row276 talk legacy inner timeout cleans both sudo models
|
|
---
|
|
duration_ms: 1759.317472
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 precheck legacy inner timeout cleans both sudo models
|
|
ok 37 - row276 precheck legacy inner timeout cleans both sudo models
|
|
---
|
|
duration_ms: 1778.448252
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 claude-version legacy inner timeout cleans both sudo models
|
|
ok 38 - row276 claude-version legacy inner timeout cleans both sudo models
|
|
---
|
|
duration_ms: 1802.291192
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 pm-list legacy inner timeout cleans both sudo models
|
|
ok 39 - row276 pm-list legacy inner timeout cleans both sudo models
|
|
---
|
|
duration_ms: 1735.64486
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 node-version legacy inner timeout cleans both sudo models
|
|
ok 40 - row276 node-version legacy inner timeout cleans both sudo models
|
|
---
|
|
duration_ms: 1764.397671
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 legacy streams and display status preserve failures without granting success
|
|
ok 41 - row276 legacy streams and display status preserve failures without granting success
|
|
---
|
|
duration_ms: 3013.637962
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 trailer grammar cannot make supervisor failure pass
|
|
ok 42 - row276 trailer grammar cannot make supervisor failure pass
|
|
---
|
|
duration_ms: 2324.225096
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 earlier forged trailer and appended zero remain failures
|
|
ok 43 - row276 earlier forged trailer and appended zero remain failures
|
|
---
|
|
duration_ms: 553.290991
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 precheck outer bound discards success status and fixture cleans residual
|
|
ok 44 - row276 precheck outer bound discards success status and fixture cleans residual
|
|
---
|
|
duration_ms: 2194.291863
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 case1 capture and legacy tools refuse unsafe system tools
|
|
ok 45 - row276 case1 capture and legacy tools refuse unsafe system tools
|
|
---
|
|
duration_ms: 78.154379
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 stderr retention is bounded and keeps the final diagnostic
|
|
ok 46 - row276 stderr retention is bounded and keeps the final diagnostic
|
|
---
|
|
duration_ms: 323.84307
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 version and PM checks refuse successful-looking stdout on supervisor failure
|
|
ok 47 - row276 version and PM checks refuse successful-looking stdout on supervisor failure
|
|
---
|
|
duration_ms: 23.639319
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 full acceptance keeps all five healthy calls in both sudo models
|
|
ok 48 - row276 full acceptance keeps all five healthy calls in both sudo models
|
|
---
|
|
duration_ms: 4647.371078
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 vanished pid stat read returns 3 with empty stderr in both scripts
|
|
ok 49 - row276 vanished pid stat read returns 3 with empty stderr in both scripts
|
|
---
|
|
duration_ms: 5.711771
|
|
type: 'test'
|
|
...
|
|
# Subtest: row276 legacy stdout snapshot preserves exact bytes on success and command failure
|
|
ok 50 - row276 legacy stdout snapshot preserves exact bytes on success and command failure
|
|
---
|
|
duration_ms: 3400.169708
|
|
type: 'test'
|
|
...
|
|
1..50
|
|
# tests 50
|
|
# suites 0
|
|
# pass 50
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 268997.304734
|
|
END {"label": "cli-case1-accept.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "1200", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/case1-accept.test.mjs"], "limit": 1200, "tmpdir": "/mnt/storage/scratch/tmp/gAO4HLn", "rc": 0, "wall_seconds": 269.043, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/cli-case1-accept.test.log", "counts": {"tests": 50, "pass": 50, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "cli-case1-hostcheck.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/case1-hostcheck.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gcoLMYy"}
|
|
TAP version 13
|
|
# Subtest: row 240 check: exits 0 with all seven items and a note that bubblewrap is the install pin
|
|
ok 1 - row 240 check: exits 0 with all seven items and a note that bubblewrap is the install pin
|
|
---
|
|
duration_ms: 55.143073
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 240 check: exits 1 with each item failing alone, and its line names it
|
|
ok 2 - row 240 check: exits 1 with each item failing alone, and its line names it
|
|
---
|
|
duration_ms: 237.487471
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 240 check: item 1 fails when a package owns the profile, when dpkg -S errs, or with no pin
|
|
ok 3 - row 240 check: item 1 fails when a package owns the profile, when dpkg -S errs, or with no pin
|
|
---
|
|
duration_ms: 91.508115
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 240 check: item 2 fails on a loaded mosaic-bwrap, a missing unpriv_bwrap or a failed aa-status
|
|
ok 4 - row 240 check: item 2 fails on a loaded mosaic-bwrap, a missing unpriv_bwrap or a failed aa-status
|
|
---
|
|
duration_ms: 91.078335
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 240 check: item 3 fails on a second file naming bwrap as a word, /{usr/,}bin/bwrap included
|
|
ok 5 - row 240 check: item 3 fails on a second file naming bwrap as a word, /{usr/,}bin/bwrap included
|
|
---
|
|
duration_ms: 144.226635
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 240 check: item 4 reads the label under the units' no-new-privs and matches it exactly
|
|
ok 6 - row 240 check: item 4 reads the label under the units' no-new-privs and matches it exactly
|
|
---
|
|
duration_ms: 133.912947
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 240 check: item 5 needs the statoverride and stat to agree
|
|
ok 7 - row 240 check: item 5 needs the statoverride and stat to agree
|
|
---
|
|
duration_ms: 32.953513
|
|
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 8 - 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: 189.216488
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 240 check: a bubblewrap version other than the install pin is a note, not a failure
|
|
ok 9 - row 240 check: a bubblewrap version other than the install pin is a note, not a failure
|
|
---
|
|
duration_ms: 32.888208
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 240 enforce: a pass with no DRIFT changes nothing and exits 0
|
|
ok 10 - row 240 enforce: a pass with no DRIFT changes nothing and exits 0
|
|
---
|
|
duration_ms: 38.597571
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 240 enforce: each failure exits 0, unloads the profile, closes bwrap, writes DRIFT and one log line
|
|
ok 11 - row 240 enforce: each failure exits 0, unloads the profile, closes bwrap, writes DRIFT and one log line
|
|
---
|
|
duration_ms: 290.424397
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 240 enforce: with DRIFT present and every item passing, it still closes bwrap
|
|
ok 12 - row 240 enforce: with DRIFT present and every item passing, it still closes bwrap
|
|
---
|
|
duration_ms: 38.322929
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 240 enforce: no unload when aa-status lists neither bwrap profile; never writes the statoverride
|
|
ok 13 - row 240 enforce: no unload when aa-status lists neither bwrap profile; never writes the statoverride
|
|
---
|
|
duration_ms: 390.386326
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 240 upstream: a candidate whose profile differs prints the difference and exits 0
|
|
ok 14 - row 240 upstream: a candidate whose profile differs prints the difference and exits 0
|
|
---
|
|
duration_ms: 59.104407
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 240 boot unit: a oneshot after apparmor and before the bus that runs --enforce
|
|
ok 15 - row 240 boot unit: a oneshot after apparmor and before the bus that runs --enforce
|
|
---
|
|
duration_ms: 1.050437
|
|
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 16 - 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: 46.633152
|
|
type: 'test'
|
|
...
|
|
1..16
|
|
# tests 16
|
|
# suites 0
|
|
# pass 16
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 2016.436137
|
|
END {"label": "cli-case1-hostcheck.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/case1-hostcheck.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gcoLMYy", "rc": 0, "wall_seconds": 2.068, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/cli-case1-hostcheck.test.log", "counts": {"tests": 16, "pass": 16, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "cli-case2-persona-import.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/case2-persona-import.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gTQolOe"}
|
|
TAP version 13
|
|
# Subtest: stage takes each profile's SOUL.md byte for byte and prints the pairing with sizes and digests
|
|
ok 1 - stage takes each profile's SOUL.md byte for byte and prints the pairing with sizes and digests
|
|
---
|
|
duration_ms: 74.201432
|
|
type: 'test'
|
|
...
|
|
# Subtest: stage lists the per-channel prompts in all three places by name and byte count only
|
|
ok 2 - stage lists the per-channel prompts in all three places by name and byte count only
|
|
---
|
|
duration_ms: 50.784633
|
|
type: 'test'
|
|
...
|
|
# Subtest: a config key with a newline prints as one quoted line
|
|
ok 3 - a config key with a newline prints as one quoted line
|
|
---
|
|
duration_ms: 53.282579
|
|
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 4 - a read trace shows stage and the dry run open SOUL.md and config.yaml and never memory, sessions or secrets
|
|
---
|
|
duration_ms: 110.775787
|
|
type: 'test'
|
|
...
|
|
# Subtest: the pairing refuses anything but two existing profiles naming Bean and Chet once each, and writes nothing
|
|
ok 5 - the pairing refuses anything but two existing profiles naming Bean and Chet once each, and writes nothing
|
|
---
|
|
duration_ms: 439.649997
|
|
type: 'test'
|
|
...
|
|
# Subtest: a profile with no persona refuses: no SOUL.md, a blank one, a symlink, not UTF-8
|
|
ok 6 - a profile with no persona refuses: no SOUL.md, a blank one, a symlink, not UTF-8
|
|
---
|
|
duration_ms: 390.120764
|
|
type: 'test'
|
|
...
|
|
# Subtest: the import applies C2-08's exported fence at its boundaries
|
|
ok 7 - the import applies C2-08's exported fence at its boundaries
|
|
---
|
|
duration_ms: 446.179715
|
|
type: 'test'
|
|
...
|
|
# Subtest: install writes 0600 persona files in 0700 directories whose digests match, and prints the vars
|
|
ok 8 - install writes 0600 persona files in 0700 directories whose digests match, and prints the vars
|
|
---
|
|
duration_ms: 104.473662
|
|
type: 'test'
|
|
...
|
|
# Subtest: install refuses an open or foreign staging file, a digest off the manifest and an existing persona
|
|
ok 9 - install refuses an open or foreign staging file, a digest off the manifest and an existing persona
|
|
---
|
|
duration_ms: 542.3347
|
|
type: 'test'
|
|
...
|
|
# Subtest: --dry-run writes nothing and prints only counts and the fence fault, two heading lines in a fixture counted
|
|
ok 10 - --dry-run writes nothing and prints only counts and the fence fault, two heading lines in a fixture counted
|
|
---
|
|
duration_ms: 47.3832
|
|
type: 'test'
|
|
...
|
|
# Subtest: --dry-run applies C2-08's fence: over it the fault prints, nothing is written and it exits 1
|
|
ok 11 - --dry-run applies C2-08's fence: over it the fault prints, nothing is written and it exits 1
|
|
---
|
|
duration_ms: 109.814894
|
|
type: 'test'
|
|
...
|
|
# Subtest: a directory made between the check and mkdir refuses by name, at stage and at install
|
|
ok 12 - a directory made between the check and mkdir refuses by name, at stage and at install
|
|
---
|
|
duration_ms: 169.665412
|
|
type: 'test'
|
|
...
|
|
# Subtest: --dry-run counts three lines naming a Hermes tool or channel and prints none of the words
|
|
ok 13 - --dry-run counts three lines naming a Hermes tool or channel and prints none of the words
|
|
---
|
|
duration_ms: 48.777716
|
|
type: 'test'
|
|
...
|
|
# Subtest: usage: stage needs one of --staging and --dry-run, install takes only its own options
|
|
ok 14 - usage: stage needs one of --staging and --dry-run, install takes only its own options
|
|
---
|
|
duration_ms: 330.356564
|
|
type: 'test'
|
|
...
|
|
1..14
|
|
# tests 14
|
|
# suites 0
|
|
# pass 14
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 3034.227202
|
|
END {"label": "cli-case2-persona-import.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/case2-persona-import.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gTQolOe", "rc": 0, "wall_seconds": 3.07, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/cli-case2-persona-import.test.log", "counts": {"tests": 14, "pass": 14, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "cli-case2-unit.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/case2-unit.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gZuwvKO"}
|
|
TAP version 13
|
|
# Subtest: row253 factory socket uses actual config and target-uid query without widening hardening
|
|
ok 1 - row253 factory socket uses actual config and target-uid query without widening hardening
|
|
---
|
|
duration_ms: 338.283498
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 installer refuses unsafe location and query facts before unit writes
|
|
ok 2 - row253 installer refuses unsafe location and query facts before unit writes
|
|
---
|
|
duration_ms: 3395.933392
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 query timeout kills its process group and leaves no running child
|
|
ok 3 - row253 query timeout kills its process group and leaves no running child
|
|
---
|
|
duration_ms: 7044.554617
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 protected homes refuse before any filesystem access
|
|
ok 4 - row253 protected homes refuse before any filesystem access
|
|
---
|
|
duration_ms: 10.47266
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 C4 sleep query has exact inner reason and cleans all members
|
|
ok 5 - row253 C4 sleep query has exact inner reason and cleans all members
|
|
---
|
|
duration_ms: 10704.529984
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 C4 signals query has exact inner reason and cleans all members
|
|
ok 6 - row253 C4 signals query has exact inner reason and cleans all members
|
|
---
|
|
duration_ms: 10694.538508
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 C4 member query has exact inner reason and cleans all members
|
|
ok 7 - row253 C4 member query has exact inner reason and cleans all members
|
|
---
|
|
duration_ms: 10812.385742
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 C4 overflow is output-limit in both sudo modes
|
|
ok 8 - row253 C4 overflow is output-limit in both sudo modes
|
|
---
|
|
duration_ms: 504.787876
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 C4 stalled supervisor uses the outer reason and explicit residual cleanup
|
|
ok 9 - row253 C4 stalled supervisor uses the outer reason and explicit residual cleanup
|
|
---
|
|
duration_ms: 14151.127856
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 C4 inline supervisor is byte-identical in both host scripts
|
|
ok 10 - row253 C4 inline supervisor is byte-identical in both host scripts
|
|
---
|
|
duration_ms: 0.386863
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 C4 cleanup budget starts after inventory pass one
|
|
ok 11 - row253 C4 cleanup budget starts after inventory pass one
|
|
---
|
|
duration_ms: 36.729601
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 query reaps its group even when a child closes stdout before the query returns
|
|
ok 12 - row253 query reaps its group even when a child closes stdout before the query returns
|
|
---
|
|
duration_ms: 135.617997
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 config parser is strict
|
|
ok 13 - row253 config parser is strict
|
|
---
|
|
duration_ms: 8.881547
|
|
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 14 - a clean library render writes both units 0644 with the fixed lines, and enables both then starts the bus then the Console
|
|
---
|
|
duration_ms: 97.91631
|
|
type: 'test'
|
|
...
|
|
# Subtest: PATH starts with the --node directory, for a node outside the default list and for /usr/bin/node
|
|
ok 15 - PATH starts with the --node directory, for a node outside the default list and for /usr/bin/node
|
|
---
|
|
duration_ms: 106.834651
|
|
type: 'test'
|
|
...
|
|
# Subtest: a failed bus start refuses with the Console not started
|
|
ok 16 - a failed bus start refuses with the Console not started
|
|
---
|
|
duration_ms: 97.396545
|
|
type: 'test'
|
|
...
|
|
# Subtest: the script never links a unit file
|
|
ok 17 - the script never links a unit file
|
|
---
|
|
duration_ms: 0.176184
|
|
type: 'test'
|
|
...
|
|
# Subtest: factory renders --pm once and one MOSAIC_CLAUDE_BIN line, and without them both tokens render empty
|
|
ok 18 - factory renders --pm once and one MOSAIC_CLAUDE_BIN line, and without them both tokens render empty
|
|
---
|
|
duration_ms: 594.972488
|
|
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 19 - 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: 446.390101
|
|
type: 'test'
|
|
...
|
|
# Subtest: a re-install to another copy re-renders both units, and an edited installed unit refuses
|
|
ok 20 - a re-install to another copy re-renders both units, and an edited installed unit refuses
|
|
---
|
|
duration_ms: 1100.300083
|
|
type: 'test'
|
|
...
|
|
# Subtest: a template with a namespace, user or system call restriction refuses
|
|
ok 21 - a template with a namespace, user or system call restriction refuses
|
|
---
|
|
duration_ms: 286.985202
|
|
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 22 - the bus template's EnvironmentFile line must be there and point at the session env, and the Console template must have none
|
|
---
|
|
duration_ms: 229.108716
|
|
type: 'test'
|
|
...
|
|
# Subtest: a template holding an unknown token, PermissionsStartOnly or a privileged Exec prefix refuses
|
|
ok 23 - a template holding an unknown token, PermissionsStartOnly or a privileged Exec prefix refuses
|
|
---
|
|
duration_ms: 201.490675
|
|
type: 'test'
|
|
...
|
|
# Subtest: a symlink at either unit path refuses
|
|
ok 24 - a symlink at either unit path refuses
|
|
---
|
|
duration_ms: 197.693274
|
|
type: 'test'
|
|
...
|
|
# Subtest: a --node that is relative, not root-owned or under <home> refuses
|
|
ok 25 - a --node that is relative, not root-owned or under <home> refuses
|
|
---
|
|
duration_ms: 30.379862
|
|
type: 'test'
|
|
...
|
|
# Subtest: a re-install with a different --node or different serve flags refuses
|
|
ok 26 - a re-install with a different --node or different serve flags refuses
|
|
---
|
|
duration_ms: 646.168739
|
|
type: 'test'
|
|
...
|
|
# Subtest: an installed pair whose units name different copies refuses
|
|
ok 27 - an installed pair whose units name different copies refuses
|
|
---
|
|
duration_ms: 348.56173
|
|
type: 'test'
|
|
...
|
|
# Subtest: a copy id that is short, uppercase, holds / or .., or names no directory refuses
|
|
ok 28 - a copy id that is short, uppercase, holds / or .., or names no directory refuses
|
|
---
|
|
duration_ms: 42.378314
|
|
type: 'test'
|
|
...
|
|
# Subtest: library refuses a privileged-floor miss, a bad proof pair and every flag outside its set
|
|
ok 29 - library refuses a privileged-floor miss, a bad proof pair and every flag outside its set
|
|
---
|
|
duration_ms: 383.807951
|
|
type: 'test'
|
|
...
|
|
# Subtest: library refuses a proof file not owned by <user>'s uid
|
|
ok 30 - library refuses a proof file not owned by <user>'s uid
|
|
---
|
|
duration_ms: 22.258961
|
|
type: 'test'
|
|
...
|
|
# Subtest: factory refuses duplicate socket, a missing --port or --business, and each proxy flag
|
|
ok 31 - factory refuses duplicate socket, a missing --port or --business, and each proxy flag
|
|
---
|
|
duration_ms: 317.48472
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 factory refuses retired TCP and a value after the socket marker
|
|
ok 32 - row253 factory refuses retired TCP and a value after the socket marker
|
|
---
|
|
duration_ms: 40.521206
|
|
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 33 - factory refuses a --claude that is relative, not root-owned or under <home>, and a re-install with another --pm or --claude
|
|
---
|
|
duration_ms: 1614.076845
|
|
type: 'test'
|
|
...
|
|
# Subtest: the precheck passes on a good host and prints free memory, without the key
|
|
ok 34 - the precheck passes on a good host and prints free memory, without the key
|
|
---
|
|
duration_ms: 121.880337
|
|
type: 'test'
|
|
...
|
|
# Subtest: the precheck refuses each failed host check
|
|
ok 35 - the precheck refuses each failed host check
|
|
---
|
|
duration_ms: 1080.979929
|
|
type: 'test'
|
|
...
|
|
# Subtest: the precheck refuses a user missing from passwd, a business file that does not load, and a symlinked run root
|
|
ok 36 - the precheck refuses a user missing from passwd, a business file that does not load, and a symlinked run root
|
|
---
|
|
duration_ms: 732.541492
|
|
type: 'test'
|
|
...
|
|
# Subtest: a bwrap that fails refuses and prints the sysctl and where bwrap is
|
|
ok 37 - a bwrap that fails refuses and prints the sysctl and where bwrap is
|
|
---
|
|
duration_ms: 170.570612
|
|
type: 'test'
|
|
...
|
|
# Subtest: an unprivileged port floor at or below the Console's port refuses, and so does a missing Console unit
|
|
ok 38 - an unprivileged port floor at or below the Console's port refuses, and so does a missing Console unit
|
|
---
|
|
duration_ms: 794.690583
|
|
type: 'test'
|
|
...
|
|
# Subtest: bus.tester: library refuses it on, factory needs it on, and factory refuses a library business
|
|
ok 39 - bus.tester: library refuses it on, factory needs it on, and factory refuses a library business
|
|
---
|
|
duration_ms: 512.518686
|
|
type: 'test'
|
|
...
|
|
# Subtest: the claude check runs only for a claude-code instance, and refuses a claude that appends or answers wrong
|
|
ok 40 - the claude check runs only for a claude-code instance, and refuses a claude that appends or answers wrong
|
|
---
|
|
duration_ms: 1216.727895
|
|
type: 'test'
|
|
...
|
|
# Subtest: the claude check runs the bus unit's MOSAIC_CLAUDE_BIN over claude on PATH
|
|
ok 41 - the claude check runs the bus unit's MOSAIC_CLAUDE_BIN over claude on PATH
|
|
---
|
|
duration_ms: 419.16746
|
|
type: 'test'
|
|
...
|
|
# Subtest: the session env file refuses when missing, open to others, a symlink, empty, or emptied by a later line
|
|
ok 42 - the session env file refuses when missing, open to others, a symlink, empty, or emptied by a later line
|
|
---
|
|
duration_ms: 802.854657
|
|
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 43 - inside a session's sandbox a bind below 1024 fails with EACCES, and a bind on a free high port succeeds
|
|
---
|
|
duration_ms: 126.726265
|
|
type: 'test'
|
|
...
|
|
1..43
|
|
# tests 43
|
|
# suites 0
|
|
# pass 43
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 70755.18746
|
|
END {"label": "cli-case2-unit.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/case2-unit.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gZuwvKO", "rc": 0, "wall_seconds": 70.819, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/cli-case2-unit.test.log", "counts": {"tests": 43, "pass": 43, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "cli-channel-cli.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/channel-cli.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gsKXQa2"}
|
|
TAP version 13
|
|
# Subtest: CLI off, absent and other-only channel selections refuse every project/thread flow before any effect
|
|
ok 1 - CLI off, absent and other-only channel selections refuse every project/thread flow before any effect
|
|
---
|
|
duration_ms: 14.862016
|
|
type: 'test'
|
|
...
|
|
# Subtest: CLI enabled project/thread lists dispatch through selection without changing output
|
|
ok 2 - CLI enabled project/thread lists dispatch through selection without changing output
|
|
---
|
|
duration_ms: 1.810402
|
|
type: 'test'
|
|
...
|
|
1..2
|
|
# tests 2
|
|
# suites 0
|
|
# pass 2
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 161.566927
|
|
END {"label": "cli-channel-cli.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/channel-cli.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gsKXQa2", "rc": 0, "wall_seconds": 0.214, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/cli-channel-cli.test.log", "counts": {"tests": 2, "pass": 2, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "cli-channel-recovery.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/channel-recovery.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/go7AJdp"}
|
|
TAP version 13
|
|
# Subtest: both channels off recover through the existing human CLI, socket and organization writer
|
|
ok 1 - both channels off recover through the existing human CLI, socket and organization writer
|
|
---
|
|
duration_ms: 2452.887029
|
|
type: 'test'
|
|
...
|
|
1..1
|
|
# tests 1
|
|
# suites 0
|
|
# pass 1
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 2577.21069
|
|
END {"label": "cli-channel-recovery.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/channel-recovery.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/go7AJdp", "rc": 0, "wall_seconds": 2.62, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/cli-channel-recovery.test.log", "counts": {"tests": 1, "pass": 1, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "cli-cli.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/cli.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gANOAg1"}
|
|
TAP version 13
|
|
# Subtest: inbox lists only decisions routed to the human, with what approving authorizes and how to decide
|
|
ok 1 - inbox lists only decisions routed to the human, with what approving authorizes and how to decide
|
|
---
|
|
duration_ms: 25.242063
|
|
type: 'test'
|
|
...
|
|
# Subtest: decide resolves by id prefix with --yes, and the trail shows it in broker order with the task to follow
|
|
ok 2 - decide resolves by id prefix with --yes, and the trail shows it in broker order with the task to follow
|
|
---
|
|
duration_ms: 19.969662
|
|
type: 'test'
|
|
...
|
|
# Subtest: decide refuses without a terminal or --yes, on an unknown option and on a short reference
|
|
ok 3 - decide refuses without a terminal or --yes, on an unknown option and on a short reference
|
|
---
|
|
duration_ms: 17.281164
|
|
type: 'test'
|
|
...
|
|
# Subtest: decide prints a declining choice as declining
|
|
ok 4 - decide prints a declining choice as declining
|
|
---
|
|
duration_ms: 16.51824
|
|
type: 'test'
|
|
...
|
|
# Subtest: an unknown outcome is reported once and never resent
|
|
ok 5 - an unknown outcome is reported once and never resent
|
|
---
|
|
duration_ms: 15.534297
|
|
type: 'test'
|
|
...
|
|
# Subtest: a decision closed before the answer arrives exits 2 and points at its trail
|
|
ok 6 - a decision closed before the answer arrives exits 2 and points at its trail
|
|
---
|
|
duration_ms: 15.245479
|
|
type: 'test'
|
|
...
|
|
# Subtest: a prefix that matches two open decisions exits 2 and resolves neither
|
|
ok 7 - a prefix that matches two open decisions exits 2 and resolves neither
|
|
---
|
|
duration_ms: 18.353886
|
|
type: 'test'
|
|
...
|
|
# Subtest: without --business a command uses the live host's business, and a stale host.json is not a host
|
|
ok 8 - without --business a command uses the live host's business, and a stale host.json is not a host
|
|
---
|
|
duration_ms: 17.168794
|
|
type: 'test'
|
|
...
|
|
# Subtest: every human command refuses inside an agent run before it touches the bus
|
|
ok 9 - every human command refuses inside an agent run before it touches the bus
|
|
---
|
|
duration_ms: 14.686821
|
|
type: 'test'
|
|
...
|
|
# Subtest: usage errors exit 4; no business and no host is a usage error
|
|
ok 10 - usage errors exit 4; no business and no host is a usage error
|
|
---
|
|
duration_ms: 18.348432
|
|
type: 'test'
|
|
...
|
|
# Subtest: agents and tasks print through the broker
|
|
ok 11 - agents and tasks print through the broker
|
|
---
|
|
duration_ms: 15.919454
|
|
type: 'test'
|
|
...
|
|
# Subtest: notify.json: missing, loose, malformed and extra keys refuse; a binding or null passes
|
|
ok 12 - notify.json: missing, loose, malformed and extra keys refuse; a binding or null passes
|
|
---
|
|
duration_ms: 2.134067
|
|
type: 'test'
|
|
...
|
|
1..12
|
|
# tests 12
|
|
# suites 0
|
|
# pass 12
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 345.023606
|
|
END {"label": "cli-cli.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/cli.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gANOAg1", "rc": 0, "wall_seconds": 0.415, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/cli-cli.test.log", "counts": {"tests": 12, "pass": 12, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "cli-compactions-launch.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/compactions-launch.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gv1p2U4"}
|
|
TAP version 13
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r9b3b7ed31472","instance":"assistant","turn":"82d5b28f-c9f8-4aec-a47a-6ec56ad9cb75","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r34dccd1faa35","instance":"assistant","turn":"16acf3fd-3731-4b41-8b46-1969ffc1c6cd","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 1 - 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: 3060.513912
|
|
type: 'test'
|
|
...
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r7987e5e98f94","instance":"assistant","turn":"512b7ba9-df7d-42ec-afdf-1d2506148696","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r183cb86b10d2","instance":"assistant","turn":"e27b3e1c-9bcc-40ad-a062-f146793dba6f","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 2 - 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: 2836.42437
|
|
type: 'test'
|
|
...
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"ra75431fa79f0","instance":"assistant","turn":"4c91828b-718b-4ac6-bcdf-fb8dcb2b8bdd","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r1450d66c421c","instance":"assistant","turn":"c282410a-0651-4bb5-ae26-3d43f79e4b8e","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 3 - REQ-THREAD-2 T3 the read budget is the system config's compactionReadBytes, and a bad value takes the default
|
|
---
|
|
duration_ms: 2964.243073
|
|
type: 'test'
|
|
...
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r3cc51381700b","instance":"assistant","turn":"a208c9ff-e339-4ccb-ba7d-647e0fcad96a","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"rebd0e645051f","instance":"assistant","turn":"3f166978-a37b-4720-b5f6-23739160ab30","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 4 - REQ-THREAD-2 T3 the stream cap is the system config's compactionStreams, and a bad value takes the default
|
|
---
|
|
duration_ms: 2985.353374
|
|
type: 'test'
|
|
...
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r38cd5fc106f6","instance":"assistant","turn":"d1689f86-422d-4722-9137-8b6d98f6d8e3","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 5 - 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: 2894.272332
|
|
type: 'test'
|
|
...
|
|
1..5
|
|
# tests 5
|
|
# suites 0
|
|
# pass 5
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 14897.217121
|
|
END {"label": "cli-compactions-launch.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/compactions-launch.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gv1p2U4", "rc": 0, "wall_seconds": 14.945, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/cli-compactions-launch.test.log", "counts": {"tests": 5, "pass": 5, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "cli-config.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/config.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gqPHWdx"}
|
|
TAP version 13
|
|
# Subtest: bootConfig builds the broker's boot message for one business, with no trackers key when no project names one
|
|
ok 1 - bootConfig builds the broker's boot message for one business, with no trackers key when no project names one
|
|
---
|
|
duration_ms: 47.533158
|
|
type: 'test'
|
|
...
|
|
# Subtest: trackers come from the tracker.* variables of the one project that names a tracker project
|
|
ok 2 - trackers come from the tracker.* variables of the one project that names a tracker project
|
|
---
|
|
duration_ms: 82.772069
|
|
type: 'test'
|
|
...
|
|
# Subtest: with two projects, the one that sets tracker.project supplies the tracker and the other is no conflict
|
|
ok 3 - with two projects, the one that sets tracker.project supplies the tracker and the other is no conflict
|
|
---
|
|
duration_ms: 42.496949
|
|
type: 'test'
|
|
...
|
|
# Subtest: two projects that each name a tracker project refuse, since the boot shape holds one
|
|
ok 4 - two projects that each name a tracker project refuse, since the boot shape holds one
|
|
---
|
|
duration_ms: 40.465424
|
|
type: 'test'
|
|
...
|
|
# Subtest: a business without tracker.baseUrl gets no trackers entry
|
|
ok 5 - a business without tracker.baseUrl gets no trackers entry
|
|
---
|
|
duration_ms: 44.976205
|
|
type: 'test'
|
|
...
|
|
# Subtest: an unknown business and a broken system config refuse with exit 3
|
|
ok 6 - an unknown business and a broken system config refuse with exit 3
|
|
---
|
|
duration_ms: 80.054576
|
|
type: 'test'
|
|
...
|
|
1..6
|
|
# tests 6
|
|
# suites 0
|
|
# pass 6
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 481.867119
|
|
END {"label": "cli-config.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/config.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gqPHWdx", "rc": 0, "wall_seconds": 0.566, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/cli-config.test.log", "counts": {"tests": 6, "pass": 6, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "cli-credentials.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/credentials.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gwjrLbh"}
|
|
TAP version 13
|
|
# Subtest: row 199: issue and rotate send the stdin token once to credentials.issue and print no value
|
|
ok 1 - row 199: issue and rotate send the stdin token once to credentials.issue and print no value
|
|
---
|
|
duration_ms: 6.049775
|
|
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 2 - row 199: rotate goes ahead on each held state, rotation-due included, and refuses not-issued, revoked and an unknown entry
|
|
---
|
|
duration_ms: 2.332996
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 199: status, revoke and delete; the tester runs status and revoke only
|
|
ok 3 - row 199: status, revoke and delete; the tester runs status and revoke only
|
|
---
|
|
duration_ms: 2.4827
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 210: issue of a host.<id> kind prints public material only
|
|
ok 4 - row 210: issue of a host.<id> kind prints public material only
|
|
---
|
|
duration_ms: 1.076741
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 199: scripts/mosaic sends credentials to packages/cli, not the seat CLI
|
|
ok 5 - row 199: scripts/mosaic sends credentials to packages/cli, not the seat CLI
|
|
---
|
|
duration_ms: 100.820374
|
|
type: 'test'
|
|
...
|
|
1..5
|
|
# tests 5
|
|
# suites 0
|
|
# pass 5
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 245.28395
|
|
END {"label": "cli-credentials.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/credentials.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gwjrLbh", "rc": 0, "wall_seconds": 0.314, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/cli-credentials.test.log", "counts": {"tests": 5, "pass": 5, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "cli-follow.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/follow.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gql3NXN"}
|
|
TAP version 13
|
|
# Subtest: follow prints an unsolicited message after plain talk returned
|
|
ok 1 - follow prints an unsolicited message after plain talk returned
|
|
---
|
|
duration_ms: 32.177613
|
|
type: 'test'
|
|
...
|
|
# Subtest: talk --follow continues after reply and prints a later unsolicited message
|
|
ok 2 - talk --follow continues after reply and prints a later unsolicited message
|
|
---
|
|
duration_ms: 30.726311
|
|
type: 'test'
|
|
...
|
|
# Subtest: inbox lists all unread human messages under decisions, does not deliver or read them
|
|
ok 3 - inbox lists all unread human messages under decisions, does not deliver or read them
|
|
---
|
|
duration_ms: 291.201044
|
|
type: 'test'
|
|
...
|
|
# Subtest: follow refuses agent context and bad arguments
|
|
ok 4 - follow refuses agent context and bad arguments
|
|
---
|
|
duration_ms: 13.974453
|
|
type: 'test'
|
|
...
|
|
# Subtest: follow Ctrl-C wakes the poll sleep and removes its handler; transport errors also clean up
|
|
ok 5 - follow Ctrl-C wakes the poll sleep and removes its handler; transport errors also clean up
|
|
---
|
|
duration_ms: 12.555306
|
|
type: 'test'
|
|
...
|
|
# Subtest: plain talk leaves the process SIGINT handlers unchanged
|
|
ok 6 - plain talk leaves the process SIGINT handlers unchanged
|
|
---
|
|
duration_ms: 15.128181
|
|
type: 'test'
|
|
...
|
|
1..6
|
|
# tests 6
|
|
# suites 0
|
|
# pass 6
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 519.127806
|
|
END {"label": "cli-follow.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/follow.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gql3NXN", "rc": 0, "wall_seconds": 0.565, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/cli-follow.test.log", "counts": {"tests": 6, "pass": 6, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "cli-format.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/format.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/g8SWnhq"}
|
|
TAP version 13
|
|
# Subtest: empty views say so
|
|
ok 1 - empty views say so
|
|
---
|
|
duration_ms: 0.6655
|
|
type: 'test'
|
|
...
|
|
# Subtest: agents adds a thread line for each held thread claim, after the roles
|
|
ok 2 - agents adds a thread line for each held thread claim, after the roles
|
|
---
|
|
duration_ms: 0.143368
|
|
type: 'test'
|
|
...
|
|
# Subtest: the trail keeps the broker's order and names a decision's task without its rows
|
|
ok 3 - the trail keeps the broker's order and names a decision's task without its rows
|
|
---
|
|
duration_ms: 1.292604
|
|
type: 'test'
|
|
...
|
|
# Subtest: tasks print the tracker fields the snapshot carries
|
|
ok 4 - tasks print the tracker fields the snapshot carries
|
|
---
|
|
duration_ms: 0.146742
|
|
type: 'test'
|
|
...
|
|
1..4
|
|
# tests 4
|
|
# suites 0
|
|
# pass 4
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 54.78105
|
|
END {"label": "cli-format.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/format.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/g8SWnhq", "rc": 0, "wall_seconds": 0.114, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/cli-format.test.log", "counts": {"tests": 4, "pass": 4, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "cli-gate-lane-auth.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/gate-lane-auth.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/g7HdD5m"}
|
|
TAP version 13
|
|
# Subtest: guardDocker refuses a compose run unless PI_AUTH_FILE is a regular file inside the lane temp root
|
|
ok 1 - guardDocker refuses a compose run unless PI_AUTH_FILE is a regular file inside the lane temp root
|
|
---
|
|
duration_ms: 3.533553
|
|
type: 'test'
|
|
...
|
|
# Subtest: cleanEnv points PI_AUTH_FILE at the lane fixture and drops MOSAIC_LIVE_PROVIDER
|
|
ok 2 - cleanEnv points PI_AUTH_FILE at the lane fixture and drops MOSAIC_LIVE_PROVIDER
|
|
---
|
|
duration_ms: 0.481998
|
|
type: 'test'
|
|
...
|
|
# Subtest: test-release.sh activates through the mock adapter with a 0600 fixture auth file
|
|
ok 3 - test-release.sh activates through the mock adapter with a 0600 fixture auth file
|
|
---
|
|
duration_ms: 1567.218594
|
|
type: 'test'
|
|
...
|
|
# {"script":"test-release.sh","extra":[],"wallMs":1287,"status":0}
|
|
# Subtest: test-task.sh mounts only its fixture, uses only the mock adapter and prints the live skip twice
|
|
ok 4 - test-task.sh mounts only its fixture, uses only the mock adapter and prints the live skip twice
|
|
---
|
|
duration_ms: 8010.374306
|
|
type: 'test'
|
|
...
|
|
# {"script":"test-task.sh","extra":[],"wallMs":7939,"status":1}
|
|
# Subtest: M-T: MOSAIC_LIVE_PROVIDER=1 runs the real-model cases, which fail under a fixture auth file
|
|
ok 5 - M-T: MOSAIC_LIVE_PROVIDER=1 runs the real-model cases, which fail under a fixture auth file
|
|
---
|
|
duration_ms: 8544.524875
|
|
type: 'test'
|
|
...
|
|
# {"script":"test-task.sh","extra":["MOSAIC_LIVE_PROVIDER","PI_AUTH_FILE"],"wallMs":8476,"status":1}
|
|
1..5
|
|
# tests 5
|
|
# suites 0
|
|
# pass 5
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 18193.082729
|
|
END {"label": "cli-gate-lane-auth.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/gate-lane-auth.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/g7HdD5m", "rc": 0, "wall_seconds": 18.252, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/cli-gate-lane-auth.test.log", "counts": {"tests": 5, "pass": 5, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "cli-gate-lane-fixtures.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/gate-lane-fixtures.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gmgJikS"}
|
|
TAP version 13
|
|
# Subtest: parallel lease holders use only the active lane and its shared state
|
|
ok 1 - parallel lease holders use only the active lane and its shared state
|
|
---
|
|
duration_ms: 22.268532
|
|
type: 'test'
|
|
...
|
|
# Subtest: unrelated home changes do not become lane writes, and own-root references do
|
|
ok 2 - unrelated home changes do not become lane writes, and own-root references do
|
|
---
|
|
duration_ms: 0.345374
|
|
type: 'test'
|
|
...
|
|
# Subtest: proof summaries refuse missing timings, non-overlap and a pair without a lane swap
|
|
ok 3 - proof summaries refuse missing timings, non-overlap and a pair without a lane swap
|
|
---
|
|
duration_ms: 0.987671
|
|
type: 'test'
|
|
...
|
|
# Subtest: an exhausted single-port band refuses, and an occupied foreign listener survives the probe
|
|
ok 4 - an exhausted single-port band refuses, and an occupied foreign listener survives the probe
|
|
---
|
|
duration_ms: 10.180104
|
|
type: 'test'
|
|
...
|
|
# Subtest: parallel child allocators share real lane locks; a lease remains held through child shutdown
|
|
ok 5 - parallel child allocators share real lane locks; a lease remains held through child shutdown
|
|
---
|
|
duration_ms: 158.353131
|
|
type: 'test'
|
|
...
|
|
# Subtest: abrupt allocator death releases its holder without touching a foreign lease
|
|
ok 6 - abrupt allocator death releases its holder without touching a foreign lease
|
|
---
|
|
duration_ms: 55.962636
|
|
type: 'test'
|
|
...
|
|
# Subtest: fixture caches survive a replacement environment with a separate tmp subdirectory
|
|
ok 7 - fixture caches survive a replacement environment with a separate tmp subdirectory
|
|
---
|
|
duration_ms: 24.279942
|
|
type: 'test'
|
|
...
|
|
# Subtest: an unrelated session can append while a supervised step runs without becoming an attributed write
|
|
ok 8 - an unrelated session can append while a supervised step runs without becoming an attributed write
|
|
---
|
|
duration_ms: 39.23961
|
|
type: 'test'
|
|
...
|
|
1..8
|
|
# tests 8
|
|
# suites 0
|
|
# pass 8
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 371.486334
|
|
END {"label": "cli-gate-lane-fixtures.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/gate-lane-fixtures.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gmgJikS", "rc": 0, "wall_seconds": 0.415, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/cli-gate-lane-fixtures.test.log", "counts": {"tests": 8, "pass": 8, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "cli-gate-lane-image.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/gate-lane-image.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gOV4zek"}
|
|
TAP version 13
|
|
# Subtest: a changed COPY input or actual image ID refuses compatible image sharing
|
|
ok 1 - a changed COPY input or actual image ID refuses compatible image sharing
|
|
---
|
|
duration_ms: 4.631814
|
|
type: 'test'
|
|
...
|
|
# Subtest: warm Docker guard disables implicit build and pull and refuses image mutation
|
|
ok 2 - warm Docker guard disables implicit build and pull and refuses image mutation
|
|
---
|
|
duration_ms: 1.504714
|
|
type: 'test'
|
|
...
|
|
# Subtest: exclusive image preparation records actual image ID and build wall time and requires a grant
|
|
ok 3 - exclusive image preparation records actual image ID and build wall time and requires a grant
|
|
---
|
|
duration_ms: 2.513219
|
|
type: 'test'
|
|
...
|
|
# Subtest: cleanup refuses a foreign Docker label and removes only an exact owned project
|
|
ok 4 - cleanup refuses a foreign Docker label and removes only an exact owned project
|
|
---
|
|
duration_ms: 0.37577
|
|
type: 'test'
|
|
...
|
|
# Subtest: missing receipt and missing image refuse without permitting a gate
|
|
ok 5 - missing receipt and missing image refuse without permitting a gate
|
|
---
|
|
duration_ms: 1.761432
|
|
type: 'test'
|
|
...
|
|
# Subtest: a tag changed between supervised steps fails the next boundary and suppresses gate success
|
|
ok 6 - a tag changed between supervised steps fails the next boundary and suppresses gate success
|
|
---
|
|
duration_ms: 26.095707
|
|
type: 'test'
|
|
...
|
|
# Subtest: mutable-base rebuilds with identical files have distinct image IDs; cold and warm counters stay separate
|
|
ok 7 - mutable-base rebuilds with identical files have distinct image IDs; cold and warm counters stay separate
|
|
---
|
|
duration_ms: 2.996312
|
|
type: 'test'
|
|
...
|
|
# Subtest: warm pinned execution records zero builds and checks the tag again after its final step
|
|
ok 8 - warm pinned execution records zero builds and checks the tag again after its final step
|
|
---
|
|
duration_ms: 47.816546
|
|
type: 'test'
|
|
...
|
|
# Subtest: installed Compose accepts rewritten run argv without starting a container
|
|
ok 9 - installed Compose accepts rewritten run argv without starting a container
|
|
---
|
|
duration_ms: 82.330012
|
|
type: 'test'
|
|
...
|
|
# Subtest: installed Compose resolves the private override with no build and the pinned image
|
|
ok 10 - installed Compose resolves the private override with no build and the pinned image
|
|
---
|
|
duration_ms: 43.475093
|
|
type: 'test'
|
|
...
|
|
# {"installedComposeConfig":{"buildPresent":false,"image":"sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}}
|
|
# Subtest: guard owns every Compose file argument and refuses caller configuration overrides
|
|
ok 11 - guard owns every Compose file argument and refuses caller configuration overrides
|
|
---
|
|
duration_ms: 0.681145
|
|
type: 'test'
|
|
...
|
|
# Subtest: changing packages/processing-control/src/state.mjs invalidates the image receipt
|
|
ok 12 - changing packages/processing-control/src/state.mjs invalidates the image receipt
|
|
---
|
|
duration_ms: 1.410212
|
|
type: 'test'
|
|
...
|
|
# Subtest: changing packages/processing-control/src/entrypoint.mjs invalidates the image receipt
|
|
ok 13 - changing packages/processing-control/src/entrypoint.mjs invalidates the image receipt
|
|
---
|
|
duration_ms: 1.581395
|
|
type: 'test'
|
|
...
|
|
1..13
|
|
# tests 13
|
|
# suites 0
|
|
# pass 13
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 266.439661
|
|
END {"label": "cli-gate-lane-image.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/gate-lane-image.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gOV4zek", "rc": 0, "wall_seconds": 0.314, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/cli-gate-lane-image.test.log", "counts": {"tests": 13, "pass": 13, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "cli-gate-lane-state.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/gate-lane-state.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/g4tn3Kj"}
|
|
TAP version 13
|
|
# Subtest: unfinished dead-owner runs quarantine their lane and a recovery record clears only that run
|
|
ok 1 - unfinished dead-owner runs quarantine their lane and a recovery record clears only that run
|
|
---
|
|
duration_ms: 4.979095
|
|
type: 'test'
|
|
...
|
|
# Subtest: a legacy landing gate beside a lane stays legacy even with the same parent
|
|
ok 2 - a legacy landing gate beside a lane stays legacy even with the same parent
|
|
---
|
|
duration_ms: 1.658263
|
|
type: 'test'
|
|
...
|
|
# Subtest: the shell status entry reads scratch receipts and reports legacy processes without mutating old slots
|
|
ok 3 - the shell status entry reads scratch receipts and reports legacy processes without mutating old slots
|
|
---
|
|
duration_ms: 68.062109
|
|
type: 'test'
|
|
...
|
|
# Subtest: recovery supersedes an unclean terminal without rewriting either receipt
|
|
ok 4 - recovery supersedes an unclean terminal without rewriting either receipt
|
|
---
|
|
duration_ms: 2.15456
|
|
type: 'test'
|
|
...
|
|
# Subtest: the wrapper refuses a held lane lock and preserves its inode
|
|
ok 5 - the wrapper refuses a held lane lock and preserves its inode
|
|
---
|
|
duration_ms: 48.445321
|
|
type: 'test'
|
|
...
|
|
# Subtest: a held kernel lock without a start receipt is BUSY rather than CLEAR
|
|
ok 6 - a held kernel lock without a start receipt is BUSY rather than CLEAR
|
|
---
|
|
duration_ms: 4.624175
|
|
type: 'test'
|
|
...
|
|
# Subtest: SIGKILL leaves a quarantined run and locked recovery publishes a new clean receipt
|
|
ok 7 - SIGKILL leaves a quarantined run and locked recovery publishes a new clean receipt
|
|
---
|
|
duration_ms: 227.885809
|
|
type: 'test'
|
|
...
|
|
# Subtest: a malformed receipt refuses status and an identity mismatch cannot look live
|
|
ok 8 - a malformed receipt refuses status and an identity mismatch cannot look live
|
|
---
|
|
duration_ms: 1.595525
|
|
type: 'test'
|
|
...
|
|
# Subtest: a symlink lock is refused before acquiring or replacing its target
|
|
ok 9 - a symlink lock is refused before acquiring or replacing its target
|
|
---
|
|
duration_ms: 37.887184
|
|
type: 'test'
|
|
...
|
|
# Subtest: failed recovery keeps quarantine and never publishes a clean recovery receipt
|
|
ok 10 - failed recovery keeps quarantine and never publishes a clean recovery receipt
|
|
---
|
|
duration_ms: 223.103762
|
|
type: 'test'
|
|
...
|
|
# Subtest: two shared image holders coexist, but exclusive preparation refuses their lock
|
|
ok 11 - two shared image holders coexist, but exclusive preparation refuses their lock
|
|
---
|
|
duration_ms: 141.650363
|
|
type: 'test'
|
|
...
|
|
# Subtest: two simultaneous shell claims have one winner; supervisor retains lock FDs and ordinary children do not
|
|
ok 12 - two simultaneous shell claims have one winner; supervisor retains lock FDs and ordinary children do not
|
|
---
|
|
duration_ms: 127.630822
|
|
type: 'test'
|
|
...
|
|
# Subtest: same checkout and a legacy land gate each refuse a claim on an otherwise free lane
|
|
ok 13 - same checkout and a legacy land gate each refuse a claim on an otherwise free lane
|
|
---
|
|
duration_ms: 3.336295
|
|
type: 'test'
|
|
...
|
|
# Subtest: recovery kills a proven surviving child, preserves a foreign child and keeps quarantine if interrupted
|
|
ok 14 - recovery kills a proven surviving child, preserves a foreign child and keeps quarantine if interrupted
|
|
---
|
|
duration_ms: 495.034166
|
|
type: 'test'
|
|
...
|
|
1..14
|
|
# tests 14
|
|
# suites 0
|
|
# pass 14
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 1439.358653
|
|
END {"label": "cli-gate-lane-state.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/gate-lane-state.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/g4tn3Kj", "rc": 0, "wall_seconds": 1.517, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/cli-gate-lane-state.test.log", "counts": {"tests": 14, "pass": 14, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "cli-gate-lane.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/gate-lane.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gZZyzOr"}
|
|
TAP version 13
|
|
# Subtest: preflight refuses unsafe lane roots, missing grants and live port 9 before side effects
|
|
ok 1 - preflight refuses unsafe lane roots, missing grants and live port 9 before side effects
|
|
---
|
|
duration_ms: 38.492975
|
|
type: 'test'
|
|
...
|
|
# Subtest: discovery preserves all package and script steps while ignoring non-file shell names
|
|
ok 2 - discovery preserves all package and script steps while ignoring non-file shell names
|
|
---
|
|
duration_ms: 10.648521
|
|
type: 'test'
|
|
...
|
|
# Subtest: a failed step stops the gate and records its nonzero exit without running the next step
|
|
ok 3 - a failed step stops the gate and records its nonzero exit without running the next step
|
|
---
|
|
duration_ms: 14.326387
|
|
type: 'test'
|
|
...
|
|
# Subtest: a cancelled step stops its process group and records failure
|
|
ok 4 - a cancelled step stops its process group and records failure
|
|
---
|
|
duration_ms: 114.067797
|
|
type: 'test'
|
|
...
|
|
# Subtest: step receipts retain pass fail skipped counts and hashes of their actual logs
|
|
ok 5 - step receipts retain pass fail skipped counts and hashes of their actual logs
|
|
---
|
|
duration_ms: 35.956779
|
|
type: 'test'
|
|
...
|
|
# Subtest: preflight rejects a real 31-byte root, missing dependency tree, occupied band and missing inventory
|
|
ok 6 - preflight rejects a real 31-byte root, missing dependency tree, occupied band and missing inventory
|
|
---
|
|
duration_ms: 24.155102
|
|
type: 'test'
|
|
...
|
|
# Subtest: preflight refuses canonical and builder checkouts and an existing output
|
|
ok 7 - preflight refuses canonical and builder checkouts and an existing output
|
|
---
|
|
duration_ms: 12.54575
|
|
type: 'test'
|
|
...
|
|
# Subtest: both candidates must carry every approved launcher file
|
|
ok 8 - both candidates must carry every approved launcher file
|
|
---
|
|
duration_ms: 11.416491
|
|
type: 'test'
|
|
...
|
|
# Subtest: the 92-byte socket example passes and an over-107-byte pathname refuses
|
|
ok 9 - the 92-byte socket example passes and an over-107-byte pathname refuses
|
|
---
|
|
duration_ms: 0.163849
|
|
type: 'test'
|
|
...
|
|
# Subtest: package/script duplicates stay and every supervised step clears NODE_TEST_CONTEXT
|
|
ok 10 - package/script duplicates stay and every supervised step clears NODE_TEST_CONTEXT
|
|
---
|
|
duration_ms: 55.316396
|
|
type: 'test'
|
|
...
|
|
# Subtest: scoped ss loopback and wildcard port 9 listeners refuse
|
|
ok 11 - scoped ss loopback and wildcard port 9 listeners refuse
|
|
---
|
|
duration_ms: 24.232819
|
|
type: 'test'
|
|
...
|
|
# Subtest: step children use legacy umask 022 while the supervisor retains 077
|
|
ok 12 - step children use legacy umask 022 while the supervisor retains 077
|
|
---
|
|
duration_ms: 32.57601
|
|
type: 'test'
|
|
...
|
|
# Subtest: lane wrapper keeps its state directory and lock files private
|
|
ok 13 - lane wrapper keeps its state directory and lock files private
|
|
---
|
|
duration_ms: 94.530468
|
|
type: 'test'
|
|
...
|
|
1..13
|
|
# tests 13
|
|
# suites 0
|
|
# pass 13
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 517.71105
|
|
END {"label": "cli-gate-lane.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/gate-lane.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gZZyzOr", "rc": 0, "wall_seconds": 0.565, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/cli-gate-lane.test.log", "counts": {"tests": 13, "pass": 13, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "cli-git-socket.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/git-socket.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gtZbXHS"}
|
|
TAP version 13
|
|
# Subtest: the review loop: the coder pushes and asks, the reviewer fetches and approves, and the task's trail holds each step
|
|
ok 1 - the review loop: the coder pushes and asks, the reviewer fetches and approves, and the task's trail holds each step
|
|
---
|
|
duration_ms: 946.127184
|
|
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 2 - 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: 931.023409
|
|
type: 'test'
|
|
...
|
|
# Subtest: the size cap refuses a push before any byte
|
|
ok 3 - the size cap refuses a push before any byte
|
|
---
|
|
duration_ms: 261.95295
|
|
type: 'test'
|
|
...
|
|
# Subtest: a fetch over the cap refuses before any byte reaches the reviewer
|
|
ok 4 - a fetch over the cap refuses before any byte reaches the reviewer
|
|
---
|
|
duration_ms: 885.352974
|
|
type: 'test'
|
|
...
|
|
# Subtest: the socket refuses a request with no capability, an unknown one, and a bad request line
|
|
ok 5 - the socket refuses a request with no capability, an unknown one, and a bad request line
|
|
---
|
|
duration_ms: 358.443131
|
|
type: 'test'
|
|
...
|
|
# Subtest: a rigged clone runs nothing: hooks, fsmonitor, a filter, a gitlink and a symlinked .git/config leave no marker
|
|
ok 6 - a rigged clone runs nothing: hooks, fsmonitor, a filter, a gitlink and a symlinked .git/config leave no marker
|
|
---
|
|
duration_ms: 741.648721
|
|
type: 'test'
|
|
...
|
|
# Subtest: an identity with no role, or of another business, refuses not-a-role and moves no ref
|
|
ok 7 - an identity with no role, or of another business, refuses not-a-role and moves no ref
|
|
---
|
|
duration_ms: 471.73732
|
|
type: 'test'
|
|
...
|
|
# Subtest: a review of a project the business no longer has refuses unknown-project
|
|
ok 8 - a review of a project the business no longer has refuses unknown-project
|
|
---
|
|
duration_ms: 445.80986
|
|
type: 'test'
|
|
...
|
|
# Subtest: past maxActive connections the socket refuses git-busy, and a hung-up connection frees its slot
|
|
ok 9 - past maxActive connections the socket refuses git-busy, and a hung-up connection frees its slot
|
|
---
|
|
duration_ms: 227.378952
|
|
type: 'test'
|
|
...
|
|
# Subtest: close() answers host-closing to a connection still sending its request line
|
|
ok 10 - close() answers host-closing to a connection still sending its request line
|
|
---
|
|
duration_ms: 250.003208
|
|
type: 'test'
|
|
...
|
|
# Subtest: a bundle that trickles in refuses body-timeout at its deadline and frees its slot
|
|
ok 11 - a bundle that trickles in refuses body-timeout at its deadline and frees its slot
|
|
---
|
|
duration_ms: 675.199988
|
|
type: 'test'
|
|
...
|
|
# Subtest: a reviewer gone before its bundle was sent is filed fetch-aborted, not as the host's fault
|
|
ok 12 - a reviewer gone before its bundle was sent is filed fetch-aborted, not as the host's fault
|
|
---
|
|
duration_ms: 807.306211
|
|
type: 'test'
|
|
...
|
|
# Subtest: a reviewer that hangs up the moment it has the whole bundle was served, not aborted
|
|
ok 13 - a reviewer that hangs up the moment it has the whole bundle was served, not aborted
|
|
---
|
|
duration_ms: 1839.193362
|
|
type: 'test'
|
|
...
|
|
# Subtest: send: a close after every byte left is served; one that fails a queued write is fetch-aborted
|
|
ok 14 - send: a close after every byte left is served; one that fails a queued write is fetch-aborted
|
|
---
|
|
duration_ms: 41.5625
|
|
type: 'test'
|
|
...
|
|
# Subtest: a bundle with no bytes for bodyIdle refuses body-timeout long before its deadline
|
|
ok 15 - a bundle with no bytes for bodyIdle refuses body-timeout long before its deadline
|
|
---
|
|
duration_ms: 550.002409
|
|
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 16 - send: a close once the loop is past its last chunk is served, and a failed write there is fetch-aborted
|
|
---
|
|
duration_ms: 45.930672
|
|
type: 'test'
|
|
...
|
|
# Subtest: letGo waits for an answer to leave for at most its cap, then destroys the socket
|
|
ok 17 - letGo waits for an answer to leave for at most its cap, then destroys the socket
|
|
---
|
|
duration_ms: 301.929937
|
|
type: 'test'
|
|
...
|
|
# Subtest: a record that fails and can't be undone refuses rollback-failed, which the host logs
|
|
ok 18 - a record that fails and can't be undone refuses rollback-failed, which the host logs
|
|
---
|
|
duration_ms: 632.638401
|
|
type: 'test'
|
|
...
|
|
# Subtest: land: the squash runs the gate in its own worktree, then main moves and the broker records it
|
|
ok 19 - land: the squash runs the gate in its own worktree, then main moves and the broker records it
|
|
---
|
|
duration_ms: 800.130808
|
|
type: 'test'
|
|
...
|
|
# Subtest: land: an arbiter-resolved landing's squash says the arbiter resolved it through the broker
|
|
ok 20 - land: an arbiter-resolved landing's squash says the arbiter resolved it through the broker
|
|
---
|
|
duration_ms: 798.73066
|
|
type: 'test'
|
|
...
|
|
# Subtest: land: refusals before the gate answer the role at once and leave main and no worktree
|
|
ok 21 - land: refusals before the gate answer the role at once and leave main and no worktree
|
|
---
|
|
duration_ms: 891.801475
|
|
type: 'test'
|
|
...
|
|
# Subtest: land: a failed gate is refused gate-failed with its step, told to the role, and main stays
|
|
ok 22 - land: a failed gate is refused gate-failed with its step, told to the role, and main stays
|
|
---
|
|
duration_ms: 906.496092
|
|
type: 'test'
|
|
...
|
|
# Subtest: land: a record the broker refuses moves main back, and the landing is refused with the broker's code
|
|
ok 23 - land: a record the broker refuses moves main back, and the landing is refused with the broker's code
|
|
---
|
|
duration_ms: 913.081233
|
|
type: 'test'
|
|
...
|
|
# Subtest: land: a second landing while one runs refuses land-busy, and close() stops the gate and refuses host-closing
|
|
ok 24 - land: a second landing while one runs refuses land-busy, and close() stops the gate and refuses host-closing
|
|
---
|
|
duration_ms: 929.938071
|
|
type: 'test'
|
|
...
|
|
1..24
|
|
# tests 24
|
|
# suites 0
|
|
# pass 24
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 15761.489115
|
|
END {"label": "cli-git-socket.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/git-socket.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gtZbXHS", "rc": 0, "wall_seconds": 15.797, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/cli-git-socket.test.log", "counts": {"tests": 24, "pass": 24, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "cli-grants.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/grants.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gLq0JYv"}
|
|
TAP version 13
|
|
# Subtest: row 236: grants status prints one line per entry, and --json the answer
|
|
ok 1 - row 236: grants status prints one line per entry, and --json the answer
|
|
---
|
|
duration_ms: 3.1719
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 236: run, revoke, sweep and admin rotate and remove send their args
|
|
ok 2 - row 236: run, revoke, sweep and admin rotate and remove send their args
|
|
---
|
|
duration_ms: 0.774393
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 236: admin set sends the stdin token once to grants.admin.set and prints no value
|
|
ok 3 - row 236: admin set sends the stdin token once to grants.admin.set and prints no value
|
|
---
|
|
duration_ms: 4.401435
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 236: a malformed grants command is a usage error and calls nothing
|
|
ok 4 - row 236: a malformed grants command is a usage error and calls nothing
|
|
---
|
|
duration_ms: 5.334496
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 236: a bus refusal exits 2 with its code
|
|
ok 5 - row 236: a bus refusal exits 2 with its code
|
|
---
|
|
duration_ms: 0.429603
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 236: scripts/mosaic sends grants to packages/cli, not the seat CLI
|
|
ok 6 - row 236: scripts/mosaic sends grants to packages/cli, not the seat CLI
|
|
---
|
|
duration_ms: 94.593472
|
|
type: 'test'
|
|
...
|
|
1..6
|
|
# tests 6
|
|
# suites 0
|
|
# pass 6
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 250.805213
|
|
END {"label": "cli-grants.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/grants.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gLq0JYv", "rc": 0, "wall_seconds": 0.315, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/cli-grants.test.log", "counts": {"tests": 6, "pass": 6, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "cli-host.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/host.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/g9TXZ8O"}
|
|
TAP version 13
|
|
# Subtest: the host boots the broker, binds a launch in process, and the notifier DMs a blocking decision exactly once
|
|
ok 1 - the host boots the broker, binds a launch in process, and the notifier DMs a blocking decision exactly once
|
|
---
|
|
duration_ms: 1022.692043
|
|
type: 'test'
|
|
...
|
|
# Subtest: a notifier that dies takes the host down with exit 1, so the unit restarts the pair
|
|
ok 2 - a notifier that dies takes the host down with exit 1, so the unit restarts the pair
|
|
---
|
|
duration_ms: 290.049557
|
|
type: 'test'
|
|
...
|
|
# Subtest: a second host for the same data root refuses with exit 3 while the first runs
|
|
ok 3 - a second host for the same data root refuses with exit 3 while the first runs
|
|
---
|
|
duration_ms: 179.234414
|
|
type: 'test'
|
|
...
|
|
# Subtest: two bus starts racing for one data root leave one host running; the other refuses that a host already runs
|
|
ok 4 - two bus starts racing for one data root leave one host running; the other refuses that a host already runs
|
|
---
|
|
duration_ms: 659.887677
|
|
type: 'test'
|
|
...
|
|
# Subtest: a host takes over a host.lock its dead host left, and puts back a live claim that replaced it meanwhile
|
|
ok 5 - a host takes over a host.lock its dead host left, and puts back a live claim that replaced it meanwhile
|
|
---
|
|
duration_ms: 2.046386
|
|
type: 'test'
|
|
...
|
|
# Subtest: a host.lock that goes between the check and the read is tried again; one that can't be parsed still refuses as unreadable
|
|
ok 6 - a host.lock that goes between the check and the read is tried again; one that can't be parsed still refuses as unreadable
|
|
---
|
|
duration_ms: 1.102222
|
|
type: 'test'
|
|
...
|
|
# Subtest: a live host's lock stays, however old the file is
|
|
ok 7 - a live host's lock stays, however old the file is
|
|
---
|
|
duration_ms: 0.54824
|
|
type: 'test'
|
|
...
|
|
# Subtest: a host.lock left by a host killed with SIGKILL doesn't stop the next bus start
|
|
ok 8 - a host.lock left by a host killed with SIGKILL doesn't stop the next bus start
|
|
---
|
|
duration_ms: 1093.922588
|
|
type: 'test'
|
|
...
|
|
# Subtest: while a host boots, a reader sees no host: the human commands still ask for --business, stop and status find none
|
|
ok 9 - while a host boots, a reader sees no host: the human commands still ask for --business, stop and status find none
|
|
---
|
|
duration_ms: 363.55788
|
|
type: 'test'
|
|
...
|
|
# Subtest: a host started before host.lock existed, holding only host.json, still refuses a second start, which leaves no lock
|
|
ok 10 - a host started before host.lock existed, holding only host.json, still refuses a second start, which leaves no lock
|
|
---
|
|
duration_ms: 40.256031
|
|
type: 'test'
|
|
...
|
|
# Subtest: a broker fork that throws leaves no host.lock and no host.json
|
|
ok 11 - a broker fork that throws leaves no host.lock and no host.json
|
|
---
|
|
duration_ms: 71.452089
|
|
type: 'test'
|
|
...
|
|
# Subtest: a broker send that throws leaves no host.lock and no host.json
|
|
ok 12 - a broker send that throws leaves no host.lock and no host.json
|
|
---
|
|
duration_ms: 49.521495
|
|
type: 'test'
|
|
...
|
|
# Subtest: a broker that misses its boot wait leaves no host.lock and no host.json
|
|
ok 13 - a broker that misses its boot wait leaves no host.lock and no host.json
|
|
---
|
|
duration_ms: 40.674606
|
|
type: 'test'
|
|
...
|
|
# Subtest: a notifier fork that throws stops the broker and leaves no host.lock and no host.json
|
|
ok 14 - a notifier fork that throws stops the broker and leaves no host.lock and no host.json
|
|
---
|
|
duration_ms: 234.528045
|
|
type: 'test'
|
|
...
|
|
# Subtest: a notifier send that throws stops the broker and leaves no host.lock and no host.json
|
|
ok 15 - a notifier send that throws stops the broker and leaves no host.lock and no host.json
|
|
---
|
|
duration_ms: 237.706258
|
|
type: 'test'
|
|
...
|
|
# Subtest: a boot reply with no reader for the business refuses with exit 3 naming it, before the notifier starts, and leaves no host.lock and no live broker
|
|
ok 16 - a boot reply with no reader for the business refuses with exit 3 naming it, before the notifier starts, and leaves no host.lock and no live broker
|
|
---
|
|
duration_ms: 250.66904
|
|
type: 'test'
|
|
...
|
|
# Subtest: a boot reply with no reader for the business refuses with exit 3 naming it, with no notifier, and leaves no host.lock and no live broker
|
|
ok 17 - a boot reply with no reader for the business refuses with exit 3 naming it, with no notifier, and leaves no host.lock and no live broker
|
|
---
|
|
duration_ms: 196.608716
|
|
type: 'test'
|
|
...
|
|
# Subtest: a host.json that can't be written stops both children and leaves no host.lock
|
|
ok 18 - a host.json that can't be written stops both children and leaves no host.lock
|
|
---
|
|
duration_ms: 325.555338
|
|
type: 'test'
|
|
...
|
|
# Subtest: an error event on the broker before it replies fails the start at once, and leaves no host.lock and no live child
|
|
ok 19 - an error event on the broker before it replies fails the start at once, and leaves no host.lock and no live child
|
|
---
|
|
duration_ms: 35.5044
|
|
type: 'test'
|
|
...
|
|
# Subtest: an error event on the notifier before it replies fails the start at once, and leaves no host.lock and no live child
|
|
ok 20 - an error event on the notifier before it replies fails the start at once, and leaves no host.lock and no live child
|
|
---
|
|
duration_ms: 187.03327
|
|
type: 'test'
|
|
...
|
|
# Subtest: an error event on the broker while the notifier starts fails the start once the notifier replies
|
|
ok 21 - an error event on the broker while the notifier starts fails the start once the notifier replies
|
|
---
|
|
duration_ms: 353.473268
|
|
type: 'test'
|
|
...
|
|
# Subtest: an error event on the broker once the host is up stops the host with exit 1, and leaves no host.lock and no host.json
|
|
ok 22 - an error event on the broker once the host is up stops the host with exit 1, and leaves no host.lock and no host.json
|
|
---
|
|
duration_ms: 342.614558
|
|
type: 'test'
|
|
...
|
|
# Subtest: an error event on the notifier once the host is up stops the host with exit 1, and leaves no host.lock and no host.json
|
|
ok 23 - an error event on the notifier once the host is up stops the host with exit 1, and leaves no host.lock and no host.json
|
|
---
|
|
duration_ms: 366.012199
|
|
type: 'test'
|
|
...
|
|
# Subtest: a broker reply that misses the wait breaks the channel: the late reply answers nothing, later requests refuse, the host exits 1
|
|
ok 24 - a broker reply that misses the wait breaks the channel: the late reply answers nothing, later requests refuse, the host exits 1
|
|
---
|
|
duration_ms: 1197.584716
|
|
type: 'test'
|
|
...
|
|
# Subtest: a broker reply with another request's id, or none, breaks the channel and the host exits 1
|
|
ok 25 - a broker reply with another request's id, or none, breaks the channel and the host exits 1
|
|
---
|
|
duration_ms: 412.737097
|
|
type: 'test'
|
|
...
|
|
# Subtest: a broker reply with no request waiting breaks the channel and the host exits 1
|
|
ok 26 - a broker reply with no request waiting breaks the channel and the host exits 1
|
|
---
|
|
duration_ms: 191.268036
|
|
type: 'test'
|
|
...
|
|
# Subtest: a notifier that refuses stops the broker and the host refuses with exit 3
|
|
ok 27 - a notifier that refuses stops the broker and the host refuses with exit 3
|
|
---
|
|
duration_ms: 255.445466
|
|
type: 'test'
|
|
...
|
|
# Subtest: a notifier that refuses after the broker died still refuses with exit 3, without a send to the dead broker
|
|
ok 28 - a notifier that refuses after the broker died still refuses with exit 3, without a send to the dead broker
|
|
---
|
|
duration_ms: 270.996451
|
|
type: 'test'
|
|
...
|
|
# Subtest: a notifier that dies before it replies, after the broker died, still refuses, without a send to the dead broker
|
|
ok 29 - a notifier that dies before it replies, after the broker died, still refuses, without a send to the dead broker
|
|
---
|
|
duration_ms: 196.694621
|
|
type: 'test'
|
|
...
|
|
# Subtest: a close send that fails with EPIPE after the notifier refuses still gives the notifier's refusal, exit 3
|
|
ok 30 - a close send that fails with EPIPE after the notifier refuses still gives the notifier's refusal, exit 3
|
|
---
|
|
duration_ms: 225.943126
|
|
type: 'test'
|
|
...
|
|
# Subtest: a close send that fails with EPIPE after the notifier dies unanswered still gives the notifier's error
|
|
ok 31 - a close send that fails with EPIPE after the notifier dies unanswered still gives the notifier's error
|
|
---
|
|
duration_ms: 196.546041
|
|
type: 'test'
|
|
...
|
|
# Subtest: close() whose stop and close sends fail with EPIPE still finishes, with exit 1
|
|
ok 32 - close() whose stop and close sends fail with EPIPE still finishes, with exit 1
|
|
---
|
|
duration_ms: 247.325878
|
|
type: 'test'
|
|
...
|
|
# Subtest: watchChildren reports a child that died before it was called, and one that dies later
|
|
ok 33 - watchChildren reports a child that died before it was called, and one that dies later
|
|
---
|
|
duration_ms: 25.247243
|
|
type: 'test'
|
|
...
|
|
# Subtest: bus stop refuses to signal a live pid that is not a bus host
|
|
ok 34 - bus stop refuses to signal a live pid that is not a bus host
|
|
---
|
|
duration_ms: 202.876756
|
|
type: 'test'
|
|
...
|
|
# Subtest: bus start refuses with exit 3 and the code when the broker refuses to boot; bus status names the lock
|
|
ok 35 - bus start refuses with exit 3 and the code when the broker refuses to boot; bus status names the lock
|
|
---
|
|
duration_ms: 350.250448
|
|
type: 'test'
|
|
...
|
|
# Subtest: bus start refuses with exit 3 without a notifier config
|
|
ok 36 - bus start refuses with exit 3 without a notifier config
|
|
---
|
|
duration_ms: 141.254053
|
|
type: 'test'
|
|
...
|
|
# Subtest: bus start runs until bus stop; status reports it while it runs
|
|
ok 37 - bus start runs until bus stop; status reports it while it runs
|
|
---
|
|
duration_ms: 951.671648
|
|
type: 'test'
|
|
...
|
|
# Subtest: bus start --no-launch says launches are disabled in its host-up line and stops cleanly; with --pm it is a usage error
|
|
ok 38 - bus start --no-launch says launches are disabled in its host-up line and stops cleanly; with --pm it is a usage error
|
|
---
|
|
duration_ms: 717.544239
|
|
type: 'test'
|
|
...
|
|
# Subtest: bus-service.sh renders the unit and installs it into a given directory
|
|
ok 39 - bus-service.sh renders the unit and installs it into a given directory
|
|
---
|
|
duration_ms: 268.27879
|
|
type: 'test'
|
|
...
|
|
# Subtest: bus-service.sh pins the claude binary, refuses one the unit can't carry, and renders without one
|
|
ok 40 - bus-service.sh pins the claude binary, refuses one the unit can't carry, and renders without one
|
|
---
|
|
duration_ms: 476.065024
|
|
type: 'test'
|
|
...
|
|
# Subtest: bus-service.sh refuses a directory pin and keeps a symlink default unresolved
|
|
ok 41 - bus-service.sh refuses a directory pin and keeps a symlink default unresolved
|
|
---
|
|
duration_ms: 108.185969
|
|
type: 'test'
|
|
...
|
|
# Subtest: bus-service.sh refuses a default claude without the execute bit, or in a PATH dir with a space
|
|
ok 42 - bus-service.sh refuses a default claude without the execute bit, or in a PATH dir with a space
|
|
---
|
|
duration_ms: 76.190182
|
|
type: 'test'
|
|
...
|
|
# Subtest: bus start --pm while halted keeps the control host up without launching the chief
|
|
ok 43 - bus start --pm while halted keeps the control host up without launching the chief
|
|
---
|
|
duration_ms: 451.733221
|
|
type: 'test'
|
|
...
|
|
1..43
|
|
# tests 43
|
|
# suites 0
|
|
# pass 43
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 13428.106601
|
|
END {"label": "cli-host.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/host.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/g9TXZ8O", "rc": 0, "wall_seconds": 13.493, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/cli-host.test.log", "counts": {"tests": 43, "pass": 43, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "cli-hosts.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/hosts.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gUvJs2d"}
|
|
TAP version 13
|
|
# Subtest: row 234: hosts status prints one line per host, and --json the rows
|
|
ok 1 - row 234: hosts status prints one line per host, and --json the rows
|
|
---
|
|
duration_ms: 2.206305
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 234: hosts check and remove send the host id, as the human or the tester
|
|
ok 2 - row 234: hosts check and remove send the host id, as the human or the tester
|
|
---
|
|
duration_ms: 0.406655
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 234: a malformed hosts command is a usage error and calls nothing
|
|
ok 3 - row 234: a malformed hosts command is a usage error and calls nothing
|
|
---
|
|
duration_ms: 1.935925
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 234: a bus refusal exits 2 with its code
|
|
ok 4 - row 234: a bus refusal exits 2 with its code
|
|
---
|
|
duration_ms: 0.398405
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 234: scripts/mosaic sends hosts to packages/cli, not the seat CLI
|
|
ok 5 - row 234: scripts/mosaic sends hosts to packages/cli, not the seat CLI
|
|
---
|
|
duration_ms: 94.656985
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 235: hosts revoke sends agent, host and reason, and sweep the host, as the human or the tester
|
|
ok 6 - row 235: hosts revoke sends agent, host and reason, and sweep the host, as the human or the tester
|
|
---
|
|
duration_ms: 0.686015
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 235 (N10): revoke without --reason, --reason on another verb, and inherited names are usage errors
|
|
ok 7 - row 235 (N10): revoke without --reason, --reason on another verb, and inherited names are usage errors
|
|
---
|
|
duration_ms: 2.922772
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 235: a status line shows the tags of a revoke in progress
|
|
ok 8 - row 235: a status line shows the tags of a revoke in progress
|
|
---
|
|
duration_ms: 0.3769
|
|
type: 'test'
|
|
...
|
|
1..8
|
|
# tests 8
|
|
# suites 0
|
|
# pass 8
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 248.345536
|
|
END {"label": "cli-hosts.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/hosts.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gUvJs2d", "rc": 0, "wall_seconds": 0.315, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/cli-hosts.test.log", "counts": {"tests": 8, "pass": 8, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "cli-instances.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/instances.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gbWdpHG"}
|
|
TAP version 13
|
|
# 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 1 - 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: 199.605056
|
|
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 2 - 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: 92.473932
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 165 CLI: instance set passes the vars file and --no-launch, and a vars-only change needs no restart
|
|
ok 3 - row 165 CLI: instance set passes the vars file and --no-launch, and a vars-only change needs no restart
|
|
---
|
|
duration_ms: 144.557656
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 165 CLI: a refusal names its code and why, exits 2 and keeps the bytes
|
|
ok 4 - row 165 CLI: a refusal names its code and why, exits 2 and keeps the bytes
|
|
---
|
|
duration_ms: 73.741509
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 165 CLI: usage errors exit 4 before any bus call, and an agent session is refused
|
|
ok 5 - row 165 CLI: usage errors exit 4 before any bus call, and an agent session is refused
|
|
---
|
|
duration_ms: 64.084574
|
|
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 6 - row 165: scripts/mosaic sends business instances, instance and (row 194) veto to packages/cli, and validate still to packages/business
|
|
---
|
|
duration_ms: 240.59414
|
|
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 7 - 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: 122.976005
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 194 CLI: the read lists each instance's running run from the bus claims
|
|
ok 8 - row 194 CLI: the read lists each instance's running run from the bus claims
|
|
---
|
|
duration_ms: 69.615713
|
|
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 9 - 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: 84.408039
|
|
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 10 - 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: 1143.559847
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 194 CLI: a request cancelled by a terminate exits 3 request-cancelled
|
|
ok 11 - row 194 CLI: a request cancelled by a terminate exits 3 request-cancelled
|
|
---
|
|
duration_ms: 82.03302
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 194 CLI V3: terminate prints the runs, the cancelled and the taken requests, and nothing held refuses not-held
|
|
ok 12 - row 194 CLI V3: terminate prints the runs, the cancelled and the taken requests, and nothing held refuses not-held
|
|
---
|
|
duration_ms: 79.116964
|
|
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 13 - row 194 CLI V5: delete polls to the transaction and the read lists the name retired; workspace-rename-failed names the transaction
|
|
---
|
|
duration_ms: 131.683282
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 194 CLI: lifecycle and veto usage errors exit 4 before any bus call
|
|
ok 14 - row 194 CLI: lifecycle and veto usage errors exit 4 before any bus call
|
|
---
|
|
duration_ms: 74.350713
|
|
type: 'test'
|
|
...
|
|
1..14
|
|
# tests 14
|
|
# suites 0
|
|
# pass 14
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 2766.780224
|
|
END {"label": "cli-instances.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/instances.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gbWdpHG", "rc": 0, "wall_seconds": 2.821, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/cli-instances.test.log", "counts": {"tests": 14, "pass": 14, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "cli-launch-account.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/launch-account.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gZbEYi1"}
|
|
TAP version 13
|
|
# Subtest: REQ-LIMIT-2 a claude-code launch asks mayLaunch with launch.account.name
|
|
ok 1 - REQ-LIMIT-2 a claude-code launch asks mayLaunch with launch.account.name
|
|
---
|
|
duration_ms: 22.315359
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-LIMIT-2 each login set the account can name is accepted when the bus host holds exactly it
|
|
ok 2 - REQ-LIMIT-2 each login set the account can name is accepted when the bus host holds exactly it
|
|
---
|
|
duration_ms: 32.660784
|
|
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 3 - REQ-LIMIT-2 account-credential-missing: the named set is not a login set, or the bus host lacks part of it
|
|
---
|
|
duration_ms: 30.284391
|
|
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 4 - REQ-LIMIT-2 account-credential-ambiguous: the bus host sets a credential variable outside the named set, ANTHROPIC_BASE_URL included
|
|
---
|
|
duration_ms: 24.140836
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-LIMIT-2 account-is-credential: launch.account.name is the value of a credential variable the bus host sets
|
|
ok 5 - REQ-LIMIT-2 account-is-credential: launch.account.name is the value of a credential variable the bus host sets
|
|
---
|
|
duration_ms: 17.465238
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-LIMIT-2 a pi launch carries account null and skips both account checks
|
|
ok 6 - REQ-LIMIT-2 a pi launch carries account null and skips both account checks
|
|
---
|
|
duration_ms: 22.171588
|
|
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 7 - REQ-LIMIT-2 with no launch.account a claude-code launch carries null and the environment is not checked for ambiguity
|
|
---
|
|
duration_ms: 11.846993
|
|
type: 'test'
|
|
...
|
|
1..7
|
|
# tests 7
|
|
# suites 0
|
|
# pass 7
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 285.254022
|
|
END {"label": "cli-launch-account.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/launch-account.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gZbEYi1", "rc": 0, "wall_seconds": 0.365, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/cli-launch-account.test.log", "counts": {"tests": 7, "pass": 7, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "cli-launch-limit-checks.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/launch-limit-checks.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/glHeOrm"}
|
|
TAP version 13
|
|
# 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 1 - 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: 21.023014
|
|
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 2 - 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: 10.514182
|
|
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 3 - 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: 77.366635
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-LIMIT-4 the launcher reaches token-limit only through the bus: launcher.mjs imports no limit check
|
|
ok 4 - REQ-LIMIT-4 the launcher reaches token-limit only through the bus: launcher.mjs imports no limit check
|
|
---
|
|
duration_ms: 0.705828
|
|
type: 'test'
|
|
...
|
|
# Subtest: a launcher before trusted control initialization refuses processing-uninitialized
|
|
ok 5 - a launcher before trusted control initialization refuses processing-uninitialized
|
|
---
|
|
duration_ms: 3.610128
|
|
type: 'test'
|
|
...
|
|
1..5
|
|
# tests 5
|
|
# suites 0
|
|
# pass 5
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 239.423044
|
|
END {"label": "cli-launch-limit-checks.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/launch-limit-checks.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/glHeOrm", "rc": 0, "wall_seconds": 0.315, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/cli-launch-limit-checks.test.log", "counts": {"tests": 5, "pass": 5, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "cli-launch-limits.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/launch-limits.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gjCPO85"}
|
|
TAP version 13
|
|
# Subtest: each launch rereads limits and model selections; lowered limits keep sessions and log exact hit
|
|
ok 1 - each launch rereads limits and model selections; lowered limits keep sessions and log exact hit
|
|
---
|
|
duration_ms: 46.545302
|
|
type: 'test'
|
|
...
|
|
1..1
|
|
# tests 1
|
|
# suites 0
|
|
# pass 1
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 234.513047
|
|
END {"label": "cli-launch-limits.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/launch-limits.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gjCPO85", "rc": 0, "wall_seconds": 0.315, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/cli-launch-limits.test.log", "counts": {"tests": 1, "pass": 1, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "cli-launch-routes.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/launch-routes.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gRnjD3O"}
|
|
TAP version 13
|
|
# Subtest: row 65 a passing primary is the route: its provider and model reach mayLaunch, and a stated fallback is never used
|
|
ok 1 - row 65 a passing primary is the route: its provider and model reach mayLaunch, and a stated fallback is never used
|
|
---
|
|
duration_ms: 24.718242
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 65 a failed primary preflight takes the stated fallback, and the limit checks see the fallback route
|
|
ok 2 - row 65 a failed primary preflight takes the stated fallback, and the limit checks see the fallback route
|
|
---
|
|
duration_ms: 14.567957
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 65 a failed primary with no fallback refuses with the preflight code and never asks mayLaunch
|
|
ok 3 - row 65 a failed primary with no fallback refuses with the preflight code and never asks mayLaunch
|
|
---
|
|
duration_ms: 11.808817
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 65 a fallback whose own preflight fails refuses with its code and names both reasons
|
|
ok 4 - row 65 a fallback whose own preflight fails refuses with its code and names both reasons
|
|
---
|
|
duration_ms: 12.118897
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 65 the fallback route spends launch.account when its module counts the account
|
|
ok 5 - row 65 the fallback route spends launch.account when its module counts the account
|
|
---
|
|
duration_ms: 14.540581
|
|
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 6 - row 65 a missing harness, model or thinking var refuses no-route naming it, and the system execution keys never fill it
|
|
---
|
|
duration_ms: 25.792603
|
|
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 7 - row 65 a harness that is not switched on refuses harness-off, primary or fallback, and an off primary never falls back
|
|
---
|
|
duration_ms: 34.040575
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 65 the loader refusing a module refuses harness-refused and names it; a module that throws refuses harness-failed
|
|
ok 8 - row 65 the loader refusing a module refuses harness-refused and names it; a module that throws refuses harness-failed
|
|
---
|
|
duration_ms: 29.991103
|
|
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 9 - row 65 a thinking level the route harness does not apply refuses thinking-unsupported, on the primary or a fallback taken
|
|
---
|
|
duration_ms: 33.3564
|
|
type: 'test'
|
|
...
|
|
1..9
|
|
# tests 9
|
|
# suites 0
|
|
# pass 9
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 335.204383
|
|
END {"label": "cli-launch-routes.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/launch-routes.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gRnjD3O", "rc": 0, "wall_seconds": 0.415, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/cli-launch-routes.test.log", "counts": {"tests": 9, "pass": 9, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "cli-launcher.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/launcher.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gy8kj1Y"}
|
|
TAP version 13
|
|
# Subtest: C2-04: launcher workspace clones code but never the library
|
|
ok 1 - C2-04: launcher workspace clones code but never the library
|
|
---
|
|
duration_ms: 1480.634384
|
|
type: 'test'
|
|
...
|
|
# Subtest: bus start --pm: the launcher instance (the chief of staff) runs under its own PID namespace, registered, with a manifest
|
|
ok 2 - bus start --pm: the launcher instance (the chief of staff) runs under its own PID namespace, registered, with a manifest
|
|
---
|
|
duration_ms: 1407.775808
|
|
type: 'test'
|
|
...
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r972ef424e1d3","instance":"chief","turn":"1cca7466-1664-4b9c-a0fe-4f5395c5a717","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r0bab1fb6bf8d","instance":"coder","turn":"69e9679c-d217-4224-95e0-985b514c64c3","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 3 - the chief of staff launches a coder through its launch tool; the coder answers; refusals name their code
|
|
---
|
|
duration_ms: 822.051482
|
|
type: 'test'
|
|
...
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r5bb3288d80a4","instance":"chief","turn":"db22017b-046d-4c66-ae91-601dfe86c8b1","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r9bf9c9527dff","instance":"pm","turn":"1242738b-e086-401b-967b-78774c099a3a","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r5bb3288d80a4","instance":"chief","turn":"5cab5cae-7554-4d3f-826f-f26ee8bb4b09","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r9bf9c9527dff","instance":"pm","turn":"87b0a1c1-cc56-4538-8790-284afbc809e9","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r9bf9c9527dff","instance":"pm","turn":"9ca256b7-62eb-4ee9-a009-3d97c62d2f6e","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r5bb3288d80a4","instance":"chief","turn":"130393af-c58c-4804-ba3d-53cc51398be9","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r9bf9c9527dff","instance":"pm","turn":"6e99259b-d1d2-46a9-85e4-6c9ee0f60710","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r5bb3288d80a4","instance":"chief","turn":"92065f8c-af12-4a22-a16d-73e4e0fa0624","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 4 - 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: 1433.531226
|
|
type: 'test'
|
|
...
|
|
# Subtest: each launch makes sure the workspace has a clone of the project: cloned, fast-forwarded, or fetched and logged
|
|
ok 5 - each launch makes sure the workspace has a clone of the project: cloned, fast-forwarded, or fetched and logged
|
|
---
|
|
duration_ms: 4386.796117
|
|
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 6 - 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: 826.910663
|
|
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 7 - 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: 537.413891
|
|
type: 'test'
|
|
...
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"rbe977948b217","instance":"coder","turn":"2eda5cce-2bd9-45c7-9000-1d06b49d85c6","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 8 - 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: 882.524487
|
|
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 9 - 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: 835.208898
|
|
type: 'test'
|
|
...
|
|
# Subtest: after a restart, the new host's first tick starts a holder whose decision is still held
|
|
ok 10 - after a restart, the new host's first tick starts a holder whose decision is still held
|
|
---
|
|
duration_ms: 1130.528358
|
|
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 11 - 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: 769.887535
|
|
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 12 - 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: 340.064447
|
|
type: 'test'
|
|
...
|
|
# Subtest: a runner that stops at once ends its launch with the runner's reason
|
|
ok 13 - a runner that stops at once ends its launch with the runner's reason
|
|
---
|
|
duration_ms: 403.119092
|
|
type: 'test'
|
|
...
|
|
# Subtest: a Claude Code launch with no session credential refuses before it starts
|
|
ok 14 - a Claude Code launch with no session credential refuses before it starts
|
|
---
|
|
duration_ms: 224.436937
|
|
type: 'test'
|
|
...
|
|
# Subtest: a pi launch needs no session credential: pi logs in through its own ENV_ALLOW variables
|
|
ok 15 - a pi launch needs no session credential: pi logs in through its own ENV_ALLOW variables
|
|
---
|
|
duration_ms: 377.413924
|
|
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 16 - row 65 a failed primary preflight launches the fallback on a fixture harness module, recording the route and the reason
|
|
---
|
|
duration_ms: 423.386392
|
|
type: 'test'
|
|
...
|
|
# Subtest: a runner killed from the host ends its launch as killed, not failed
|
|
ok 17 - a runner killed from the host ends its launch as killed, not failed
|
|
---
|
|
duration_ms: 453.996625
|
|
type: 'test'
|
|
...
|
|
# Subtest: a missing or failing bwrap refuses sandbox-unavailable before anything starts; there is no unconfined fallback
|
|
ok 18 - a missing or failing bwrap refuses sandbox-unavailable before anything starts; there is no unconfined fallback
|
|
---
|
|
duration_ms: 216.272594
|
|
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 19 - 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: 225.969179
|
|
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 20 - 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: 311.587982
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 64 on Claude Code a role skill that isn't enabled refuses the same way, before anything starts
|
|
ok 21 - row 64 on Claude Code a role skill that isn't enabled refuses the same way, before anything starts
|
|
---
|
|
duration_ms: 220.374596
|
|
type: 'test'
|
|
...
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"rbe574f375e33","instance":"chief","turn":"8c0fd8b7-ff75-47a7-9ba2-2d3882c39a48","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r25896ce0552e","instance":"coder","turn":"a40d2679-0106-4d46-88dc-0b063e499404","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 22 - a real Claude Code coder's shell can't read a stand-in secret or anything else its sandbox doesn't hold
|
|
---
|
|
duration_ms: 1702.608167
|
|
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 23 - 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: 1277.096906
|
|
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 24 - 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: 4177.940922
|
|
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 25 - bus start --no-launch leaves an earlier host's live session alone: no signal, no end, sessions.json as it was
|
|
---
|
|
duration_ms: 287.642969
|
|
type: 'test'
|
|
...
|
|
# Subtest: bus start --no-launch refuses every launch: the PM launch and a session's request, each logged, nothing spawned
|
|
ok 26 - bus start --no-launch refuses every launch: the PM launch and a session's request, each logged, nothing spawned
|
|
---
|
|
duration_ms: 240.579019
|
|
type: 'test'
|
|
...
|
|
# Subtest: bus start --no-launch starts no thread tick; the same host with launches runs it
|
|
ok 27 - bus start --no-launch starts no thread tick; the same host with launches runs it
|
|
---
|
|
duration_ms: 1198.891847
|
|
type: 'test'
|
|
...
|
|
# Subtest: a malformed sessions.json refuses the host start with exit 3 and stays as it was
|
|
ok 28 - a malformed sessions.json refuses the host start with exit 3 and stays as it was
|
|
---
|
|
duration_ms: 240.448524
|
|
type: 'test'
|
|
...
|
|
# Subtest: an over-long launch request is refused at once, not at the 10 s idle timeout
|
|
ok 29 - an over-long launch request is refused at once, not at the 10 s idle timeout
|
|
---
|
|
duration_ms: 193.995336
|
|
type: 'test'
|
|
...
|
|
# Subtest: a launch client that never closes its side doesn't hold the host's close
|
|
ok 30 - a launch client that never closes its side doesn't hold the host's close
|
|
---
|
|
duration_ms: 205.569268
|
|
type: 'test'
|
|
...
|
|
# Subtest: a runner that ignores SIGTERM is killed when the host closes
|
|
ok 31 - a runner that ignores SIGTERM is killed when the host closes
|
|
---
|
|
duration_ms: 1386.115976
|
|
type: 'test'
|
|
...
|
|
# Subtest: kill switch refuses chief and hire before launch work and a clear permits a later request
|
|
ok 32 - kill switch refuses chief and hire before launch work and a clear permits a later request
|
|
---
|
|
duration_ms: 336.213835
|
|
type: 'test'
|
|
...
|
|
# Subtest: kill switch stops an actual managed namespace and records the halt reason without rewriting its bundle
|
|
ok 33 - kill switch stops an actual managed namespace and records the halt reason without rewriting its bundle
|
|
---
|
|
duration_ms: 344.421393
|
|
type: 'test'
|
|
...
|
|
# Subtest: a launch waiting across halt and resume cannot use its stale admission
|
|
ok 34 - a launch waiting across halt and resume cannot use its stale admission
|
|
---
|
|
duration_ms: 215.915288
|
|
type: 'test'
|
|
...
|
|
1..34
|
|
# tests 34
|
|
# suites 0
|
|
# pass 34
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 29655.470419
|
|
END {"label": "cli-launcher.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/launcher.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gy8kj1Y", "rc": 0, "wall_seconds": 29.729, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/cli-launcher.test.log", "counts": {"tests": 34, "pass": 34, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "cli-lifecycle.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/lifecycle.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gvqPjKG"}
|
|
TAP version 13
|
|
# 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 1 - 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: 415.168406
|
|
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 2 - row 194 T2: a request past its 60 s never launches, and a refused check closes the request with its code
|
|
---
|
|
duration_ms: 126.203735
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 194 T3: a --no-launch host closes each request launches-disabled and starts nothing
|
|
ok 3 - row 194 T3: a --no-launch host closes each request launches-disabled and starts nothing
|
|
---
|
|
duration_ms: 95.121978
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 194 T3: a limit refusal closes the request with its code and the limit in the launch log
|
|
ok 4 - row 194 T3: a limit refusal closes the request with its code and the limit in the launch log
|
|
---
|
|
duration_ms: 238.661478
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 194 T4: terminate revokes and cancels at the verb, then the pass signals the run, which ends once
|
|
ok 5 - row 194 T4: terminate revokes and cancels at the verb, then the pass signals the run, which ends once
|
|
---
|
|
duration_ms: 304.388851
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 194 T5: regenerate ends the run in the registry and starts a new run on the same workspace
|
|
ok 6 - row 194 T5: regenerate ends the run in the registry and starts a new run on the same workspace
|
|
---
|
|
duration_ms: 580.006322
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 194 T5: a run that outlasts the request's mark closes the regenerate regenerate-timeout and starts nothing
|
|
ok 7 - row 194 T5: a run that outlasts the request's mark closes the regenerate regenerate-timeout and starts nothing
|
|
---
|
|
duration_ms: 2821.724219
|
|
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 8 - 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: 102.484159
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 194 V5: a delete with no workspace commits and closes with the transaction
|
|
ok 9 - row 194 V5: a delete with no workspace commits and closes with the transaction
|
|
---
|
|
duration_ms: 91.836435
|
|
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 10 - row 281 T10: the delete pass closes a granted instance's first request grants-revoking and the host channel stays up
|
|
---
|
|
duration_ms: 106.670927
|
|
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 11 - 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: 684.961998
|
|
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 12 - 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: 105.494691
|
|
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 13 - 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: 245.094521
|
|
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 14 - 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: 385.928924
|
|
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 15 - 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: 1076.01072
|
|
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 16 - row 194 T9a: fire of a registry run with no runtime record reads lifecycle.end.alive with reason unknown, never killed
|
|
---
|
|
duration_ms: 558.812626
|
|
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 17 - 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: 210.046746
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 194 T9a: V3 terminate of a SIGTERM-ignoring runner sends no SIGKILL
|
|
ok 18 - row 194 T9a: V3 terminate of a SIGTERM-ignoring runner sends no SIGKILL
|
|
---
|
|
duration_ms: 990.213811
|
|
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 19 - 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: 1700.999343
|
|
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 20 - 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: 293.47764
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 194 N6: a run spawned after a terminate's verb survives its pass, and the next terminate ends it
|
|
ok 21 - row 194 N6: a run spawned after a terminate's verb survives its pass, and the next terminate ends it
|
|
---
|
|
duration_ms: 522.569814
|
|
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 22 - row 194 T6: a delete leaves the run evidence bytes unchanged, and the retired name refuses a create and a launch
|
|
---
|
|
duration_ms: 307.638697
|
|
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 23 - 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: 387.906
|
|
type: 'test'
|
|
...
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r958ba176b68f","instance":"chief","turn":"41a66bef-f840-484e-ba25-4cdbf5e9e3c0","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r958ba176b68f","instance":"chief","turn":"5b720c7d-dda9-4669-a9be-10945c9516e9","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r958ba176b68f","instance":"chief","turn":"5ba5a477-3db8-4fc0-9c17-179d07d2383e","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r958ba176b68f","instance":"chief","turn":"3b92b914-90e1-4c8a-a03a-63b5bceb2a4e","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r958ba176b68f","instance":"chief","turn":"3a71cdd3-6716-47c9-b81c-0c1d61b1dcf5","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r958ba176b68f","instance":"chief","turn":"f1da76b7-d2d2-47f8-b924-f80d01f8d2b5","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r958ba176b68f","instance":"chief","turn":"07e3ec44-cb3e-46f0-9b86-674af1303f91","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 24 - 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: 1381.092901
|
|
type: 'test'
|
|
...
|
|
1..24
|
|
# tests 24
|
|
# suites 0
|
|
# pass 24
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 13888.62031
|
|
END {"label": "cli-lifecycle.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/lifecycle.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gvqPjKG", "rc": 0, "wall_seconds": 13.944, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/cli-lifecycle.test.log", "counts": {"tests": 24, "pass": 24, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "cli-limits-tokens.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/limits-tokens.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/guv52nL"}
|
|
TAP version 13
|
|
# Subtest: REQ-LIMIT-3 REQ-LIMIT-4 formatTokens shows each limit counted, not enforced, or check failed, in reset path words
|
|
ok 1 - REQ-LIMIT-3 REQ-LIMIT-4 formatTokens shows each limit counted, not enforced, or check failed, in reset path words
|
|
---
|
|
duration_ms: 0.817437
|
|
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 2 - 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.26381
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-LIMIT-3 the view prints the limits then the token lines; --json keeps tokens in the result
|
|
ok 3 - REQ-LIMIT-3 the view prints the limits then the token lines; --json keeps tokens in the result
|
|
---
|
|
duration_ms: 2.869199
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-LIMIT-3 reset reads the revision, then sends limits.set with one path per limit, a word per level
|
|
ok 4 - REQ-LIMIT-3 reset reads the revision, then sends limits.set with one path per limit, a word per level
|
|
---
|
|
duration_ms: 0.779607
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-LIMIT-3 reset with no path, or with --file, is refused before the bus
|
|
ok 5 - REQ-LIMIT-3 reset with no path, or with --file, is refused before the bus
|
|
---
|
|
duration_ms: 1.459125
|
|
type: 'test'
|
|
...
|
|
1..5
|
|
# tests 5
|
|
# suites 0
|
|
# pass 5
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 138.024971
|
|
END {"label": "cli-limits-tokens.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/limits-tokens.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/guv52nL", "rc": 0, "wall_seconds": 0.214, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/cli-limits-tokens.test.log", "counts": {"tests": 5, "pass": 5, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "cli-limits.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/limits.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/g4pYfQV"}
|
|
TAP version 13
|
|
# Subtest: migration needs no bus/config, prints whole converted document, is idempotent and never writes
|
|
ok 1 - migration needs no bus/config, prints whole converted document, is idempotent and never writes
|
|
---
|
|
duration_ms: 14.30983
|
|
type: 'test'
|
|
...
|
|
# Subtest: limits view/set use the human bus transport and pass only the explicit patch
|
|
ok 2 - limits view/set use the human bus transport and pass only the explicit patch
|
|
---
|
|
duration_ms: 1.259728
|
|
type: 'test'
|
|
...
|
|
# Subtest: limits set passes an assistants patch through unchanged, and the usage names the key
|
|
ok 3 - limits set passes an assistants patch through unchanged, and the usage names the key
|
|
---
|
|
duration_ms: 0.95963
|
|
type: 'test'
|
|
...
|
|
# Subtest: post-119 example and Jason fixture migrate with checked inherited models; wrong or absent config refuses
|
|
ok 4 - post-119 example and Jason fixture migrate with checked inherited models; wrong or absent config refuses
|
|
---
|
|
duration_ms: 179.953757
|
|
type: 'test'
|
|
...
|
|
# Subtest: plugins view/set use the human bus transport and pass only the explicit patch (vikunja:19/305)
|
|
ok 5 - plugins view/set use the human bus transport and pass only the explicit patch (vikunja:19/305)
|
|
---
|
|
duration_ms: 1.952721
|
|
type: 'test'
|
|
...
|
|
1..5
|
|
# tests 5
|
|
# suites 0
|
|
# pass 5
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 355.093391
|
|
END {"label": "cli-limits.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/limits.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/g4pYfQV", "rc": 0, "wall_seconds": 0.415, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/cli-limits.test.log", "counts": {"tests": 5, "pass": 5, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "cli-mark-read.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/mark-read.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gUn3bpW"}
|
|
TAP version 13
|
|
# Subtest: inbox --read marks one message by the id inbox prints, delivered or not, and leaves the rest unread
|
|
ok 1 - inbox --read marks one message by the id inbox prints, delivered or not, and leaves the rest unread
|
|
---
|
|
duration_ms: 33.364523
|
|
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 2 - inbox --read refuses an id that is not the human's, prints its code, still marks the rest and exits 2
|
|
---
|
|
duration_ms: 21.134591
|
|
type: 'test'
|
|
...
|
|
# Subtest: inbox --read refuses an ambiguous or short prefix, names every match, reads nothing for them and marks the rest
|
|
ok 3 - inbox --read refuses an ambiguous or short prefix, names every match, reads nothing for them and marks the rest
|
|
---
|
|
duration_ms: 0.784487
|
|
type: 'test'
|
|
...
|
|
# Subtest: inbox --read-all marks every message the inbox walk lists, delivered or not, and inbox then shows 0 unread
|
|
ok 4 - inbox --read-all marks every message the inbox walk lists, delivered or not, and inbox then shows 0 unread
|
|
---
|
|
duration_ms: 701.665304
|
|
type: 'test'
|
|
...
|
|
# Subtest: inbox --read stops on an error that is not about one message
|
|
ok 5 - inbox --read stops on an error that is not about one message
|
|
---
|
|
duration_ms: 0.787727
|
|
type: 'test'
|
|
...
|
|
# Subtest: inbox --read and --read-all refuse bad combinations; other verbs refuse them
|
|
ok 6 - inbox --read and --read-all refuse bad combinations; other verbs refuse them
|
|
---
|
|
duration_ms: 13.865806
|
|
type: 'test'
|
|
...
|
|
1..6
|
|
# tests 6
|
|
# suites 0
|
|
# pass 6
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 903.849463
|
|
END {"label": "cli-mark-read.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/mark-read.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gUn3bpW", "rc": 0, "wall_seconds": 0.966, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/cli-mark-read.test.log", "counts": {"tests": 6, "pass": 6, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "cli-names.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/names.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gmEn7Z9"}
|
|
TAP version 13
|
|
# Subtest: the human names an instance, lists it, and talk's message.send reaches it by that name
|
|
ok 1 - the human names an instance, lists it, and talk's message.send reaches it by that name
|
|
---
|
|
duration_ms: 28.187061
|
|
type: 'test'
|
|
...
|
|
# Subtest: name and names refuse the wrong number of arguments with the usage
|
|
ok 2 - name and names refuse the wrong number of arguments with the usage
|
|
---
|
|
duration_ms: 14.233418
|
|
type: 'test'
|
|
...
|
|
1..2
|
|
# tests 2
|
|
# suites 0
|
|
# pass 2
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 176.79119
|
|
END {"label": "cli-names.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/names.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gmEn7Z9", "rc": 0, "wall_seconds": 0.214, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/cli-names.test.log", "counts": {"tests": 2, "pass": 2, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "cli-notifier.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/notifier.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/g4SIBu4"}
|
|
TAP version 13
|
|
# Subtest: zoned uses the IANA zone across DST
|
|
ok 1 - zoned uses the IANA zone across DST
|
|
---
|
|
duration_ms: 12.084421
|
|
type: 'test'
|
|
...
|
|
# Subtest: each open blocking decision is DM'd once, across polls and a restart; non-blocking ones are not
|
|
ok 2 - each open blocking decision is DM'd once, across polls and a restart; non-blocking ones are not
|
|
---
|
|
duration_ms: 24.775164
|
|
type: 'test'
|
|
...
|
|
# Subtest: two blocking decisions get two DMs with different nonces
|
|
ok 3 - two blocking decisions get two DMs with different nonces
|
|
---
|
|
duration_ms: 16.295584
|
|
type: 'test'
|
|
...
|
|
# Subtest: the digest nonce differs per business and per day and fits Discord's 25 characters
|
|
ok 4 - the digest nonce differs per business and per day and fits Discord's 25 characters
|
|
---
|
|
duration_ms: 0.166736
|
|
type: 'test'
|
|
...
|
|
# Subtest: a failed DM is journaled, backs off, and is retried until it lands
|
|
ok 5 - a failed DM is journaled, backs off, and is retried until it lands
|
|
---
|
|
duration_ms: 15.734077
|
|
type: 'test'
|
|
...
|
|
# Subtest: five definite refusals stop a DM: one gave-up line, one log line, and a restart keeps the count
|
|
ok 6 - five definite refusals stop a DM: one gave-up line, one log line, and a restart keeps the count
|
|
---
|
|
duration_ms: 18.410139
|
|
type: 'test'
|
|
...
|
|
# Subtest: 429s, 5xx-style unknowns and refusals without a status never count toward the limit
|
|
ok 7 - 429s, 5xx-style unknowns and refusals without a status never count toward the limit
|
|
---
|
|
duration_ms: 22.217907
|
|
type: 'test'
|
|
...
|
|
# Subtest: a crash between the fifth refusal and its gave-up line: the next poll appends it and sends nothing
|
|
ok 8 - a crash between the fifth refusal and its gave-up line: the next poll appends it and sends nothing
|
|
---
|
|
duration_ms: 15.810942
|
|
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 9 - 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: 140.404174
|
|
type: 'test'
|
|
...
|
|
# Subtest: a restart after the second refusal does not send before that refusal's 30 min are up
|
|
ok 10 - a restart after the second refusal does not send before that refusal's 30 min are up
|
|
---
|
|
duration_ms: 71.182665
|
|
type: 'test'
|
|
...
|
|
# Subtest: the digest goes at 08:00 Chicago once a day, with blocking ones marked as DM'd
|
|
ok 11 - the digest goes at 08:00 Chicago once a day, with blocking ones marked as DM'd
|
|
---
|
|
duration_ms: 21.36317
|
|
type: 'test'
|
|
...
|
|
# Subtest: a late start with no digest for the day sends one at once; an empty inbox gets one line
|
|
ok 12 - a late start with no digest for the day sends one at once; an empty inbox gets one line
|
|
---
|
|
duration_ms: 13.561543
|
|
type: 'test'
|
|
...
|
|
# Subtest: an inbox read failure is logged and the next poll retries
|
|
ok 13 - an inbox read failure is logged and the next poll retries
|
|
---
|
|
duration_ms: 0.641789
|
|
type: 'test'
|
|
...
|
|
# Subtest: no Discord id reaches the journal or the log
|
|
ok 14 - no Discord id reaches the journal or the log
|
|
---
|
|
duration_ms: 13.022069
|
|
type: 'test'
|
|
...
|
|
# Subtest: the journal: a torn tail is copied out and truncated, so an append after it reopens cleanly
|
|
ok 15 - the journal: a torn tail is copied out and truncated, so an append after it reopens cleanly
|
|
---
|
|
duration_ms: 1.797325
|
|
type: 'test'
|
|
...
|
|
# Subtest: the journal: a crash between the copy and the truncate leaves a tail the next open repairs
|
|
ok 16 - the journal: a crash between the copy and the truncate leaves a tail the next open repairs
|
|
---
|
|
duration_ms: 2.050203
|
|
type: 'test'
|
|
...
|
|
# Subtest: the journal: a whole file that is one torn line truncates to empty
|
|
ok 17 - the journal: a whole file that is one torn line truncates to empty
|
|
---
|
|
duration_ms: 1.164525
|
|
type: 'test'
|
|
...
|
|
# Subtest: the journal: a malformed complete line refuses and leaves the file and any torn tail alone
|
|
ok 18 - the journal: a malformed complete line refuses and leaves the file and any torn tail alone
|
|
---
|
|
duration_ms: 0.419581
|
|
type: 'test'
|
|
...
|
|
# Subtest: the journal: a loose file mode, a loose directory or a symlinked journal refuses
|
|
ok 19 - the journal: a loose file mode, a loose directory or a symlinked journal refuses
|
|
---
|
|
duration_ms: 0.478589
|
|
type: 'test'
|
|
...
|
|
# Subtest: the journal: a line with a wrong type refuses with exit 3 and names the field
|
|
ok 20 - the journal: a line with a wrong type refuses with exit 3 and names the field
|
|
---
|
|
duration_ms: 1.813933
|
|
type: 'test'
|
|
...
|
|
# Subtest: the journal: a symlinked directory refuses and says it is a link
|
|
ok 21 - the journal: a symlinked directory refuses and says it is a link
|
|
---
|
|
duration_ms: 0.295877
|
|
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 22 - 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.482061
|
|
type: 'test'
|
|
...
|
|
# Subtest: the journal: an append after the file was swapped for a symlink refuses and writes nothing through it
|
|
ok 23 - the journal: an append after the file was swapped for a symlink refuses and writes nothing through it
|
|
---
|
|
duration_ms: 0.381135
|
|
type: 'test'
|
|
...
|
|
# Subtest: the journal: a directory it cannot write or create refuses with exit 3 and names the path
|
|
ok 24 - the journal: a directory it cannot write or create refuses with exit 3 and names the path
|
|
---
|
|
duration_ms: 0.445075
|
|
type: 'test'
|
|
...
|
|
# Subtest: digest content stays within Discord's 2000 characters
|
|
ok 25 - digest content stays within Discord's 2000 characters
|
|
---
|
|
duration_ms: 0.284829
|
|
type: 'test'
|
|
...
|
|
# Subtest: runLoop never overlaps ticks and stops after the one in flight
|
|
ok 26 - runLoop never overlaps ticks and stops after the one in flight
|
|
---
|
|
duration_ms: 111.585855
|
|
type: 'test'
|
|
...
|
|
# Subtest: processing halt prevents notifier reads and sends and fences the wait before delivery
|
|
ok 27 - processing halt prevents notifier reads and sends and fences the wait before delivery
|
|
---
|
|
duration_ms: 23.888212
|
|
type: 'test'
|
|
...
|
|
1..27
|
|
# tests 27
|
|
# suites 0
|
|
# pass 27
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 630.842891
|
|
END {"label": "cli-notifier.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/notifier.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/g4SIBu4", "rc": 0, "wall_seconds": 0.665, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/cli-notifier.test.log", "counts": {"tests": 27, "pass": 27, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "cli-other-tree.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/other-tree.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gsNqKIV"}
|
|
TAP version 13
|
|
# Subtest: a human command refused with human-required prints the other-tree line and exits 3
|
|
ok 1 - a human command refused with human-required prints the other-tree line and exits 3
|
|
---
|
|
duration_ms: 2.078777
|
|
type: 'test'
|
|
...
|
|
# Subtest: a --tester command refused with tester-required prints the other-tree line and exits 3
|
|
ok 2 - a --tester command refused with tester-required prints the other-tree line and exits 3
|
|
---
|
|
duration_ms: 0.755362
|
|
type: 'test'
|
|
...
|
|
# Subtest: other exit-3 refusals print no other-tree line
|
|
ok 3 - other exit-3 refusals print no other-tree line
|
|
---
|
|
duration_ms: 1.106189
|
|
type: 'test'
|
|
...
|
|
# Subtest: the line names no path
|
|
ok 4 - the line names no path
|
|
---
|
|
duration_ms: 0.084324
|
|
type: 'test'
|
|
...
|
|
1..4
|
|
# tests 4
|
|
# suites 0
|
|
# pass 4
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 129.29978
|
|
END {"label": "cli-other-tree.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/other-tree.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gsNqKIV", "rc": 0, "wall_seconds": 0.164, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/cli-other-tree.test.log", "counts": {"tests": 4, "pass": 4, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "cli-processing-cli.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/processing-cli.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gezDYst"}
|
|
TAP version 13
|
|
# Subtest: human halt/status/resume uses management transport without loading any channel
|
|
ok 1 - human halt/status/resume uses management transport without loading any channel
|
|
---
|
|
duration_ms: 36.860123
|
|
type: 'test'
|
|
...
|
|
# Subtest: halt refuses inside an agent before transport
|
|
ok 2 - halt refuses inside an agent before transport
|
|
---
|
|
duration_ms: 13.205927
|
|
type: 'test'
|
|
...
|
|
# Subtest: resume refuses inside an agent before transport
|
|
ok 3 - resume refuses inside an agent before transport
|
|
---
|
|
duration_ms: 14.163617
|
|
type: 'test'
|
|
...
|
|
# Subtest: unknown and partially stopped outcomes are never reported as a successful halt
|
|
ok 4 - unknown and partially stopped outcomes are never reported as a successful halt
|
|
---
|
|
duration_ms: 13.238649
|
|
type: 'test'
|
|
...
|
|
1..4
|
|
# tests 4
|
|
# suites 0
|
|
# pass 4
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 244.03374
|
|
END {"label": "cli-processing-cli.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/processing-cli.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gezDYst", "rc": 0, "wall_seconds": 0.315, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/cli-processing-cli.test.log", "counts": {"tests": 4, "pass": 4, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "cli-project-name-repo.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/project-name-repo.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gBbmKrS"}
|
|
TAP version 13
|
|
# Subtest: threads project resolution explains a business repository and falls back if its file cannot load
|
|
ok 1 - threads project resolution explains a business repository and falls back if its file cannot load
|
|
---
|
|
duration_ms: 49.931997
|
|
type: 'test'
|
|
...
|
|
# Subtest: project create prints the repository-name refusal and exits two without writing
|
|
ok 2 - project create prints the repository-name refusal and exits two without writing
|
|
---
|
|
duration_ms: 17.664447
|
|
type: 'test'
|
|
...
|
|
1..2
|
|
# tests 2
|
|
# suites 0
|
|
# pass 2
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 195.722635
|
|
END {"label": "cli-project-name-repo.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/project-name-repo.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gBbmKrS", "rc": 0, "wall_seconds": 0.264, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/cli-project-name-repo.test.log", "counts": {"tests": 2, "pass": 2, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "cli-project.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/project.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gEZxAED"}
|
|
TAP version 13
|
|
# Subtest: project init/check use declared business repo and never contact the bus
|
|
ok 1 - project init/check use declared business repo and never contact the bus
|
|
---
|
|
duration_ms: 123.221773
|
|
type: 'test'
|
|
...
|
|
# Subtest: project commands validate args and refuse undeclared projects and agent init
|
|
ok 2 - project commands validate args and refuse undeclared projects and agent init
|
|
---
|
|
duration_ms: 30.848448
|
|
type: 'test'
|
|
...
|
|
# Subtest: project create and list validate their arguments before any bus call
|
|
ok 3 - project create and list validate their arguments before any bus call
|
|
---
|
|
duration_ms: 36.085075
|
|
type: 'test'
|
|
...
|
|
# Subtest: project dispatcher reaches the human CLI
|
|
ok 4 - project dispatcher reaches the human CLI
|
|
---
|
|
duration_ms: 93.511098
|
|
type: 'test'
|
|
...
|
|
1..4
|
|
# tests 4
|
|
# suites 0
|
|
# pass 4
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 431.257221
|
|
END {"label": "cli-project.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/project.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gEZxAED", "rc": 0, "wall_seconds": 0.515, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/cli-project.test.log", "counts": {"tests": 4, "pass": 4, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "cli-publish-socket.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/publish-socket.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gm8Ei8m"}
|
|
TAP version 13
|
|
# 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 1 - 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: 732.583472
|
|
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 2 - T3 end to end: a fork the token can't reach is fork-unavailable, filed once, and nothing is recorded as allowed
|
|
---
|
|
duration_ms: 487.86631
|
|
type: 'test'
|
|
...
|
|
# Subtest: a bad branch or project refuses before the broker; a fork, user or ref in the request is ignored
|
|
ok 3 - a bad branch or project refuses before the broker; a fork, user or ref in the request is ignored
|
|
---
|
|
duration_ms: 593.318996
|
|
type: 'test'
|
|
...
|
|
# Subtest: T3 end to end: two agents, one project, each lands on its own fork only; the upstream receives nothing
|
|
ok 4 - T3 end to end: two agents, one project, each lands on its own fork only; the upstream receives nothing
|
|
---
|
|
duration_ms: 1020.832709
|
|
type: 'test'
|
|
...
|
|
# Subtest: T3: a push after checkPublish and before the lock refuses ref-moved; the fork receives nothing
|
|
ok 5 - T3: a push after checkPublish and before the lock refuses ref-moved; the fork receives nothing
|
|
---
|
|
duration_ms: 614.977691
|
|
type: 'test'
|
|
...
|
|
# Subtest: T3: a push recorded while the bus process pushes refuses decision-mismatch; only the decision's commit reached the fork
|
|
ok 6 - T3: a push recorded while the bus process pushes refuses decision-mismatch; only the decision's commit reached the fork
|
|
---
|
|
duration_ms: 559.535105
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 237: two publishes race on one decision; the second refuses publish-busy and exactly one push reaches the fork
|
|
ok 7 - row 237: two publishes race on one decision; the second refuses publish-busy and exactly one push reaches the fork
|
|
---
|
|
duration_ms: 574.341333
|
|
type: 'test'
|
|
...
|
|
# Subtest: sage-1440: the publishResult poll is bounded: publish-timeout, filed once, and nothing recorded
|
|
ok 8 - sage-1440: the publishResult poll is bounded: publish-timeout, filed once, and nothing recorded
|
|
---
|
|
duration_ms: 633.217527
|
|
type: 'test'
|
|
...
|
|
# bus: publish 3b8d140a-3fa2-4988-b5ec-00eec310f4cb: 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 9 - 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: 695.131159
|
|
type: 'test'
|
|
...
|
|
1..9
|
|
# tests 9
|
|
# suites 0
|
|
# pass 9
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 6040.523493
|
|
END {"label": "cli-publish-socket.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/publish-socket.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gm8Ei8m", "rc": 0, "wall_seconds": 6.077, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/cli-publish-socket.test.log", "counts": {"tests": 9, "pass": 9, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "cli-session-clear.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/session-clear.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gfVlwSe"}
|
|
TAP version 13
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"rb89863f7de2e","instance":"assistant","turn":"ffc4148b-8e79-4bb2-a091-6ef9e5569534","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r862930cbde03","instance":"assistant","turn":"caca96b5-d443-446f-9ae2-e300bd2b532e","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 1 - 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: 921.213234
|
|
type: 'test'
|
|
...
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"rc639687213a6","instance":"assistant","turn":"0a69b3b7-674b-488d-a14c-c8ada5a3bde5","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 2 - REQ-THREAD-2 T4 D8: a successor start refused capacity-full is held, reported and logged once, and starts when capacity frees
|
|
---
|
|
duration_ms: 4666.881831
|
|
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 3 - 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: 515.347829
|
|
type: 'test'
|
|
...
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r13de83360880","instance":"assistant","turn":"dc8c87de-6290-4185-bece-48aa295f1580","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 4 - 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: 1787.511415
|
|
type: 'test'
|
|
...
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r8bc03ebf9452","instance":"assistant","turn":"8f368721-5eb9-4900-aaf3-6a41c81ef4a9","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 5 - 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: 3056.394327
|
|
type: 'test'
|
|
...
|
|
1..5
|
|
# tests 5
|
|
# suites 0
|
|
# pass 5
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 11086.325944
|
|
END {"label": "cli-session-clear.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/session-clear.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gfVlwSe", "rc": 0, "wall_seconds": 11.137, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/cli-session-clear.test.log", "counts": {"tests": 5, "pass": 5, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "cli-session-launch.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/session-launch.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gZn71VR"}
|
|
TAP version 13
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r8622e61a012d","instance":"assistant","turn":"cab9ea88-df83-4542-a2be-aa996010bd8a","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r15e198e34958","instance":"assistant","turn":"041d3b39-38a8-45d1-a82f-a3e5e3b33e0c","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r49b19c4fd65f","instance":"assistant","turn":"bb5ef5a0-58ac-4126-a290-81483e171879","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r01e2bf2c018e","instance":"assistant","turn":"519e00e5-9472-4145-b24c-3adcf38914b1","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 1 - 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: 6269.462333
|
|
type: 'test'
|
|
...
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"rf1f3b4070e21","instance":"assistant","turn":"ef97bf6e-56bd-4039-a61a-fdd986e3f3b1","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 2 - 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: 412.028699
|
|
type: 'test'
|
|
...
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"rffa109416206","instance":"assistant","turn":"0ac66b3d-f1e8-4b3d-8a1f-58ec674535ba","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 3 - 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: 1521.501587
|
|
type: 'test'
|
|
...
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r4c755b360560","instance":"assistant","turn":"c2d091e3-5797-4ee8-b0d2-7d23caa1efb7","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 4 - 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: 1528.00201
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-THREAD-2 REQ-LAUNCH-1 a symlinked session workspace root refuses session-workspace-unsafe and launches nothing
|
|
ok 5 - REQ-THREAD-2 REQ-LAUNCH-1 a symlinked session workspace root refuses session-workspace-unsafe and launches nothing
|
|
---
|
|
duration_ms: 205.158111
|
|
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 6 - REQ-THREAD-2 REQ-LAUNCH-1 a session workspace that holds the legacy workspace root refuses session-workspace-overlap and launches nothing
|
|
---
|
|
duration_ms: 190.967908
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-THREAD-2 REQ-LAUNCH-1 a symlinked session store refuses thread-store-refused and makes no workspace
|
|
ok 7 - REQ-THREAD-2 REQ-LAUNCH-1 a symlinked session store refuses thread-store-refused and makes no workspace
|
|
---
|
|
duration_ms: 188.297398
|
|
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 8 - 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: 356.749973
|
|
type: 'test'
|
|
...
|
|
1..8
|
|
# tests 8
|
|
# suites 0
|
|
# pass 8
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 10822.192824
|
|
END {"label": "cli-session-launch.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/session-launch.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gZn71VR", "rc": 0, "wall_seconds": 10.888, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/cli-session-launch.test.log", "counts": {"tests": 8, "pass": 8, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "cli-stack-copy.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/stack-copy.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/g6OVGKH"}
|
|
TAP version 13
|
|
# Subtest: a copy carries every file the harness modules read from it
|
|
ok 1 - a copy carries every file the harness modules read from it
|
|
---
|
|
duration_ms: 736.171374
|
|
type: 'test'
|
|
...
|
|
# Subtest: shared copy: npm ci, pushed reachability, readonly/existing copy, webui delegation
|
|
ok 2 - shared copy: npm ci, pushed reachability, readonly/existing copy, webui delegation
|
|
---
|
|
duration_ms: 572.689665
|
|
type: 'test'
|
|
...
|
|
# Subtest: wrapper preserves Q81 lease and marker, rejects foreign/symlink; check uses effective roots
|
|
ok 3 - wrapper preserves Q81 lease and marker, rejects foreign/symlink; check uses effective roots
|
|
---
|
|
duration_ms: 771.669971
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 190 N6: check --instance passes only when the wrapper exports the instance's MOSAIC_CONFIG
|
|
ok 4 - row 190 N6: check --instance passes only when the wrapper exports the instance's MOSAIC_CONFIG
|
|
---
|
|
duration_ms: 716.9443
|
|
type: 'test'
|
|
...
|
|
# Subtest: bus unit copy/pm pins, install refuses all busy states and failed reads, drop-in refusal
|
|
ok 5 - bus unit copy/pm pins, install refuses all busy states and failed reads, drop-in refusal
|
|
---
|
|
duration_ms: 935.849683
|
|
type: 'test'
|
|
...
|
|
# Subtest: missing package manifest refuses before npm; npm failure removes the unpublished temp copy
|
|
ok 6 - missing package manifest refuses before npm; npm failure removes the unpublished temp copy
|
|
---
|
|
duration_ms: 529.128145
|
|
type: 'test'
|
|
...
|
|
# Subtest: real pinned install loads bus and Console; same-copy mosaic talk passes proof, other trees refuse
|
|
ok 7 - real pinned install loads bus and Console; same-copy mosaic talk passes proof, other trees refuse
|
|
---
|
|
duration_ms: 4242.627904
|
|
type: 'test'
|
|
...
|
|
# Subtest: bus status reads effective copy/pm/drop-ins without writes; check refuses an overridden ExecStart
|
|
ok 8 - bus status reads effective copy/pm/drop-ins without writes; check refuses an overridden ExecStart
|
|
---
|
|
duration_ms: 701.838138
|
|
type: 'test'
|
|
...
|
|
# Subtest: drop-ins in either override field and malformed metadata refuse; uninstall also checks --no-reload
|
|
ok 9 - drop-ins in either override field and malformed metadata refuse; uninstall also checks --no-reload
|
|
---
|
|
duration_ms: 430.165113
|
|
type: 'test'
|
|
...
|
|
# Subtest: install never shows a template name on systemd 261; template drop-ins still refuse
|
|
ok 10 - install never shows a template name on systemd 261; template drop-ins still refuse
|
|
---
|
|
duration_ms: 388.280219
|
|
type: 'test'
|
|
...
|
|
# Subtest: unlisted instance drop-in is found in another unit lookup directory; path discovery errors refuse
|
|
ok 11 - unlisted instance drop-in is found in another unit lookup directory; path discovery errors refuse
|
|
---
|
|
duration_ms: 324.902809
|
|
type: 'test'
|
|
...
|
|
# Subtest: inherited mosaic-.service.d override refuses without changing the unit
|
|
ok 12 - inherited mosaic-.service.d override refuses without changing the unit
|
|
---
|
|
duration_ms: 420.351336
|
|
type: 'test'
|
|
...
|
|
# Subtest: inherited service.d override refuses without changing the unit
|
|
ok 13 - inherited service.d override refuses without changing the unit
|
|
---
|
|
duration_ms: 438.538636
|
|
type: 'test'
|
|
...
|
|
# Subtest: inherited drop-in unreadable directory or file refuses before writing
|
|
ok 14 - inherited drop-in unreadable directory or file refuses before writing
|
|
---
|
|
duration_ms: 377.434387
|
|
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 15 - row 232: copy --bundle copies a SHA the bundle's refactor reaches, byte-identical to copy SHA, and refuses the rest
|
|
---
|
|
duration_ms: 2336.862705
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 232: wrapper --create writes the first wrapper only, the same bytes wrapper ID writes, and refuses over any file
|
|
ok 16 - row 232: wrapper --create writes the first wrapper only, the same bytes wrapper ID writes, and refuses over any file
|
|
---
|
|
duration_ms: 824.414489
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 232: check --units external reads the system units, the default reads the user units
|
|
ok 17 - row 232: check --units external reads the system units, the default reads the user units
|
|
---
|
|
duration_ms: 668.233547
|
|
type: 'test'
|
|
...
|
|
1..17
|
|
# tests 17
|
|
# suites 0
|
|
# pass 17
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 15526.191719
|
|
END {"label": "cli-stack-copy.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/stack-copy.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/g6OVGKH", "rc": 0, "wall_seconds": 15.596, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/cli-stack-copy.test.log", "counts": {"tests": 17, "pass": 17, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "cli-stack-instances.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/stack-instances.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/g27YIay"}
|
|
TAP version 13
|
|
# 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: 69.582432
|
|
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: 30.988222
|
|
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: 126.407068
|
|
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: 114.527324
|
|
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: 58.808827
|
|
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: 59.277357
|
|
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: 395.862858
|
|
type: 'test'
|
|
...
|
|
# Subtest: --instance dev writes exactly what no flag writes
|
|
ok 8 - --instance dev writes exactly what no flag writes
|
|
---
|
|
duration_ms: 67.311064
|
|
type: 'test'
|
|
...
|
|
1..8
|
|
ok 1 - T-I1 bootstrap --instance creates each instance's config, root and marker once, and refuses what it must not claim
|
|
---
|
|
duration_ms: 924.514263
|
|
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: 91.846124
|
|
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: 47.276795
|
|
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: 56.626484
|
|
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: 356.088191
|
|
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: 24.352924
|
|
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: 163.941041
|
|
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: 16.933531
|
|
type: 'test'
|
|
...
|
|
1..7
|
|
ok 2 - T-I2 selection: the four rows of D1 through the instance op and through an entry point
|
|
---
|
|
duration_ms: 823.356097
|
|
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: 131.805358
|
|
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: 27.772833
|
|
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: 74.983068
|
|
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: 212.912247
|
|
type: 'test'
|
|
...
|
|
1..4
|
|
ok 3 - T-I7 claims: the instance op refuses a root another instance claims, and a named root with no marker
|
|
---
|
|
duration_ms: 509.310028
|
|
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 4 - 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: 1392.723652
|
|
type: 'test'
|
|
...
|
|
# Subtest: T-I10 the guard protects every instance's config dir and data roots, even under a corrupt config
|
|
ok 5 - T-I10 the guard protects every instance's config dir and data roots, even under a corrupt config
|
|
---
|
|
duration_ms: 81.024949
|
|
type: 'test'
|
|
...
|
|
1..5
|
|
# tests 24
|
|
# suites 0
|
|
# pass 24
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 3829.565476
|
|
END {"label": "cli-stack-instances.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/stack-instances.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/g27YIay", "rc": 0, "wall_seconds": 3.872, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/cli-stack-instances.test.log", "counts": {"tests": 24, "pass": 24, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "cli-stack-release-external.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/stack-release-external.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gjt6SWY"}
|
|
TAP version 13
|
|
# 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 1 - 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: 1008.622387
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 232: pm-on and activate --pm-after-harness refuse external-pm
|
|
ok 2 - row 232: pm-on and activate --pm-after-harness refuse external-pm
|
|
---
|
|
duration_ms: 951.163359
|
|
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 3 - 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: 2052.108182
|
|
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 4 - 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: 1725.163862
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 232: A3 order: capture-failed and marker-failed refuse with exit 3 and leave no marker or FAILED
|
|
ok 5 - row 232: A3 order: capture-failed and marker-failed refuse with exit 3 and leave no marker or FAILED
|
|
---
|
|
duration_ms: 1906.091458
|
|
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 6 - 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: 3806.755139
|
|
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 7 - 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: 3446.553871
|
|
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 8 - 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: 5676.643517
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 232: stale-start: @1792540799 fails a start floor of 1792540800 with stale-start
|
|
ok 9 - row 232: stale-start: @1792540799 fails a start floor of 1792540800 with stale-start
|
|
---
|
|
duration_ms: 3208.928017
|
|
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 10 - row 232: stale-start is a gate code: an enter time that turns to @1792540800 after 2 s passes with --timeout 10
|
|
---
|
|
duration_ms: 4894.786627
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 232: gate (N2, A2f): --since 1792540800 passes @1792540800 and fails @1792540799; it writes nothing
|
|
ok 11 - row 232: gate (N2, A2f): --since 1792540800 passes @1792540800 and fails @1792540799; it writes nothing
|
|
---
|
|
duration_ms: 3041.414762
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 232: the external PM check reads launches list: one live run of launch.by since the start passes
|
|
ok 12 - row 232: the external PM check reads launches list: one live run of launch.by since the start passes
|
|
---
|
|
duration_ms: 8642.480718
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 232: revert puts the wrapper back and leaves the store when nothing migrated
|
|
ok 13 - row 232: revert puts the wrapper back and leaves the store when nothing migrated
|
|
---
|
|
duration_ms: 1726.2193
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 232: confirm --rollback refuses rollback-mismatch, and logs rollback-failed with exit 2 when OLD fails its gate
|
|
ok 14 - row 232: confirm --rollback refuses rollback-mismatch, and logs rollback-failed with exit 2 when OLD fails its gate
|
|
---
|
|
duration_ms: 3949.393317
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 232: confirm --rollback after a --restore swap logs rollbackCode not-attempted; rollback --restore finds an external backup
|
|
ok 15 - row 232: confirm --rollback after a --restore swap logs rollbackCode not-attempted; rollback --restore finds an external backup
|
|
---
|
|
duration_ms: 3557.621494
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 232: sequence 1: activate, confirm times out, revert, confirm --rollback --cause A5: gate-failed rollback ok
|
|
ok 16 - row 232: sequence 1: activate, confirm times out, revert, confirm --rollback --cause A5: gate-failed rollback ok
|
|
---
|
|
duration_ms: 5105.127178
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 232: sequence 2: activate --migrate, the wrapper install fails, revert restores TAKEN, confirm --rollback --cause A3
|
|
ok 17 - row 232: sequence 2: activate --migrate, the wrapper install fails, revert restores TAKEN, confirm --rollback --cause A3
|
|
---
|
|
duration_ms: 3402.326347
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 232: sequence 3: activate, root's A4 fails, revert, confirm --rollback --cause A4: failed code units-start
|
|
ok 18 - row 232: sequence 3: activate, root's A4 fails, revert, confirm --rollback --cause A4: failed code units-start
|
|
---
|
|
duration_ms: 2900.776505
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 232: sequence 4: a capture failure leaves nothing open, then A2f's gate OLD writes nothing
|
|
ok 19 - row 232: sequence 4: a capture failure leaves nothing open, then A2f's gate OLD writes nothing
|
|
---
|
|
duration_ms: 2114.159072
|
|
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 20 - row 232: sequence 5: a confirm of the wrong copy is refused, and revert and confirm --rollback still close the activation
|
|
---
|
|
duration_ms: 3453.021107
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 232: sequence 6: a revert that fails leaves the activation open, and the next --plan refuses interrupted-run
|
|
ok 21 - row 232: sequence 6: a revert that fails leaves the activation open, and the next --plan refuses interrupted-run
|
|
---
|
|
duration_ms: 1735.2816
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 232: sequence 7: adopt, two confirmed activates, rollback --to the previous copy, confirmed, logs op rollback
|
|
ok 22 - row 232: sequence 7: adopt, two confirmed activates, rollback --to the previous copy, confirmed, logs op rollback
|
|
---
|
|
duration_ms: 7606.341162
|
|
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 23 - row 232: sequence 8: a migration that writes and fails: revert restores the backup byte for byte, confirm --rollback --cause A3
|
|
---
|
|
duration_ms: 2926.754645
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 232: user mode: every systemctl call carries --user, and activate, rollback and check make the base's calls
|
|
ok 24 - row 232: user mode: every systemctl call carries --user, and activate, rollback and check make the base's calls
|
|
---
|
|
duration_ms: 7461.511834
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 232: user mode: a default activate --plan prints the base's bytes
|
|
ok 25 - row 232: user mode: a default activate --plan prints the base's bytes
|
|
---
|
|
duration_ms: 2492.146621
|
|
type: 'test'
|
|
...
|
|
1..25
|
|
# tests 25
|
|
# suites 0
|
|
# pass 25
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 89629.210896
|
|
END {"label": "cli-stack-release-external.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/stack-release-external.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gjt6SWY", "rc": 0, "wall_seconds": 89.661, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/cli-stack-release-external.test.log", "counts": {"tests": 25, "pass": 25, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "cli-stack-release.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "2400", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/stack-release.test.mjs"], "limit": 2400, "tmpdir": "/mnt/storage/scratch/tmp/gR6S4RV"}
|
|
TAP version 13
|
|
# Subtest: T1 adopt writes the pointer from the units once; a failing check refuses check-failed
|
|
ok 1 - T1 adopt writes the pointer from the units once; a failing check refuses check-failed
|
|
---
|
|
duration_ms: 1396.009469
|
|
type: 'test'
|
|
...
|
|
# Subtest: T2 activate installs exactly the pointer's pm, claude and Console flags
|
|
ok 2 - T2 activate installs exactly the pointer's pm, claude and Console flags
|
|
---
|
|
duration_ms: 2249.171524
|
|
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: 894.252014
|
|
type: 'test'
|
|
...
|
|
# Subtest: claude
|
|
ok 2 - claude
|
|
---
|
|
duration_ms: 946.799658
|
|
type: 'test'
|
|
...
|
|
# Subtest: console
|
|
ok 3 - console
|
|
---
|
|
duration_ms: 922.775662
|
|
type: 'test'
|
|
...
|
|
1..3
|
|
ok 3 - T3 a hand-edited unit refuses unit-flags-drift, names the difference and changes nothing
|
|
---
|
|
duration_ms: 2764.656459
|
|
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: 870.352492
|
|
type: 'test'
|
|
...
|
|
# Subtest: copy-unreachable
|
|
ok 2 - copy-unreachable
|
|
---
|
|
duration_ms: 789.292274
|
|
type: 'test'
|
|
...
|
|
# Subtest: copy-schema-unknown
|
|
ok 3 - copy-schema-unknown
|
|
---
|
|
duration_ms: 811.194279
|
|
type: 'test'
|
|
...
|
|
# Subtest: already-active
|
|
ok 4 - already-active
|
|
---
|
|
duration_ms: 813.448729
|
|
type: 'test'
|
|
...
|
|
# Subtest: instance-busy (another business active)
|
|
ok 5 - instance-busy (another business active)
|
|
---
|
|
duration_ms: 931.831046
|
|
type: 'test'
|
|
...
|
|
# Subtest: instance-busy (this business activating)
|
|
ok 6 - instance-busy (this business activating)
|
|
---
|
|
duration_ms: 803.141227
|
|
type: 'test'
|
|
...
|
|
# Subtest: drop-in-override
|
|
ok 7 - drop-in-override
|
|
---
|
|
duration_ms: 896.445997
|
|
type: 'test'
|
|
...
|
|
# Subtest: no-pointer
|
|
ok 8 - no-pointer
|
|
---
|
|
duration_ms: 455.676455
|
|
type: 'test'
|
|
...
|
|
1..8
|
|
ok 4 - T4 each item 3 refusal changes nothing and logs one line with its code
|
|
---
|
|
duration_ms: 6373.714458
|
|
type: 'test'
|
|
...
|
|
# Subtest: T5 an activate with no migration stops the Console then the bus, installs, starts the bus then the Console
|
|
ok 5 - T5 an activate with no migration stops the Console then the bus, installs, starts the bus then the Console
|
|
---
|
|
duration_ms: 2015.850809
|
|
type: 'test'
|
|
...
|
|
# Subtest: T6 a migration without --migrate rolls back with migration-needs-flag
|
|
ok 6 - T6 a migration without --migrate rolls back with migration-needs-flag
|
|
---
|
|
duration_ms: 1980.294486
|
|
type: 'test'
|
|
...
|
|
# Subtest: T7 --migrate takes the backup before the migration runs
|
|
ok 7 - T7 --migrate takes the backup before the migration runs
|
|
---
|
|
duration_ms: 2077.339988
|
|
type: 'test'
|
|
...
|
|
# Subtest: T8 a failed migration restores the backup and keeps the store it replaced
|
|
ok 8 - T8 a failed migration restores the backup and keeps the store it replaced
|
|
---
|
|
duration_ms: 2344.869163
|
|
type: 'test'
|
|
...
|
|
# Subtest: T9 a store outside the target's chain rolls back with store-newer
|
|
ok 9 - T9 a store outside the target's chain rolls back with store-newer
|
|
---
|
|
duration_ms: 2057.80714
|
|
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: 5439.917262
|
|
type: 'test'
|
|
...
|
|
# Subtest: bus-status
|
|
ok 2 - bus-status
|
|
---
|
|
duration_ms: 5184.65157
|
|
type: 'test'
|
|
...
|
|
# Subtest: healthz
|
|
ok 3 - healthz
|
|
---
|
|
duration_ms: 5151.371445
|
|
type: 'test'
|
|
...
|
|
# Subtest: copy-check
|
|
ok 4 - copy-check
|
|
---
|
|
duration_ms: 5308.783979
|
|
type: 'test'
|
|
...
|
|
# Subtest: pm-launch-unconfirmed
|
|
ok 5 - pm-launch-unconfirmed
|
|
---
|
|
duration_ms: 5361.722543
|
|
type: 'test'
|
|
...
|
|
1..5
|
|
ok 10 - T10 each gate check failing alone rolls back and puts every file back
|
|
---
|
|
duration_ms: 26447.519804
|
|
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: 5649.636067
|
|
type: 'test'
|
|
...
|
|
# Subtest: two lines
|
|
ok 2 - two lines
|
|
---
|
|
duration_ms: 5756.346749
|
|
type: 'test'
|
|
...
|
|
# Subtest: a changed word
|
|
ok 3 - a changed word
|
|
---
|
|
duration_ms: 5814.824362
|
|
type: 'test'
|
|
...
|
|
# Subtest: run not in launches list
|
|
ok 4 - run not in launches list
|
|
---
|
|
duration_ms: 6020.290703
|
|
type: 'test'
|
|
...
|
|
# Subtest: run started before the start
|
|
ok 5 - run started before the start
|
|
---
|
|
duration_ms: 6000.172763
|
|
type: 'test'
|
|
...
|
|
# Subtest: a human launch with no journal line
|
|
ok 6 - a human launch with no journal line
|
|
---
|
|
duration_ms: 5895.922383
|
|
type: 'test'
|
|
...
|
|
# Subtest: run for another business
|
|
ok 7 - run for another business
|
|
---
|
|
duration_ms: 5771.227709
|
|
type: 'test'
|
|
...
|
|
# Subtest: run not live
|
|
ok 8 - run not live
|
|
---
|
|
duration_ms: 5982.78804
|
|
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: 2443.466425
|
|
type: 'test'
|
|
...
|
|
1..9
|
|
ok 11 - T10b the PM check needs exactly one launched line for a live run of this start
|
|
---
|
|
duration_ms: 49336.471748
|
|
type: 'test'
|
|
...
|
|
# Subtest: T11 a rollback whose gate fails too: rollback-failed, exit 2, both units stopped, no retry
|
|
ok 12 - T11 a rollback whose gate fails too: rollback-failed, exit 2, both units stopped, no retry
|
|
---
|
|
duration_ms: 7427.827166
|
|
type: 'test'
|
|
...
|
|
# Subtest: T12 rollback takes the previous copy from the log
|
|
ok 13 - T12 rollback takes the previous copy from the log
|
|
---
|
|
duration_ms: 3427.351844
|
|
type: 'test'
|
|
...
|
|
# Subtest: T13 a rollback across a migration needs --restore, then restores and goes live
|
|
ok 14 - T13 a rollback across a migration needs --restore, then restores and goes live
|
|
---
|
|
duration_ms: 4121.775021
|
|
type: 'test'
|
|
...
|
|
# Subtest: T14 events written after the backup need --events N with the right N
|
|
ok 15 - T14 events written after the backup need --events N with the right N
|
|
---
|
|
duration_ms: 5314.679874
|
|
type: 'test'
|
|
...
|
|
# Subtest: T14b a rollback --restore whose gate fails stops both units and skips item 6
|
|
ok 16 - T14b a rollback --restore whose gate fails stops both units and skips item 6
|
|
---
|
|
duration_ms: 7647.696666
|
|
type: 'test'
|
|
...
|
|
# Subtest: T14c a rollback without --restore whose gate fails runs item 6
|
|
ok 17 - T14c a rollback without --restore whose gate fails runs item 6
|
|
---
|
|
duration_ms: 7041.236524
|
|
type: 'test'
|
|
...
|
|
# Subtest: T15 --plan names the migration and the restore and changes nothing
|
|
ok 18 - T15 --plan names the migration and the restore and changes nothing
|
|
---
|
|
duration_ms: 2942.881655
|
|
type: 'test'
|
|
...
|
|
# Subtest: T26 --plan lists the commits an activate adds, after the migration lines
|
|
ok 19 - T26 --plan lists the commits an activate adds, after the migration lines
|
|
---
|
|
duration_ms: 1547.328626
|
|
type: 'test'
|
|
...
|
|
# Subtest: T27 --plan names each migration step, or says the steps cannot be read
|
|
ok 20 - T27 --plan names each migration step, or says the steps cannot be read
|
|
---
|
|
duration_ms: 1115.258101
|
|
type: 'test'
|
|
...
|
|
# Subtest: T25 --plan refuses copies-unrelated when neither copy is an ancestor of the other
|
|
ok 21 - T25 --plan refuses copies-unrelated when neither copy is an ancestor of the other
|
|
---
|
|
duration_ms: 563.85219
|
|
type: 'test'
|
|
...
|
|
# Subtest: T23 --plan reads the store without changing a file, stopped or held
|
|
# Subtest: stopped store
|
|
ok 1 - stopped store
|
|
---
|
|
duration_ms: 705.96752
|
|
type: 'test'
|
|
...
|
|
# Subtest: held store
|
|
ok 2 - held store
|
|
---
|
|
duration_ms: 667.282556
|
|
type: 'test'
|
|
...
|
|
1..2
|
|
ok 22 - T23 --plan reads the store without changing a file, stopped or held
|
|
---
|
|
duration_ms: 1373.847733
|
|
type: 'test'
|
|
...
|
|
# Subtest: T24 business-mismatch and capture-failed refuse with exit 3; a short id is a usage error
|
|
ok 23 - T24 business-mismatch and capture-failed refuse with exit 3; a short id is a usage error
|
|
---
|
|
duration_ms: 1590.235977
|
|
type: 'test'
|
|
...
|
|
# Subtest: T16 status prints the pointer, the log, the check, bus status and drift, and writes nothing
|
|
ok 24 - T16 status prints the pointer, the log, the check, bus status and drift, and writes nothing
|
|
---
|
|
duration_ms: 1058.052554
|
|
type: 'test'
|
|
...
|
|
# Subtest: T19 a started line with no final line: status shows it and every changing verb refuses
|
|
ok 25 - T19 a started line with no final line: status shows it and every changing verb refuses
|
|
---
|
|
duration_ms: 1589.894346
|
|
type: 'test'
|
|
...
|
|
# Subtest: T20 a held run lock refuses run-locked without a log line; status and --plan still run
|
|
ok 26 - T20 a held run lock refuses run-locked without a log line; status and --plan still run
|
|
---
|
|
duration_ms: 1613.361913
|
|
type: 'test'
|
|
...
|
|
# Subtest: T21 a bus unit with no MOSAIC_CLAUDE_BIN: adopt and activate refuse no-claude-pin
|
|
ok 27 - T21 a bus unit with no MOSAIC_CLAUDE_BIN: adopt and activate refuse no-claude-pin
|
|
---
|
|
duration_ms: 1575.294933
|
|
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: 2018.006043
|
|
type: 'test'
|
|
...
|
|
# Subtest: bus.sqlite-shm
|
|
ok 2 - bus.sqlite-shm
|
|
---
|
|
duration_ms: 1977.211581
|
|
type: 'test'
|
|
...
|
|
# Subtest: clean
|
|
ok 3 - clean
|
|
---
|
|
duration_ms: 2354.735429
|
|
type: 'test'
|
|
...
|
|
1..3
|
|
ok 28 - T22 the stopped store read: a -wal or -shm refuses store-unclean and is left alone; a clean read adds no file
|
|
---
|
|
duration_ms: 6350.747717
|
|
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: 871.42352
|
|
type: 'test'
|
|
...
|
|
# Subtest: drop-in directory
|
|
ok 2 - drop-in directory
|
|
---
|
|
duration_ms: 872.20049
|
|
type: 'test'
|
|
...
|
|
# Subtest: drop-in file
|
|
ok 3 - drop-in file
|
|
---
|
|
duration_ms: 866.241863
|
|
type: 'test'
|
|
...
|
|
# Subtest: relative unit path
|
|
ok 4 - relative unit path
|
|
---
|
|
duration_ms: 983.473358
|
|
type: 'test'
|
|
...
|
|
1..4
|
|
ok 29 - 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: 3594.32368
|
|
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: 1236.439769
|
|
type: 'test'
|
|
...
|
|
# Subtest: rollback --restore
|
|
ok 2 - rollback --restore
|
|
---
|
|
duration_ms: 2720.168036
|
|
type: 'test'
|
|
...
|
|
1..2
|
|
ok 30 - T29 a bus that stops during the held-store read: --plan says so, rollback --restore refuses restore-mismatch
|
|
---
|
|
duration_ms: 3957.329056
|
|
type: 'test'
|
|
...
|
|
# Subtest: T30 a copy check that agrees on another copy fails the gate with copy-check and rolls back
|
|
ok 31 - T30 a copy check that agrees on another copy fails the gate with copy-check and rolls back
|
|
---
|
|
duration_ms: 5106.076721
|
|
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: 2310.148736
|
|
type: 'test'
|
|
...
|
|
# Subtest: Environment single quotes
|
|
ok 2 - Environment single quotes
|
|
---
|
|
duration_ms: 2150.324937
|
|
type: 'test'
|
|
...
|
|
# Subtest: Environment backslash
|
|
ok 3 - Environment backslash
|
|
---
|
|
duration_ms: 2214.856009
|
|
type: 'test'
|
|
...
|
|
# Subtest: ExecStart quotes
|
|
ok 4 - ExecStart quotes
|
|
---
|
|
duration_ms: 2368.725871
|
|
type: 'test'
|
|
...
|
|
# Subtest: Console ExecStart quotes
|
|
ok 5 - Console ExecStart quotes
|
|
---
|
|
duration_ms: 1848.672357
|
|
type: 'test'
|
|
...
|
|
1..5
|
|
ok 32 - T31 a quoted or escaped Environment= or ExecStart= is unreadable: refusals by name, nothing read from /a
|
|
---
|
|
duration_ms: 10893.986045
|
|
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: 750.954743
|
|
type: 'test'
|
|
...
|
|
# Subtest: pm-after-harness-target
|
|
ok 2 - pm-after-harness-target
|
|
---
|
|
duration_ms: 1125.187752
|
|
type: 'test'
|
|
...
|
|
# Subtest: pm-after-harness-set
|
|
ok 3 - pm-after-harness-set
|
|
---
|
|
duration_ms: 1640.833287
|
|
type: 'test'
|
|
...
|
|
# Subtest: a pointer without pm
|
|
ok 4 - a pointer without pm
|
|
---
|
|
duration_ms: 1065.780246
|
|
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: 2392.910539
|
|
type: 'test'
|
|
...
|
|
1..5
|
|
ok 33 - T32 item 1: --pm-after-harness refuses a target without harness or a file that sets it, and passes without the PM
|
|
---
|
|
duration_ms: 6976.821273
|
|
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: 1957.623578
|
|
type: 'test'
|
|
...
|
|
# Subtest: pm-pending, already-adopted and the status line
|
|
ok 2 - pm-pending, already-adopted and the status line
|
|
---
|
|
duration_ms: 3964.897308
|
|
type: 'test'
|
|
...
|
|
1..2
|
|
ok 34 - T33 item 2: read_pointer takes pmPending only as true beside pm false; a pending pointer refuses activate and shows in status
|
|
---
|
|
duration_ms: 5923.431203
|
|
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: 951.041897
|
|
type: 'test'
|
|
...
|
|
# Subtest: harness-unset
|
|
ok 2 - harness-unset
|
|
---
|
|
duration_ms: 3582.601675
|
|
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: 4322.060162
|
|
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: 7353.426676
|
|
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: 10976.093865
|
|
type: 'test'
|
|
...
|
|
1..5
|
|
ok 35 - T34 item 3: pm-on refuses before any stop, passes with the PM, or puts the phase-1 bus back
|
|
---
|
|
duration_ms: 27186.857766
|
|
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: 3661.585427
|
|
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: 5658.948981
|
|
type: 'test'
|
|
...
|
|
# Subtest: activate names every kind the target lacks
|
|
ok 3 - activate names every kind the target lacks
|
|
---
|
|
duration_ms: 1472.715819
|
|
type: 'test'
|
|
...
|
|
1..3
|
|
ok 36 - T35 item 4: rollback from pending installs --pm; a plug-in kind the target lacks refuses by name
|
|
---
|
|
duration_ms: 10794.115039
|
|
type: 'test'
|
|
...
|
|
# Subtest: T36 --plan shows the pending state and lists the row 169 refusals it can see
|
|
ok 37 - T36 --plan shows the pending state and lists the row 169 refusals it can see
|
|
---
|
|
duration_ms: 3788.44
|
|
type: 'test'
|
|
...
|
|
# Subtest: T37 tester-port activate writes pointer and unit, replaces the port, and supported re-pin and rollback keep it
|
|
ok 38 - T37 tester-port activate writes pointer and unit, replaces the port, and supported re-pin and rollback keep it
|
|
---
|
|
duration_ms: 7789.064713
|
|
type: 'test'
|
|
...
|
|
# Subtest: T38 tester-port rollback to unsupported target drops flag in plan, steps, unit and pointer
|
|
ok 39 - T38 tester-port rollback to unsupported target drops flag in plan, steps, unit and pointer
|
|
---
|
|
duration_ms: 4492.419484
|
|
type: 'test'
|
|
...
|
|
# Subtest: T39 tester-port explicit unsupported target reads target copy and refuses before stopping either unit
|
|
ok 40 - T39 tester-port explicit unsupported target reads target copy and refuses before stopping either unit
|
|
---
|
|
duration_ms: 977.592804
|
|
type: 'test'
|
|
...
|
|
# Subtest: T40 tester-port invalid values refuse exit 4 before stopping, including tunnel and main ports
|
|
ok 41 - T40 tester-port invalid values refuse exit 4 before stopping, including tunnel and main ports
|
|
---
|
|
duration_ms: 1026.210252
|
|
type: 'test'
|
|
...
|
|
# Subtest: T41 tester-port inherited activate to unsupported target drops it and retains drift refusal and failed-run recovery
|
|
ok 42 - T41 tester-port inherited activate to unsupported target drops it and retains drift refusal and failed-run recovery
|
|
---
|
|
duration_ms: 10643.69744
|
|
type: 'test'
|
|
...
|
|
# Subtest: T42 tester-port pm-on preserves pointer Console flags
|
|
ok 43 - T42 tester-port pm-on preserves pointer Console flags
|
|
---
|
|
duration_ms: 4301.303732
|
|
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: 4045.891798
|
|
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: 7181.603495
|
|
type: 'test'
|
|
...
|
|
# Subtest: adopt takes the next free id too
|
|
ok 3 - adopt takes the next free id too
|
|
---
|
|
duration_ms: 660.233182
|
|
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: 970.777821
|
|
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: 1200.715306
|
|
type: 'test'
|
|
...
|
|
1..5
|
|
ok 44 - T43 row 180 item 1: runs in one second get distinct activation ids, rollback sets and post-attempt stores
|
|
---
|
|
duration_ms: 14060.550959
|
|
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: 2039.454115
|
|
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: 363.673638
|
|
type: 'test'
|
|
...
|
|
# Subtest: a target Console without --tester-port
|
|
ok 3 - a target Console without --tester-port
|
|
---
|
|
duration_ms: 995.259832
|
|
type: 'test'
|
|
...
|
|
1..3
|
|
ok 45 - T44 row 180 item 2: --plan lists tester-port-invalid and tester-port-target with its other refusals
|
|
---
|
|
duration_ms: 3399.101283
|
|
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: 1149.609883
|
|
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: 4416.12368
|
|
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: 4279.613353
|
|
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: 2505.313053
|
|
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: 3573.811907
|
|
type: 'test'
|
|
...
|
|
1..5
|
|
ok 46 - T45 row 181 items 2 and 3: the restore guard counts events and every COUNTED table
|
|
---
|
|
duration_ms: 15925.490768
|
|
type: 'test'
|
|
...
|
|
# Subtest: T46 row 181 item 4: every table in the bus schema is in exactly one of four lists
|
|
ok 47 - T46 row 181 item 4: every table in the bus schema is in exactly one of four lists
|
|
---
|
|
duration_ms: 4.366053
|
|
type: 'test'
|
|
...
|
|
# Subtest: T47 row 185 test 1: a same-schema activate leaves a whole backup and the log line names it
|
|
ok 48 - T47 row 185 test 1: a same-schema activate leaves a whole backup and the log line names it
|
|
---
|
|
duration_ms: 2074.671546
|
|
type: 'test'
|
|
...
|
|
# Subtest: T48 row 185 test 2: a gate failure on a same-schema activate rolls back without a restore
|
|
ok 49 - T48 row 185 test 2: a gate failure on a same-schema activate rolls back without a restore
|
|
---
|
|
duration_ms: 6192.411836
|
|
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: 3549.728762
|
|
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: 4025.952957
|
|
type: 'test'
|
|
...
|
|
1..2
|
|
ok 50 - T49 row 185 test 3: a same-schema rollback --restore restores, or refuses rows written after STAMP
|
|
---
|
|
duration_ms: 7576.247483
|
|
type: 'test'
|
|
...
|
|
# Subtest: T50 row 185 test 4: activate --plan prints the backup line and writes nothing
|
|
ok 51 - T50 row 185 test 4: activate --plan prints the backup line and writes nothing
|
|
---
|
|
duration_ms: 2489.110366
|
|
type: 'test'
|
|
...
|
|
# Subtest: T51 row 185 test 5: an activate with no store file takes no backup
|
|
ok 52 - T51 row 185 test 5: an activate with no store file takes no backup
|
|
---
|
|
duration_ms: 2491.318618
|
|
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: 2528.514357
|
|
type: 'test'
|
|
...
|
|
# Subtest: same schema with --migrate
|
|
ok 2 - same schema with --migrate
|
|
---
|
|
duration_ms: 2615.591133
|
|
type: 'test'
|
|
...
|
|
# Subtest: in chain with --migrate
|
|
ok 3 - in chain with --migrate
|
|
---
|
|
duration_ms: 2854.904088
|
|
type: 'test'
|
|
...
|
|
# Subtest: in chain without --migrate
|
|
ok 4 - in chain without --migrate
|
|
---
|
|
duration_ms: 2308.803648
|
|
type: 'test'
|
|
...
|
|
# Subtest: outside the chain
|
|
ok 5 - outside the chain
|
|
---
|
|
duration_ms: 2084.714647
|
|
type: 'test'
|
|
...
|
|
# Subtest: outside the chain with --migrate
|
|
ok 6 - outside the chain with --migrate
|
|
---
|
|
duration_ms: 2312.599376
|
|
type: 'test'
|
|
...
|
|
1..6
|
|
ok 53 - T52 row 186: the activate plan's backup line says what the run will do
|
|
---
|
|
duration_ms: 14706.395018
|
|
type: 'test'
|
|
...
|
|
# Subtest: T178 proxy proof header and path survive re-pin and rollback unchanged in the pointer and unit
|
|
ok 54 - T178 proxy proof header and path survive re-pin and rollback unchanged in the pointer and unit
|
|
---
|
|
duration_ms: 3446.657682
|
|
type: 'test'
|
|
...
|
|
# Subtest: T178 proxy proof pair survives a tester-port replacement as well
|
|
ok 55 - T178 proxy proof pair survives a tester-port replacement as well
|
|
---
|
|
duration_ms: 2088.767457
|
|
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: 6029.4142
|
|
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: 5528.943435
|
|
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: 7852.25623
|
|
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: 4772.586649
|
|
type: 'test'
|
|
...
|
|
# Subtest: test 3: pm-on keeps the pair
|
|
ok 5 - test 3: pm-on keeps the pair
|
|
---
|
|
duration_ms: 3925.649052
|
|
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: 6262.015893
|
|
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: 4033.59495
|
|
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: 894.930959
|
|
type: 'test'
|
|
...
|
|
# Subtest: test 6: usage errors
|
|
ok 9 - test 6: usage errors
|
|
---
|
|
duration_ms: 828.697068
|
|
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: 4083.824871
|
|
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: 4200.367941
|
|
type: 'test'
|
|
...
|
|
1..11
|
|
ok 56 - T53 row 187: activate sets, carries and drops the proof pair
|
|
---
|
|
duration_ms: 48414.555411
|
|
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: 2412.862095
|
|
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: 2546.792817
|
|
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: 2672.393025
|
|
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: 2544.664442
|
|
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: 1123.616808
|
|
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: 1118.574811
|
|
type: 'test'
|
|
...
|
|
1..6
|
|
ok 57 - T54 row 188: a carried pair gets the proof file checks, and a proof file inside the repository refuses
|
|
---
|
|
duration_ms: 12420.222936
|
|
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: 2279.773587
|
|
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: 3410.789547
|
|
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: 4881.539993
|
|
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: 3529.874017
|
|
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: 3517.931677
|
|
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: 694.543061
|
|
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: 11526.33008
|
|
type: 'test'
|
|
...
|
|
1..7
|
|
ok 58 - T55 row 189: activate --no-send drops --send, and rollback and pm-on carry it off
|
|
---
|
|
duration_ms: 29842.290015
|
|
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: 4557.97793
|
|
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: 10064.699778
|
|
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: 785.253648
|
|
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: 6929.234931
|
|
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: 5568.576056
|
|
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: 4183.031275
|
|
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: 12060.566493
|
|
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: 4638.189588
|
|
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: 2336.405113
|
|
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: 2200.43398
|
|
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: 4432.143889
|
|
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: 1176.200904
|
|
type: 'test'
|
|
...
|
|
1..12
|
|
ok 59 - T57 row 200: activate --sso, its refusals before any stop, and the rollback to a Console without --sso
|
|
---
|
|
duration_ms: 58935.456167
|
|
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: 2839.097988
|
|
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: 4723.838433
|
|
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: 2083.750833
|
|
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: 4155.438744
|
|
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: 2281.334985
|
|
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: 5615.54045
|
|
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: 5593.200873
|
|
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: 8497.557234
|
|
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: 3943.083898
|
|
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: 6041.32525
|
|
type: 'test'
|
|
...
|
|
1..10
|
|
ok 60 - T58 row 273: activate --send and --no-sso
|
|
---
|
|
duration_ms: 45776.168104
|
|
type: 'test'
|
|
...
|
|
# Subtest: R1 rehearse passes on the same schema; the scratch root holds its files and the live files stay byte-identical
|
|
ok 61 - R1 rehearse passes on the same schema; the scratch root holds its files and the live files stay byte-identical
|
|
---
|
|
duration_ms: 2526.498251
|
|
type: 'test'
|
|
...
|
|
# Subtest: R2 rehearse runs the migration checks when the schema differs; the live store stays at 3g
|
|
ok 62 - R2 rehearse runs the migration checks when the schema differs; the live store stays at 3g
|
|
---
|
|
duration_ms: 2681.902892
|
|
type: 'test'
|
|
...
|
|
# Subtest: R3 a failing migration gives REHEARSAL_FAIL migrate and starts nothing
|
|
ok 63 - R3 a failing migration gives REHEARSAL_FAIL migrate and starts nothing
|
|
---
|
|
duration_ms: 431.28218
|
|
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 64 - 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: 20631.494209
|
|
type: 'test'
|
|
...
|
|
# Subtest: R5 a host that ignores SIGTERM gets SIGKILL and FAIL host-stopped
|
|
ok 65 - R5 a host that ignores SIGTERM gets SIGKILL and FAIL host-stopped
|
|
---
|
|
duration_ms: 3454.208146
|
|
type: 'test'
|
|
...
|
|
# Subtest: R6 a Console that does not answer /healthz gives REHEARSAL_FAIL healthz
|
|
ok 66 - R6 a Console that does not answer /healthz gives REHEARSAL_FAIL healthz
|
|
---
|
|
duration_ms: 4676.388331
|
|
type: 'test'
|
|
...
|
|
# Subtest: R7 a host on another copy fails copy-match
|
|
ok 67 - R7 a host on another copy fails copy-match
|
|
---
|
|
duration_ms: 4686.606778
|
|
type: 'test'
|
|
...
|
|
# Subtest: R8 a scratch port in use or reserved refuses, and the rehearsal takes no other port
|
|
ok 68 - R8 a scratch port in use or reserved refuses, and the rehearsal takes no other port
|
|
---
|
|
duration_ms: 518.951516
|
|
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 69 - 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: 885.273361
|
|
type: 'test'
|
|
...
|
|
# Subtest: R10 mos-0962: a scratch business that still sets a tracker fails tracker-configured
|
|
ok 70 - R10 mos-0962: a scratch business that still sets a tracker fails tracker-configured
|
|
---
|
|
duration_ms: 448.788462
|
|
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 71 - 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: 1453.846928
|
|
type: 'test'
|
|
...
|
|
# Subtest: R12 mos-0962: a notifier config with a binding fails notify-off
|
|
ok 72 - R12 mos-0962: a notifier config with a binding fails notify-off
|
|
---
|
|
duration_ms: 358.068063
|
|
type: 'test'
|
|
...
|
|
# Subtest: R13 the pre-checks: an old copy, a backup that fails its sums, a missing backup or pointer, and usage
|
|
ok 73 - R13 the pre-checks: an old copy, a backup that fails its sums, a missing backup or pointer, and usage
|
|
---
|
|
duration_ms: 518.25533
|
|
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 74 - R14 a host that writes the live config, the live business file or the backup fails the end check by name
|
|
---
|
|
duration_ms: 7552.781623
|
|
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 75 - 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: 7047.752885
|
|
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 76 - 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: 2477.480144
|
|
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 77 - 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: 211.475574
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 233: --backup last refuses a newest backup that is not an activation id, with exit 1
|
|
ok 78 - row 233: --backup last refuses a newest backup that is not an activation id, with exit 1
|
|
---
|
|
duration_ms: 134.467341
|
|
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: 1871.688007
|
|
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: 2103.691198
|
|
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: 4312.355978
|
|
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: 4208.184204
|
|
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: 795.277274
|
|
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: 6691.720523
|
|
type: 'test'
|
|
...
|
|
1..6
|
|
ok 79 - T56 row 190: named instances side by side on one unit directory, $BIN and set of stand-ins
|
|
---
|
|
duration_ms: 19984.44984
|
|
type: 'test'
|
|
...
|
|
# Subtest: row196 explicit socket conversion refuses inherited TCP before stop and rollback disables socket
|
|
ok 80 - row196 explicit socket conversion refuses inherited TCP before stop and rollback disables socket
|
|
---
|
|
duration_ms: 6260.660642
|
|
type: 'test'
|
|
...
|
|
# Subtest: row196 SSO socket conversion pins pointer and unit argv order without send
|
|
ok 81 - row196 SSO socket conversion pins pointer and unit argv order without send
|
|
---
|
|
duration_ms: 2795.855606
|
|
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: 2512.972228
|
|
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: 3596.163386
|
|
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: 3680.564381
|
|
type: 'test'
|
|
...
|
|
# Subtest: missing-verifier refuses before any start or stop
|
|
ok 4 - missing-verifier refuses before any start or stop
|
|
---
|
|
duration_ms: 1093.58345
|
|
type: 'test'
|
|
...
|
|
# Subtest: interpreter-unsafe refuses before any start or stop
|
|
ok 5 - interpreter-unsafe refuses before any start or stop
|
|
---
|
|
duration_ms: 1190.545175
|
|
type: 'test'
|
|
...
|
|
1..5
|
|
ok 82 - row196 interpreter activation checks receipt, identity, plan and startup log
|
|
---
|
|
duration_ms: 12075.359181
|
|
type: 'test'
|
|
...
|
|
# Subtest: row196 rehearsal selects socket only for marked copies and uses scratch dataRoot
|
|
# Subtest: socket copy
|
|
ok 1 - socket copy
|
|
---
|
|
duration_ms: 2486.327597
|
|
type: 'test'
|
|
...
|
|
# Subtest: legacy copy
|
|
ok 2 - legacy copy
|
|
---
|
|
duration_ms: 2516.012632
|
|
type: 'test'
|
|
...
|
|
1..2
|
|
ok 83 - row196 rehearsal selects socket only for marked copies and uses scratch dataRoot
|
|
---
|
|
duration_ms: 5003.149875
|
|
type: 'test'
|
|
...
|
|
1..83
|
|
# tests 219
|
|
# suites 0
|
|
# pass 219
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 639953.098887
|
|
END {"label": "cli-stack-release.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "2400", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/stack-release.test.mjs"], "limit": 2400, "tmpdir": "/mnt/storage/scratch/tmp/gR6S4RV", "rc": 0, "wall_seconds": 640.0, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/cli-stack-release.test.log", "counts": {"tests": 219, "pass": 219, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "cli-stack-upgrade.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/stack-upgrade.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gCQR4X3"}
|
|
TAP version 13
|
|
# Subtest: row 233: sequence 1: confirm fails healthz, the driver reverts, renders the old copy and confirm --rollback --cause A5 passes: exit 1
|
|
ok 1 - row 233: sequence 1: confirm fails healthz, the driver reverts, renders the old copy and confirm --rollback --cause A5 passes: exit 1
|
|
---
|
|
duration_ms: 7857.876242
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 233: sequence 2: activate --migrate fails at the wrapper, revert restores the store, confirm --rollback --cause A3: exit 1
|
|
ok 2 - row 233: sequence 2: activate --migrate fails at the wrapper, revert restores the store, confirm --rollback --cause A3: exit 1
|
|
---
|
|
duration_ms: 3525.62482
|
|
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 3 - 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: 3432.509753
|
|
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 4 - 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: 2501.356187
|
|
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 5 - 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: 7209.342184
|
|
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 6 - row 233: sequence 5: confirm of the wrong copy is refused, and the driver rolls back with --cause A5: exit 1
|
|
---
|
|
duration_ms: 4156.654358
|
|
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 7 - 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: 3033.981447
|
|
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 8 - row 233: sequence 7: two upgrades and a rollback --to the previous copy with --restore, the args file following each confirm
|
|
---
|
|
duration_ms: 8251.971495
|
|
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 9 - 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: 3158.99295
|
|
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 10 - 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: 3506.675929
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 233: a second run while the lock is held refuses upgrade-running with one log line and no call
|
|
ok 11 - row 233: a second run while the lock is held refuses upgrade-running with one log line and no call
|
|
---
|
|
duration_ms: 715.808549
|
|
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 12 - row 233: A1 refuses open-activation on any AWAITING-UNITS file, through the stack's user's --plan, with nothing stopped
|
|
---
|
|
duration_ms: 1162.483
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 233: a target that migrates refuses migrate-required without --migrate, with nothing stopped
|
|
ok 13 - row 233: a target that migrates refuses migrate-required without --migrate, with nothing stopped
|
|
---
|
|
duration_ms: 1186.520503
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 233: the rehearsal runs after the plan and before A2; a failed one refuses rehearsal-failed with nothing stopped
|
|
ok 14 - row 233: the rehearsal runs after the plan and before A2; a failed one refuses rehearsal-failed with nothing stopped
|
|
---
|
|
duration_ms: 1234.391528
|
|
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 15 - 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.355707
|
|
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 16 - 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: 3790.693547
|
|
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 17 - row 233: a real rehearsal after an upgrade names the log's newest backup; --no-rehearsal with a backup refuses rehearsal-required
|
|
---
|
|
duration_ms: 4444.707164
|
|
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 18 - 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: 1028.339536
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 233: hostcheck (row 240): a nonzero --check or a missing file refuses profile-drift before the plan
|
|
ok 19 - row 233: hostcheck (row 240): a nonzero --check or a missing file refuses profile-drift before the plan
|
|
---
|
|
duration_ms: 1225.943218
|
|
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 20 - 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: 1181.367313
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 233: usage exits 4 before any log or lock
|
|
ok 21 - row 233: usage exits 4 before any log or lock
|
|
---
|
|
duration_ms: 828.256383
|
|
type: 'test'
|
|
...
|
|
1..21
|
|
# tests 21
|
|
# suites 0
|
|
# pass 21
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 67841.631938
|
|
END {"label": "cli-stack-upgrade.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/stack-upgrade.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gCQR4X3", "rc": 0, "wall_seconds": 67.906, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/cli-stack-upgrade.test.log", "counts": {"tests": 21, "pass": 21, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "cli-tester-http.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/tester-http.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gVqhhKA"}
|
|
TAP version 13
|
|
# Subtest: tester HTTP helper uses instance socket, logical origin and JSON without retrying
|
|
ok 1 - tester HTTP helper uses instance socket, logical origin and JSON without retrying
|
|
---
|
|
duration_ms: 19.167994
|
|
type: 'test'
|
|
...
|
|
# Subtest: tester HTTP timeout closes the socket and does not retry
|
|
ok 2 - tester HTTP timeout closes the socket and does not retry
|
|
---
|
|
duration_ms: 25.052537
|
|
type: 'test'
|
|
...
|
|
1..2
|
|
# tests 2
|
|
# suites 0
|
|
# pass 2
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 126.201263
|
|
END {"label": "cli-tester-http.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/tester-http.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gVqhhKA", "rc": 0, "wall_seconds": 0.215, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/cli-tester-http.test.log", "counts": {"tests": 2, "pass": 2, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "cli-tester-reads.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/tester-reads.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gYkmOiy"}
|
|
TAP version 13
|
|
# 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 1 - row 175: each read with --tester inside an agent prints the human form's output, and refuses without --tester
|
|
---
|
|
duration_ms: 105.968986
|
|
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 2 - row 175: --tester on limits set, reset and migrate and every write form outside W1-W7 exits 4 before any call
|
|
---
|
|
duration_ms: 43.559947
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 175: scripts/mosaic sends plugins, name, names, follow, threads and thread to packages/cli, not the seat CLI
|
|
ok 3 - row 175: scripts/mosaic sends plugins, name, names, follow, threads and thread to packages/cli, not the seat CLI
|
|
---
|
|
duration_ms: 631.001872
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 175 W7: project init --tester makes the repository under the project area, committed by tester
|
|
ok 4 - row 175 W7: project init --tester makes the repository under the project area, committed by tester
|
|
---
|
|
duration_ms: 442.561849
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 175 W7: a repo outside the project area refuses tester-project-area before any bus call, and nothing changes
|
|
ok 5 - row 175 W7: a repo outside the project area refuses tester-project-area before any bus call, and nothing changes
|
|
---
|
|
duration_ms: 159.581233
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 175 W7: the tester bind refuses tester-off and tester-required before any directory
|
|
ok 6 - row 175 W7: the tester bind refuses tester-off and tester-required before any directory
|
|
---
|
|
duration_ms: 1058.025931
|
|
type: 'test'
|
|
...
|
|
1..6
|
|
# tests 6
|
|
# suites 0
|
|
# pass 6
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 2633.05495
|
|
END {"label": "cli-tester-reads.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/tester-reads.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gYkmOiy", "rc": 0, "wall_seconds": 2.67, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/cli-tester-reads.test.log", "counts": {"tests": 6, "pass": 6, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "cli-tester-threads.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/tester-threads.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gVgc85y"}
|
|
TAP version 13
|
|
# Subtest: row 184: with --tester, thread create, threads, open, talk --thread and read run on the tester's own thread
|
|
ok 1 - row 184: with --tester, thread create, threads, open, talk --thread and read run on the tester's own thread
|
|
---
|
|
duration_ms: 49.334795
|
|
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 2 - row 184: talk --thread --follow and follow --thread with --tester print and read only that thread's messages, from message.receive
|
|
---
|
|
duration_ms: 86.448809
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 184: with --tester a human thread refuses with the bus's code, and nothing is written
|
|
ok 3 - row 184: with --tester a human thread refuses with the bus's code, and nothing is written
|
|
---
|
|
duration_ms: 42.906764
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 184: without --tester the thread verbs stay the human's and never call the tester transport
|
|
ok 4 - row 184: without --tester the thread verbs stay the human's and never call the tester transport
|
|
---
|
|
duration_ms: 29.180477
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 184: scripts/mosaic runs thread create, threads, talk --thread and thread read as the tester through tester-cli.mjs
|
|
ok 5 - row 184: scripts/mosaic runs thread create, threads, talk --thread and thread read as the tester through tester-cli.mjs
|
|
---
|
|
duration_ms: 2621.14623
|
|
type: 'test'
|
|
...
|
|
1..5
|
|
# tests 5
|
|
# suites 0
|
|
# pass 5
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 2989.811811
|
|
END {"label": "cli-tester-threads.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/tester-threads.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gVgc85y", "rc": 0, "wall_seconds": 3.071, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/cli-tester-threads.test.log", "counts": {"tests": 5, "pass": 5, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "cli-tester.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/tester.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gnNywId"}
|
|
TAP version 13
|
|
# Subtest: talk --tester sends a message as tester from inside an agent and prints the role's reply
|
|
ok 1 - talk --tester sends a message as tester from inside an agent and prints the role's reply
|
|
---
|
|
duration_ms: 26.35509
|
|
type: 'test'
|
|
...
|
|
# Subtest: talk --tester sends text with no prefix, and follow --tester reads
|
|
ok 2 - talk --tester sends text with no prefix, and follow --tester reads
|
|
---
|
|
duration_ms: 15.462575
|
|
type: 'test'
|
|
...
|
|
# Subtest: the read verbs take --tester inside an agent, and the trail shows the tester as the sender
|
|
ok 3 - the read verbs take --tester inside an agent, and the trail shows the tester as the sender
|
|
---
|
|
duration_ms: 29.736813
|
|
type: 'test'
|
|
...
|
|
# Subtest: decide, stop and launches take no --tester
|
|
ok 4 - decide, stop and launches take no --tester
|
|
---
|
|
duration_ms: 13.778626
|
|
type: 'test'
|
|
...
|
|
# Subtest: the tester transport runs tester-cli.mjs, and the tester's refusals exit 3
|
|
ok 5 - the tester transport runs tester-cli.mjs, and the tester's refusals exit 3
|
|
---
|
|
duration_ms: 0.321639
|
|
type: 'test'
|
|
...
|
|
# Subtest: with no stand-in transport, --tester runs tester-cli.mjs on the data root's socket
|
|
ok 6 - with no stand-in transport, --tester runs tester-cli.mjs on the data root's socket
|
|
---
|
|
duration_ms: 0.489985
|
|
type: 'test'
|
|
...
|
|
# Subtest: agents --tester makes one call; the human's agents also reads thread.claims, and --json is the agents array
|
|
ok 7 - agents --tester makes one call; the human's agents also reads thread.claims, and --json is the agents array
|
|
---
|
|
duration_ms: 14.286588
|
|
type: 'test'
|
|
...
|
|
# Subtest: a refused thread.claims still prints the role rows and the refusal's code
|
|
ok 8 - a refused thread.claims still prints the role rows and the refusal's code
|
|
---
|
|
duration_ms: 12.827628
|
|
type: 'test'
|
|
...
|
|
# Subtest: a thread.claims error without a bus code still throws and prints nothing
|
|
ok 9 - a thread.claims error without a bus code still throws and prints nothing
|
|
---
|
|
duration_ms: 13.657238
|
|
type: 'test'
|
|
...
|
|
# Subtest: talk --tester to a stopped role exits 3, prints no sent line and stores nothing
|
|
ok 10 - talk --tester to a stopped role exits 3, prints no sent line and stores nothing
|
|
---
|
|
duration_ms: 13.03525
|
|
type: 'test'
|
|
...
|
|
# Subtest: only a --tester send refused tester-target-not-running is rewritten
|
|
ok 11 - only a --tester send refused tester-target-not-running is rewritten
|
|
---
|
|
duration_ms: 12.168475
|
|
type: 'test'
|
|
...
|
|
1..11
|
|
# tests 11
|
|
# suites 0
|
|
# pass 11
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 281.920875
|
|
END {"label": "cli-tester.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/tester.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gnNywId", "rc": 0, "wall_seconds": 0.365, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/cli-tester.test.log", "counts": {"tests": 11, "pass": 11, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "cli-thread-cli.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/thread-cli.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gsAh03I"}
|
|
TAP version 13
|
|
# Subtest: REQ-CLI-1 project create and list work on the bus record and refuse what the broker refuses
|
|
ok 1 - REQ-CLI-1 project create and list work on the bus record and refuse what the broker refuses
|
|
---
|
|
duration_ms: 30.947083
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-CLI-1 thread create, list, open and read
|
|
ok 2 - REQ-CLI-1 thread create, list, open and read
|
|
---
|
|
duration_ms: 55.324458
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-CLI-1 thread read pages through every message, oldest first
|
|
ok 3 - REQ-CLI-1 thread read pages through every message, oldest first
|
|
---
|
|
duration_ms: 297.741813
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-CLI-1 the business needs exactly one threaded instance to create a thread
|
|
ok 4 - REQ-CLI-1 the business needs exactly one threaded instance to create a thread
|
|
---
|
|
duration_ms: 27.699634
|
|
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 5 - 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: 44.765807
|
|
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 6 - 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: 31.132453
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-CLI-2 talk --thread --wait gives up with exit 1 and leaves the thread's messages unread
|
|
ok 7 - REQ-CLI-2 talk --thread --wait gives up with exit 1 and leaves the thread's messages unread
|
|
---
|
|
duration_ms: 1031.962409
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-CLI-2 talk --thread --follow and follow --thread print and read only that thread's messages
|
|
ok 8 - REQ-CLI-2 talk --thread --follow and follow --thread print and read only that thread's messages
|
|
---
|
|
duration_ms: 82.749761
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-CLI-2 plain talk to the assistant asks for a thread and exits 2 without a write
|
|
ok 9 - REQ-CLI-2 plain talk to the assistant asks for a thread and exits 2 without a write
|
|
---
|
|
duration_ms: 21.154188
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-USER-2 a thread of another user is refused for talk, open, read and follow, and nothing is written
|
|
ok 10 - REQ-USER-2 a thread of another user is refused for talk, open, read and follow, and nothing is written
|
|
---
|
|
duration_ms: 56.403608
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-CLI-1 the new verbs refuse inside an agent run, as every human verb does
|
|
ok 11 - REQ-CLI-1 the new verbs refuse inside an agent run, as every human verb does
|
|
---
|
|
duration_ms: 19.987217
|
|
type: 'test'
|
|
...
|
|
1..11
|
|
# tests 11
|
|
# suites 0
|
|
# pass 11
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 1835.311636
|
|
END {"label": "cli-thread-cli.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/thread-cli.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gsAh03I", "rc": 0, "wall_seconds": 1.918, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/cli-thread-cli.test.log", "counts": {"tests": 11, "pass": 11, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "cli-thread-launch.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/thread-launch.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gPe0qkc"}
|
|
TAP version 13
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r44e6878e49aa","instance":"assistant","turn":"7a0970f3-cfec-45cd-9b7e-4b3036fce5b1","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r35b11ba72324","instance":"assistant","turn":"e0d613f4-31ec-4c2a-ba09-ee312c57fc6f","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r50573e79d999","instance":"assistant","turn":"f8d15bc5-cd05-4cb3-a995-3cf73eab6ef9","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"rb369915c8da9","instance":"assistant","turn":"2488d4d2-f64a-41b1-9d60-874e87454d72","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 1 - 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: 6227.359233
|
|
type: 'test'
|
|
...
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"rc3bff2ce991e","instance":"assistant","turn":"80d3990c-01b0-4bb8-8ee0-4273df1bcc82","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r5640b1ba1d42","instance":"assistant","turn":"c0c70208-2205-453e-a6c8-468a2c6e950f","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 2 - REQ-THREAD-2 REQ-LAUNCH-1 a running thread counts against its model's limit and an idle-stopped one doesn't
|
|
---
|
|
duration_ms: 1828.384574
|
|
type: 'test'
|
|
...
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"ra59881ca6c9a","instance":"assistant","turn":"ac51fc96-607f-43ff-82c2-dd9208fb8456","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 3 - 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: 4443.045519
|
|
type: 'test'
|
|
...
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r6e52da0c358d","instance":"assistant","turn":"1288066f-c130-460e-aa15-d9d550954be5","source":"@none","code":"baseline-unknown"}
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r6e52da0c358d","instance":"assistant","turn":"feed8af8-fea2-4e19-abce-453445682f39","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 4 - REQ-THREAD-2 REQ-LAUNCH-1 a message sent after the idle snapshot keeps the session, which answers it
|
|
---
|
|
duration_ms: 2825.394891
|
|
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 5 - REQ-ROLE-2 REQ-LAUNCH-1 a thread held by a run the launcher didn't start gets no second session
|
|
---
|
|
duration_ms: 104.088315
|
|
type: 'test'
|
|
...
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"rda83c3bf15d4","instance":"assistant","turn":"4556dad9-986e-42bf-bc15-a4b675d5684a","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 6 - REQ-LAUNCH-1 a thread run's session file has no landing, even when landHolders names its instance
|
|
---
|
|
duration_ms: 537.591882
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-LAUNCH-1 a run that ends without taking its thread's message isn't started again for that message
|
|
ok 7 - REQ-LAUNCH-1 a run that ends without taking its thread's message isn't started again for that message
|
|
---
|
|
duration_ms: 344.514298
|
|
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 8 - 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: 314.240262
|
|
type: 'test'
|
|
...
|
|
# Subtest: REQ-THREAD-1 REQ-LAUNCH-1 the chief can't launch the assistant outside a thread
|
|
ok 9 - REQ-THREAD-1 REQ-LAUNCH-1 the chief can't launch the assistant outside a thread
|
|
---
|
|
duration_ms: 110.572277
|
|
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 10 - 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: 209.39999
|
|
type: 'test'
|
|
...
|
|
# usage: {"event":"usage-unknown","business":"acme","run":"r499581353b51","instance":"assistant","turn":"c9e5861c-afdf-4ce7-aa5f-cd2f28ffde80","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 11 - 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: 514.696572
|
|
type: 'test'
|
|
...
|
|
1..11
|
|
# tests 11
|
|
# suites 0
|
|
# pass 11
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 17625.017942
|
|
END {"label": "cli-thread-launch.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/thread-launch.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gPe0qkc", "rc": 0, "wall_seconds": 17.703, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/cli-thread-launch.test.log", "counts": {"tests": 11, "pass": 11, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "cli-trackers-boot.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/trackers-boot.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gyxNvfb"}
|
|
TAP version 13
|
|
# Subtest: C2-04: a library-only business with tracker.baseUrl boots without a project tracker
|
|
ok 1 - C2-04: a library-only business with tracker.baseUrl boots without a project tracker
|
|
---
|
|
duration_ms: 267.454929
|
|
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 2 - bootConfig trackers reach the S3 adapter in the real broker child, which goes ready against a fake Vikunja
|
|
---
|
|
duration_ms: 435.927135
|
|
type: 'test'
|
|
...
|
|
1..2
|
|
# tests 2
|
|
# suites 0
|
|
# pass 2
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 819.444118
|
|
END {"label": "cli-trackers-boot.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/trackers-boot.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gyxNvfb", "rc": 0, "wall_seconds": 0.867, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/cli-trackers-boot.test.log", "counts": {"tests": 2, "pass": 2, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "cli-transport.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/transport.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gU4DLeS"}
|
|
TAP version 13
|
|
# Subtest: the transport writes {business, verb, args} to the child and reads its JSON
|
|
ok 1 - the transport writes {business, verb, args} to the child and reads its JSON
|
|
---
|
|
duration_ms: 33.078683
|
|
type: 'test'
|
|
...
|
|
# Subtest: a bus code on stderr becomes the exit code; garbage and timeouts are outcome problems
|
|
ok 2 - a bus code on stderr becomes the exit code; garbage and timeouts are outcome problems
|
|
---
|
|
duration_ms: 2164.032655
|
|
type: 'test'
|
|
...
|
|
# Subtest: busExit and refuseInsideAgent
|
|
ok 3 - busExit and refuseInsideAgent
|
|
---
|
|
duration_ms: 0.572847
|
|
type: 'test'
|
|
...
|
|
1..3
|
|
# tests 3
|
|
# suites 0
|
|
# pass 3
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 2320.823265
|
|
END {"label": "cli-transport.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/transport.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gU4DLeS", "rc": 0, "wall_seconds": 2.369, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/cli-transport.test.log", "counts": {"tests": 3, "pass": 3, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "cli-usage.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/usage.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/g9bmywI"}
|
|
TAP version 13
|
|
# Subtest: REQ-LIMIT-4 mosaic usage shows each token kind and unknown turns beside every total
|
|
ok 1 - REQ-LIMIT-4 mosaic usage shows each token kind and unknown turns beside every total
|
|
---
|
|
duration_ms: 58.218734
|
|
type: 'test'
|
|
...
|
|
# Subtest: usage is dispatched by scripts/mosaic and the shared read adapter
|
|
ok 2 - usage is dispatched by scripts/mosaic and the shared read adapter
|
|
---
|
|
duration_ms: 98.637949
|
|
type: 'test'
|
|
...
|
|
1..2
|
|
# tests 2
|
|
# suites 0
|
|
# pass 2
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 300.587994
|
|
END {"label": "cli-usage.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/usage.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/g9bmywI", "rc": 0, "wall_seconds": 0.365, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/cli-usage.test.log", "counts": {"tests": 2, "pass": 2, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
START {"label": "cli-verbs.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/verbs.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gY2oRdw"}
|
|
TAP version 13
|
|
# Subtest: talk sends a REQUEST, prints and reads only the reply to it, and leaves other messages unread
|
|
ok 1 - talk sends a REQUEST, prints and reads only the reply to it, and leaves other messages unread
|
|
---
|
|
duration_ms: 53.279898
|
|
type: 'test'
|
|
...
|
|
# Subtest: talk --wait 0 only sends; no reply within --wait exits 1 and says where it will show
|
|
ok 2 - talk --wait 0 only sends; no reply within --wait exits 1 and says where it will show
|
|
---
|
|
duration_ms: 1031.843731
|
|
type: 'test'
|
|
...
|
|
# Subtest: a late reply the Console has listed stays unread for mosaic inbox, and the next talk skips it
|
|
ok 3 - a late reply the Console has listed stays unread for mosaic inbox, and the next talk skips it
|
|
---
|
|
duration_ms: 2054.422193
|
|
type: 'test'
|
|
...
|
|
# Subtest: talk says when the role isn't running, whether launch.by was told, and how to start launch.by
|
|
ok 4 - talk says when the role isn't running, whether launch.by was told, and how to start launch.by
|
|
---
|
|
duration_ms: 36.739624
|
|
type: 'test'
|
|
...
|
|
# Subtest: talk to a role launch.by can't launch says it isn't in the launch block
|
|
ok 5 - talk to a role launch.by can't launch says it isn't in the launch block
|
|
---
|
|
duration_ms: 17.179422
|
|
type: 'test'
|
|
...
|
|
# Subtest: talk to a stopped role prints the waiting line once, skips a non-reply and prints the reply
|
|
ok 6 - talk to a stopped role prints the waiting line once, skips a non-reply and prints the reply
|
|
---
|
|
duration_ms: 46.755219
|
|
type: 'test'
|
|
...
|
|
# Subtest: talk, stop and launches off/on refuse inside an agent run; bad arguments are usage errors
|
|
ok 7 - talk, stop and launches off/on refuse inside an agent run; bad arguments are usage errors
|
|
---
|
|
duration_ms: 16.329271
|
|
type: 'test'
|
|
...
|
|
# Subtest: launches off and on go to the broker and change the business's launch state
|
|
ok 8 - launches off and on go to the broker and change the business's launch state
|
|
---
|
|
duration_ms: 17.467677
|
|
type: 'test'
|
|
...
|
|
# Subtest: launches list reads sessions.json and marks a stale entry; stop reports it and refuses a non-runner
|
|
ok 9 - launches list reads sessions.json and marks a stale entry; stop reports it and refuses a non-runner
|
|
---
|
|
duration_ms: 16.64913
|
|
type: 'test'
|
|
...
|
|
1..9
|
|
# tests 9
|
|
# suites 0
|
|
# pass 9
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 3427.532044
|
|
END {"label": "cli-verbs.test", "head": "6bfab273b59a4fa6dc9c468a086ff281f435e572", "manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3", "argv": ["timeout", "-k", "10", "900", "node", "--test", "--test-concurrency=1", "--test-reporter=tap", "packages/cli/tests/verbs.test.mjs"], "limit": 900, "tmpdir": "/mnt/storage/scratch/tmp/gY2oRdw", "rc": 0, "wall_seconds": 3.472, "log": "/mnt/storage/scratch/tmp/gtrB9gF/records/cli-verbs.test.log", "counts": {"tests": 9, "pass": 9, "fail": 0, "cancelled": 0, "skipped": 0, "todo": 0}, "skip_lines": []}
|
|
GREEN all stages
|