439 lines
16 KiB
Plaintext
439 lines
16 KiB
Plaintext
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: 132.435365
|
|
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: 797.197859
|
|
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: 5019.014579
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 protected homes refuse before any filesystem access
|
|
ok 4 - row253 protected homes refuse before any filesystem access
|
|
---
|
|
duration_ms: 9.061384
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 query reaps its group even when a child closes stdout before the query returns
|
|
ok 5 - row253 query reaps its group even when a child closes stdout before the query returns
|
|
---
|
|
duration_ms: 115.345379
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 config parser is strict and output capture is bounded
|
|
ok 6 - row253 config parser is strict and output capture is bounded
|
|
---
|
|
duration_ms: 23.15376
|
|
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 7 - a clean library render writes both units 0644 with the fixed lines, and enables both then starts the bus then the Console
|
|
---
|
|
duration_ms: 141.214877
|
|
type: 'test'
|
|
...
|
|
# Subtest: PATH starts with the --node directory, for a node outside the default list and for /usr/bin/node
|
|
ok 8 - PATH starts with the --node directory, for a node outside the default list and for /usr/bin/node
|
|
---
|
|
duration_ms: 146.051567
|
|
type: 'test'
|
|
...
|
|
# Subtest: a failed bus start refuses with the Console not started
|
|
ok 9 - a failed bus start refuses with the Console not started
|
|
---
|
|
duration_ms: 124.104581
|
|
type: 'test'
|
|
...
|
|
# Subtest: the script never links a unit file
|
|
ok 10 - the script never links a unit file
|
|
---
|
|
duration_ms: 0.246216
|
|
type: 'test'
|
|
...
|
|
# Subtest: factory renders --pm once and one MOSAIC_CLAUDE_BIN line, and without them both tokens render empty
|
|
ok 11 - factory renders --pm once and one MOSAIC_CLAUDE_BIN line, and without them both tokens render empty
|
|
---
|
|
duration_ms: 327.833116
|
|
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 12 - 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: 505.964621
|
|
type: 'test'
|
|
...
|
|
# Subtest: a re-install to another copy re-renders both units, and an edited installed unit refuses
|
|
ok 13 - a re-install to another copy re-renders both units, and an edited installed unit refuses
|
|
---
|
|
duration_ms: 1287.241694
|
|
type: 'test'
|
|
...
|
|
# Subtest: a template with a namespace, user or system call restriction refuses
|
|
ok 14 - a template with a namespace, user or system call restriction refuses
|
|
---
|
|
duration_ms: 321.335614
|
|
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 15 - the bus template's EnvironmentFile line must be there and point at the session env, and the Console template must have none
|
|
---
|
|
duration_ms: 193.850726
|
|
type: 'test'
|
|
...
|
|
# Subtest: a template holding an unknown token, PermissionsStartOnly or a privileged Exec prefix refuses
|
|
ok 16 - a template holding an unknown token, PermissionsStartOnly or a privileged Exec prefix refuses
|
|
---
|
|
duration_ms: 140.147839
|
|
type: 'test'
|
|
...
|
|
# Subtest: a symlink at either unit path refuses
|
|
ok 17 - a symlink at either unit path refuses
|
|
---
|
|
duration_ms: 195.685231
|
|
type: 'test'
|
|
...
|
|
# Subtest: a --node that is relative, not root-owned or under <home> refuses
|
|
ok 18 - a --node that is relative, not root-owned or under <home> refuses
|
|
---
|
|
duration_ms: 18.516446
|
|
type: 'test'
|
|
...
|
|
# Subtest: a re-install with a different --node or different serve flags refuses
|
|
ok 19 - a re-install with a different --node or different serve flags refuses
|
|
---
|
|
duration_ms: 498.049246
|
|
type: 'test'
|
|
...
|
|
# Subtest: an installed pair whose units name different copies refuses
|
|
ok 20 - an installed pair whose units name different copies refuses
|
|
---
|
|
duration_ms: 263.546862
|
|
type: 'test'
|
|
...
|
|
# Subtest: a copy id that is short, uppercase, holds / or .., or names no directory refuses
|
|
ok 21 - a copy id that is short, uppercase, holds / or .., or names no directory refuses
|
|
---
|
|
duration_ms: 28.858172
|
|
type: 'test'
|
|
...
|
|
# Subtest: library refuses a privileged-floor miss, a bad proof pair and every flag outside its set
|
|
ok 22 - library refuses a privileged-floor miss, a bad proof pair and every flag outside its set
|
|
---
|
|
duration_ms: 337.498348
|
|
type: 'test'
|
|
...
|
|
# Subtest: library refuses a proof file not owned by <user>'s uid
|
|
ok 23 - library refuses a proof file not owned by <user>'s uid
|
|
---
|
|
duration_ms: 18.402855
|
|
type: 'test'
|
|
...
|
|
# Subtest: factory refuses duplicate socket, a missing --port or --business, and each proxy flag
|
|
ok 24 - factory refuses duplicate socket, a missing --port or --business, and each proxy flag
|
|
---
|
|
duration_ms: 258.559063
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 factory refuses retired TCP and a value after the socket marker
|
|
ok 25 - row253 factory refuses retired TCP and a value after the socket marker
|
|
---
|
|
duration_ms: 37.348428
|
|
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 26 - factory refuses a --claude that is relative, not root-owned or under <home>, and a re-install with another --pm or --claude
|
|
---
|
|
duration_ms: 711.047609
|
|
type: 'test'
|
|
...
|
|
# Subtest: the precheck passes on a good host and prints free memory, without the key
|
|
ok 27 - the precheck passes on a good host and prints free memory, without the key
|
|
---
|
|
duration_ms: 101.995503
|
|
type: 'test'
|
|
...
|
|
# Subtest: the precheck refuses each failed host check
|
|
ok 28 - the precheck refuses each failed host check
|
|
---
|
|
duration_ms: 923.980506
|
|
type: 'test'
|
|
...
|
|
# Subtest: the precheck refuses a user missing from passwd, a business file that does not load, and a symlinked run root
|
|
ok 29 - the precheck refuses a user missing from passwd, a business file that does not load, and a symlinked run root
|
|
---
|
|
duration_ms: 474.734266
|
|
type: 'test'
|
|
...
|
|
# Subtest: a bwrap that fails refuses and prints the sysctl and where bwrap is
|
|
ok 30 - a bwrap that fails refuses and prints the sysctl and where bwrap is
|
|
---
|
|
duration_ms: 113.948305
|
|
type: 'test'
|
|
...
|
|
# Subtest: an unprivileged port floor at or below the Console's port refuses, and so does a missing Console unit
|
|
ok 31 - an unprivileged port floor at or below the Console's port refuses, and so does a missing Console unit
|
|
---
|
|
duration_ms: 573.723749
|
|
type: 'test'
|
|
...
|
|
# Subtest: bus.tester: library refuses it on, factory needs it on, and factory refuses a library business
|
|
ok 32 - bus.tester: library refuses it on, factory needs it on, and factory refuses a library business
|
|
---
|
|
duration_ms: 430.704473
|
|
type: 'test'
|
|
...
|
|
# Subtest: the claude check runs only for a claude-code instance, and refuses a claude that appends or answers wrong
|
|
ok 33 - the claude check runs only for a claude-code instance, and refuses a claude that appends or answers wrong
|
|
---
|
|
duration_ms: 925.906653
|
|
type: 'test'
|
|
...
|
|
# Subtest: the claude check runs the bus unit's MOSAIC_CLAUDE_BIN over claude on PATH
|
|
ok 34 - the claude check runs the bus unit's MOSAIC_CLAUDE_BIN over claude on PATH
|
|
---
|
|
duration_ms: 323.064137
|
|
type: 'test'
|
|
...
|
|
# Subtest: the session env file refuses when missing, open to others, a symlink, empty, or emptied by a later line
|
|
ok 35 - the session env file refuses when missing, open to others, a symlink, empty, or emptied by a later line
|
|
---
|
|
duration_ms: 648.564142
|
|
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 36 - inside a session's sandbox a bind below 1024 fails with EACCES, and a bind on a free high port succeeds
|
|
---
|
|
duration_ms: 83.219239
|
|
type: 'test'
|
|
...
|
|
1..36
|
|
# tests 36
|
|
# suites 0
|
|
# pass 36
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 16390.640047
|
|
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: 396.204835
|
|
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: 5723.887313
|
|
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: 347.545503
|
|
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: 3355.91345
|
|
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: 736.058604
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: every check passing exits 0, with each P mark and counts that match the lines
|
|
ok 6 - row 195 accept: every check passing exits 0, with each P mark and counts that match the lines
|
|
---
|
|
duration_ms: 483.484669
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: exits 1 with each F check failing alone, and its line names it
|
|
ok 7 - row 195 accept: exits 1 with each F check failing alone, and its line names it
|
|
---
|
|
duration_ms: 6811.656176
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: F3 fails on exit 0 with no reply line, and its evidence takes talk's error
|
|
ok 8 - row 195 accept: F3 fails on exit 0 with no reply line, and its evidence takes talk's error
|
|
---
|
|
duration_ms: 941.137827
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: F1 fails on a unit that isn't active or isn't User=mosaic
|
|
ok 9 - row 195 accept: F1 fails on a unit that isn't active or isn't User=mosaic
|
|
---
|
|
duration_ms: 808.711667
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: F2 fails when healthz doesn't answer and when another pid holds the port
|
|
ok 10 - row 195 accept: F2 fails when healthz doesn't answer and when another pid holds the port
|
|
---
|
|
duration_ms: 835.060348
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: F5 fails on unpriv_bwrap (enforce), on complain and on a trailing space
|
|
ok 11 - row 195 accept: F5 fails on unpriv_bwrap (enforce), on complain and on a trailing space
|
|
---
|
|
duration_ms: 1484.288351
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: F5 fails with no bwrap of mosaic's, and passes on comm alone
|
|
ok 12 - row 195 accept: F5 fails with no bwrap of mosaic's, and passes on comm alone
|
|
---
|
|
duration_ms: 766.459815
|
|
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 13 - row 195 accept: F6 fails on a stub that prints nothing, on a path outside claude-<pin> and on a .. segment
|
|
---
|
|
duration_ms: 1221.881418
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: F7 fails on two live PM launches, one for another business, and no launch.by
|
|
ok 14 - row 195 accept: F7 fails on two live PM launches, one for another business, and no launch.by
|
|
---
|
|
duration_ms: 1221.342472
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: F8 fails on 0640, on another owner and on a symlink, and never prints the credential
|
|
ok 15 - row 195 accept: F8 fails on 0640, on another owner and on a symlink, and never prints the credential
|
|
---
|
|
duration_ms: 1158.187125
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: F9 fails on another owner, a group-writable mode and a number for the flag
|
|
ok 16 - row 195 accept: F9 fails on another owner, a group-writable mode and a number for the flag
|
|
---
|
|
duration_ms: 1098.565819
|
|
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 17 - row 195 accept: F9 won't run --node as root off the pin path or with a writable directory above it
|
|
---
|
|
duration_ms: 961.362651
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: F11 fails on one *.json under discord/ and passes on an empty directory
|
|
ok 18 - row 195 accept: F11 fails on one *.json under discord/ and passes on an empty directory
|
|
---
|
|
duration_ms: 704.76542
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: each P check reports unnamed on its fault, and the exit stays 0
|
|
ok 19 - row 195 accept: each P check reports unnamed on its fault, and the exit stays 0
|
|
---
|
|
duration_ms: 3227.211852
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: P2 is unnamed with a supplementary group, and P5 names docker
|
|
ok 20 - row 195 accept: P2 is unnamed with a supplementary group, and P5 names docker
|
|
---
|
|
duration_ms: 703.880201
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: P5 is closed with no jarvis account, and P2 with an empty authorized_keys
|
|
ok 21 - row 195 accept: P5 is closed with no jarvis account, and P2 with an empty authorized_keys
|
|
---
|
|
duration_ms: 334.602101
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: P9 is unnamed once for each item missing
|
|
ok 22 - row 195 accept: P9 is unnamed once for each item missing
|
|
---
|
|
duration_ms: 1926.83399
|
|
type: 'test'
|
|
...
|
|
# Subtest: row253 accept: P10 fails its observation with another peer; P11 with the unit disabled
|
|
ok 23 - row253 accept: P10 fails its observation with another peer; P11 with the unit disabled
|
|
---
|
|
duration_ms: 852.386775
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: every P check unnamed together still exits 0
|
|
ok 24 - row 195 accept: every P check unnamed together still exits 0
|
|
---
|
|
duration_ms: 377.4643
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: a bad args file refuses with exit 2 before any check, each for its own reason
|
|
ok 25 - row 195 accept: a bad args file refuses with exit 2 before any check, each for its own reason
|
|
---
|
|
duration_ms: 114.535069
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: usage errors and a run without --root as a user exit 2
|
|
ok 26 - row 195 accept: usage errors and a run without --root as a user exit 2
|
|
---
|
|
duration_ms: 11.207884
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: every in-instance call goes through sudo -u mosaic -H env PATH=<node dir>:...
|
|
ok 27 - row 195 accept: every in-instance call goes through sudo -u mosaic -H env PATH=<node dir>:...
|
|
---
|
|
duration_ms: 381.708095
|
|
type: 'test'
|
|
...
|
|
# Subtest: row 195 accept: the host check runs with --check and never --enforce
|
|
ok 28 - row 195 accept: the host check runs with --check and never --enforce
|
|
---
|
|
duration_ms: 383.518219
|
|
type: 'test'
|
|
...
|
|
1..28
|
|
# tests 28
|
|
# suites 0
|
|
# pass 28
|
|
# fail 0
|
|
# cancelled 0
|
|
# skipped 0
|
|
# todo 0
|
|
# duration_ms 37490.148039
|
|
{
|
|
"grant": "sage-2297",
|
|
"stage": "green",
|
|
"steps": [
|
|
{
|
|
"code": 0,
|
|
"timeout": false,
|
|
"seconds": 16.449,
|
|
"log": "agents/gander/work/queue-253/run2/green/focused-1.log",
|
|
"name": "focused-1",
|
|
"expected_red": false,
|
|
"counts": {
|
|
"tests": 36,
|
|
"pass": 36,
|
|
"fail": 0,
|
|
"skipped": 0
|
|
}
|
|
},
|
|
{
|
|
"code": 0,
|
|
"timeout": false,
|
|
"seconds": 37.55,
|
|
"log": "agents/gander/work/queue-253/run2/green/focused-2.log",
|
|
"name": "focused-2",
|
|
"expected_red": false,
|
|
"counts": {
|
|
"tests": 28,
|
|
"pass": 28,
|
|
"fail": 0,
|
|
"skipped": 0
|
|
}
|
|
}
|
|
]
|
|
}
|