docs(row293): record green integrated trace and whole suites
This commit is contained in:
1 parent
78bbe12233
commit
e51d116402
253 files changed
+130944
-3
No files matched your search
@@ -86,3 +86,7 @@ Static diagnosis in gander-0176: my harness nested TMPDIR by stage, making lifec
|
||||
sage-3138 classified run 1 as a harness fault, not a candidate/lifecycle red. Rebased under new branch gander/v574-r2 onto b23783f39, retaining the original branch. The four test files and session.mjs have zero upstream drift, and the four-commit range-diff is unchanged. Manifest cdda41f5 remains unchanged and all entries verify.
|
||||
|
||||
Run 2 starts over at P1 with nothing carried: controls, four traced files, all eight seat and 56 CLI files. Corrected harness allocates each stage's TMPDIR with mktemp -d /mnt/storage/scratch/tmp/gXXXXXX, directly in scratch; logs/traces remain separate. lifecycle's expected tools.sock path is 95 bytes, replacing run 1's 120, below the 107-byte product limit. This is a harness-only correction and no test or assertion changed. The previous pre-recorded limits remain. Start load under 4; any second red stops to Sage/Mos before any change. Integration and harness records are in integration-r2/.
|
||||
|
||||
## Run 2 GREEN, 2026-10-23 03:06:43Z
|
||||
|
||||
Fresh on 6bfab273b / cdda41f5 under sage-3138, started at load 3.80. Controls pass; four traced files 153/0/0 in 45.855 s, seat whole 202/0/0 in 22.687 s, CLI whole 905/0/0 in 1367.764 s. Total window 1564 s. The integrated census is 10 seat and 58 CLI files: the new base added two files to each package; every printed file ran whole. No timeout, skip, cancellation or todo. Final cwd/Node/tee sweep zero. Every trace stage's Git writer set is empty before counting. Both flags occur on all 312 actual traced commits, with zero maintenance children; unflagged positive control has one commit and one maintenance child, flagged control one commit and zero children. Raw driver token-count 313 included one hash-object -t commit; cmd_name=commit reconciles it to 312 in TRACE-COUNTS.json, with no change to the zero-maintenance finding. Full logs, command/guard records, reconstructable raw traces, results and timings are committed in run2/. No prior run result carried and no product, assertion or fingerprint changed.
|
||||
@@ -4,12 +4,17 @@
|
||||
"gate": "sage",
|
||||
"base": "062646487451993302c768c6812b827c834e952b",
|
||||
"source": "65e919e5cef30911b9902f410549da431423cec4",
|
||||
"branch": "gander/v574",
|
||||
"branch": "gander/v574-r2",
|
||||
"manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3",
|
||||
"tests": "Run 1 STOP: lifecycle 13/11; nested harness TMPDIR exceeds tools.sock bound. No retry.",
|
||||
"tests": "GREEN run 2: focused 153/0/0, seat whole 202/0/0, CLI whole 905/0/0. Trace: 312 actual commits, zero maintenance children; positive control 1 child.",
|
||||
"scope_authority": [
|
||||
"mos-1369",
|
||||
"sage-3110",
|
||||
"mos-1370"
|
||||
]
|
||||
],
|
||||
"issue": 1805,
|
||||
"integrated_base": "b23783f3951e5b750ef49cd0c2d7353640ea6899",
|
||||
"integrated_source": "a61fa3043",
|
||||
"tested_head": "6bfab273b59a4fa6dc9c468a086ff281f435e572",
|
||||
"records": "run2/"
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
# Row 293 / Vikunja 574 run 2
|
||||
|
||||
GREEN on tested HEAD 6bfab273b59a4fa6dc9c468a086ff281f435e572, base b23783f39, manifest cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3. Start 02:40:39Z, finish 03:06:43Z (1564 s). Start load 3.80. Grant sage-3138. Fresh run; no run 1 result carried.
|
||||
|
||||
| Stage | Files | Pass | Fail | Skip | Wall seconds |
|
||||
| --- | ---: | ---: | ---: | ---: | ---: |
|
||||
| Traced touched files | 4 | 153 | 0 | 0 | 45.855 |
|
||||
| Seat whole | 10 | 202 | 0 | 0 | 22.687 |
|
||||
| CLI whole | 58 | 905 | 0 | 0 | 1367.764 |
|
||||
|
||||
No timeout, cancellation or todo. All 10 seat and 58 CLI files printed in the preamble ran whole. The integrated base adds compactions-budget and compactions to seat, and compactions-launch and session-clear to CLI; all are covered. Controls also passed (0.064 s each). Every Node test uses timeout -k 10 and its recorded bound. Every start has a CLEAR busy record. Every stage TMPDIR is directly under /mnt/storage/scratch/tmp/gXXXXXX. The final scratch and worktree Node/tee sweep is zero. No named skips: none occurred, including the sandbox bind-below-1024 case.
|
||||
|
||||
| Trace | Actual commit commands | Both flags | Maintenance child_start |
|
||||
| --- | ---: | ---: | ---: |
|
||||
| Positive control | 1 | 0 | 1 |
|
||||
| Flagged control | 1 | 1 | 0 |
|
||||
| checkout whole | 173 | 173 | 0 |
|
||||
| working whole | 69 | 69 | 0 |
|
||||
| git-socket whole | 45 | 45 | 0 |
|
||||
| lifecycle whole | 25 | 25 | 0 |
|
||||
|
||||
P1-P5 hold. Controls import the actual gitEnv(); the scratch shim injects tracing after its environment scrub and chains to /usr/bin/git 2.55.0. Per-process JSON events were counted only after each traced stage's Git cwd writer set was empty. The stable shim was retained throughout. All 312 actual commits across the four whole files carry both flags and spawn zero maintenance children. The positive control proves maintenance detection is non-vacuous.
|
||||
|
||||
Count reconciliation: raw driver results call every start argv containing the token `commit` a commit. In working, one is `hash-object -t commit -w --literally --stdin`, not a commit command. TRACE-COUNTS.json uses `cmd_name=commit`, pairs it with start argv to prove both flags, and excludes that one type argument. Thus actual commits are 69 in working, 312 total, rather than the initial token-based 70/313. Maintenance counts are unchanged. Raw results are preserved, not rewritten.
|
||||
|
||||
Raw per-process event files are concatenated unedited in *.events.jsonl. TRACE-INDEX.json preserves original filenames, byte offsets, lengths and hashes, so each is exactly reconstructable. Command, busy, sweep and per-file TAP records accompany results.json and SUMMARY.json. The original scratch remains available at /mnt/storage/scratch/tmp/gtrB9gF. All post-test candidate edits are records only; the four manifest blobs remain unchanged.
|
||||
@@ -0,0 +1,43 @@
|
||||
{
|
||||
"status": "GREEN",
|
||||
"head": "6bfab273b59a4fa6dc9c468a086ff281f435e572",
|
||||
"manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3",
|
||||
"started_utc": "2026-10-23T02:40:39Z",
|
||||
"finished_utc": "2026-10-23T03:06:43Z",
|
||||
"counts": {
|
||||
"focused": {
|
||||
"pass": 153,
|
||||
"fail": 0,
|
||||
"skipped": 0,
|
||||
"cancelled": 0,
|
||||
"todo": 0
|
||||
},
|
||||
"seat_whole": {
|
||||
"pass": 202,
|
||||
"fail": 0,
|
||||
"skipped": 0,
|
||||
"cancelled": 0,
|
||||
"todo": 0
|
||||
},
|
||||
"cli_whole": {
|
||||
"pass": 905,
|
||||
"fail": 0,
|
||||
"skipped": 0,
|
||||
"cancelled": 0,
|
||||
"todo": 0
|
||||
}
|
||||
},
|
||||
"stage_seconds": {
|
||||
"focused": 45.855,
|
||||
"seat_whole": 22.687,
|
||||
"cli_whole": 1367.764
|
||||
},
|
||||
"file_counts": {
|
||||
"seat": 10,
|
||||
"cli": 58
|
||||
},
|
||||
"timeouts": 0,
|
||||
"sweep_count": 0,
|
||||
"skips": [],
|
||||
"proof_commit_counts": "TRACE-COUNTS.json uses cmd_name=commit; raw driver counts a commit-type hash-object once in working."
|
||||
}
|
||||
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1 @@
|
||||
CLEAR
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
@@ -0,0 +1,196 @@
|
||||
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
|
||||
@@ -0,0 +1 @@
|
||||
CLEAR
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
@@ -0,0 +1,190 @@
|
||||
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
|
||||
@@ -0,0 +1,3 @@
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2510619/cmdline: No such file or directory
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2510741/cmdline: No such file or directory
|
||||
CLEAR
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
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
|
||||
@@ -0,0 +1,4 @@
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2514686/cmdline: No such file or directory
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2514760/cmdline: No such file or directory
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2514804/cmdline: No such file or directory
|
||||
CLEAR
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
@@ -0,0 +1,314 @@
|
||||
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
|
||||
@@ -0,0 +1,2 @@
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2675672/cmdline: No such file or directory
|
||||
CLEAR
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
@@ -0,0 +1,106 @@
|
||||
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
|
||||
@@ -0,0 +1,2 @@
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2669779/cmdline: No such file or directory
|
||||
CLEAR
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
@@ -0,0 +1,94 @@
|
||||
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
|
||||
@@ -0,0 +1,2 @@
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2688341/cmdline: No such file or directory
|
||||
CLEAR
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
@@ -0,0 +1,268 @@
|
||||
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
|
||||
@@ -0,0 +1,3 @@
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2705986/cmdline: No such file or directory
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2720890/cmdline: No such file or directory
|
||||
CLEAR
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
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
|
||||
@@ -0,0 +1,2 @@
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2724982/cmdline: No such file or directory
|
||||
CLEAR
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
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
|
||||
@@ -0,0 +1,2 @@
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2718888/cmdline: No such file or directory
|
||||
CLEAR
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
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
|
||||
@@ -0,0 +1,6 @@
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2734470/cmdline: No such file or directory
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2734471/cmdline: No such file or directory
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2734483/cmdline: No such file or directory
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2734484/cmdline: No such file or directory
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2734485/cmdline: No such file or directory
|
||||
CLEAR
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
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
|
||||
@@ -0,0 +1,3 @@
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2729884/cmdline: No such file or directory
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2740110/cmdline: No such file or directory
|
||||
CLEAR
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
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
|
||||
@@ -0,0 +1,2 @@
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2739538/cmdline: No such file or directory
|
||||
CLEAR
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
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
|
||||
@@ -0,0 +1,3 @@
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2740109/cmdline: No such file or directory
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2750637/cmdline: No such file or directory
|
||||
CLEAR
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
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
|
||||
@@ -0,0 +1 @@
|
||||
CLEAR
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
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
|
||||
@@ -0,0 +1,2 @@
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2697551/cmdline: No such file or directory
|
||||
CLEAR
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
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
|
||||
@@ -0,0 +1 @@
|
||||
CLEAR
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
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
|
||||
@@ -0,0 +1,10 @@
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2765847/cmdline: No such file or directory
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2770202/cmdline: No such file or directory
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2773282/cmdline: No such file or directory
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2774106/cmdline: No such file or directory
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2774108/cmdline: No such file or directory
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2774629/cmdline: No such file or directory
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2774679/cmdline: No such file or directory
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2774702/cmdline: No such file or directory
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2774703/cmdline: No such file or directory
|
||||
CLEAR
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
@@ -0,0 +1,89 @@
|
||||
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
|
||||
@@ -0,0 +1 @@
|
||||
CLEAR
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
@@ -0,0 +1,94 @@
|
||||
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
|
||||
@@ -0,0 +1 @@
|
||||
CLEAR
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
@@ -0,0 +1,88 @@
|
||||
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
|
||||
@@ -0,0 +1 @@
|
||||
CLEAR
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
@@ -0,0 +1,154 @@
|
||||
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
|
||||
@@ -0,0 +1,9 @@
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2793481/cmdline: No such file or directory
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2793484/cmdline: No such file or directory
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2793486/cmdline: No such file or directory
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2793489/cmdline: No such file or directory
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2793491/cmdline: No such file or directory
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2793492/cmdline: No such file or directory
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2793497/cmdline: No such file or directory
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2793498/cmdline: No such file or directory
|
||||
CLEAR
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
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
|
||||
@@ -0,0 +1,8 @@
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2797251/cmdline: No such file or directory
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2797254/cmdline: No such file or directory
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2797255/cmdline: No such file or directory
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2797256/cmdline: No such file or directory
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2797257/cmdline: No such file or directory
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2797258/cmdline: No such file or directory
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2797259/cmdline: No such file or directory
|
||||
CLEAR
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
@@ -0,0 +1,268 @@
|
||||
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
|
||||
@@ -0,0 +1,9 @@
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2806166/cmdline: No such file or directory
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2806186/cmdline: No such file or directory
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2806190/cmdline: No such file or directory
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2806191/cmdline: No such file or directory
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2806192/cmdline: No such file or directory
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2806219/cmdline: No such file or directory
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2806220/cmdline: No such file or directory
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2806222/cmdline: No such file or directory
|
||||
CLEAR
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
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
|
||||
@@ -0,0 +1,2 @@
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2810589/cmdline: No such file or directory
|
||||
CLEAR
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
@@ -0,0 +1,96 @@
|
||||
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
|
||||
@@ -0,0 +1,7 @@
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2804946/cmdline: No such file or directory
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2815829/cmdline: No such file or directory
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2815867/cmdline: No such file or directory
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2815881/cmdline: No such file or directory
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2815902/cmdline: No such file or directory
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2815911/cmdline: No such file or directory
|
||||
CLEAR
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
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
|
||||
@@ -0,0 +1,8 @@
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2319302/cmdline: No such file or directory
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2319305/cmdline: No such file or directory
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2805725/cmdline: No such file or directory
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2820755/cmdline: No such file or directory
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2820809/cmdline: No such file or directory
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2820814/cmdline: No such file or directory
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2820815/cmdline: No such file or directory
|
||||
CLEAR
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
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
|
||||
@@ -0,0 +1,3 @@
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2825303/cmdline: No such file or directory
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2825330/cmdline: No such file or directory
|
||||
CLEAR
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
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
|
||||
@@ -0,0 +1,2 @@
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2829386/cmdline: No such file or directory
|
||||
CLEAR
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
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
|
||||
@@ -0,0 +1,2 @@
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2833337/cmdline: No such file or directory
|
||||
CLEAR
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
@@ -0,0 +1,229 @@
|
||||
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
|
||||
@@ -0,0 +1,4 @@
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2840798/cmdline: No such file or directory
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2842543/cmdline: No such file or directory
|
||||
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2842544/cmdline: No such file or directory
|
||||
CLEAR
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
@@ -0,0 +1,161 @@
|
||||
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
|
||||
@@ -0,0 +1 @@
|
||||
CLEAR
|
||||
Loaded 100 of 253 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user