TAP version 13 # Subtest: T1 adopt writes the pointer from the units once; a failing check refuses check-failed ok 1 - T1 adopt writes the pointer from the units once; a failing check refuses check-failed --- duration_ms: 1396.009469 type: 'test' ... # Subtest: T2 activate installs exactly the pointer's pm, claude and Console flags ok 2 - T2 activate installs exactly the pointer's pm, claude and Console flags --- duration_ms: 2249.171524 type: 'test' ... # Subtest: T3 a hand-edited unit refuses unit-flags-drift, names the difference and changes nothing # Subtest: pm ok 1 - pm --- duration_ms: 894.252014 type: 'test' ... # Subtest: claude ok 2 - claude --- duration_ms: 946.799658 type: 'test' ... # Subtest: console ok 3 - console --- duration_ms: 922.775662 type: 'test' ... 1..3 ok 3 - T3 a hand-edited unit refuses unit-flags-drift, names the difference and changes nothing --- duration_ms: 2764.656459 type: 'test' ... # Subtest: T4 each item 3 refusal changes nothing and logs one line with its code # Subtest: copy-missing ok 1 - copy-missing --- duration_ms: 870.352492 type: 'test' ... # Subtest: copy-unreachable ok 2 - copy-unreachable --- duration_ms: 789.292274 type: 'test' ... # Subtest: copy-schema-unknown ok 3 - copy-schema-unknown --- duration_ms: 811.194279 type: 'test' ... # Subtest: already-active ok 4 - already-active --- duration_ms: 813.448729 type: 'test' ... # Subtest: instance-busy (another business active) ok 5 - instance-busy (another business active) --- duration_ms: 931.831046 type: 'test' ... # Subtest: instance-busy (this business activating) ok 6 - instance-busy (this business activating) --- duration_ms: 803.141227 type: 'test' ... # Subtest: drop-in-override ok 7 - drop-in-override --- duration_ms: 896.445997 type: 'test' ... # Subtest: no-pointer ok 8 - no-pointer --- duration_ms: 455.676455 type: 'test' ... 1..8 ok 4 - T4 each item 3 refusal changes nothing and logs one line with its code --- duration_ms: 6373.714458 type: 'test' ... # Subtest: T5 an activate with no migration stops the Console then the bus, installs, starts the bus then the Console ok 5 - T5 an activate with no migration stops the Console then the bus, installs, starts the bus then the Console --- duration_ms: 2015.850809 type: 'test' ... # Subtest: T6 a migration without --migrate rolls back with migration-needs-flag ok 6 - T6 a migration without --migrate rolls back with migration-needs-flag --- duration_ms: 1980.294486 type: 'test' ... # Subtest: T7 --migrate takes the backup before the migration runs ok 7 - T7 --migrate takes the backup before the migration runs --- duration_ms: 2077.339988 type: 'test' ... # Subtest: T8 a failed migration restores the backup and keeps the store it replaced ok 8 - T8 a failed migration restores the backup and keeps the store it replaced --- duration_ms: 2344.869163 type: 'test' ... # Subtest: T9 a store outside the target's chain rolls back with store-newer ok 9 - T9 a store outside the target's chain rolls back with store-newer --- duration_ms: 2057.80714 type: 'test' ... # Subtest: T10 each gate check failing alone rolls back and puts every file back # Subtest: units-inactive ok 1 - units-inactive --- duration_ms: 5439.917262 type: 'test' ... # Subtest: bus-status ok 2 - bus-status --- duration_ms: 5184.65157 type: 'test' ... # Subtest: healthz ok 3 - healthz --- duration_ms: 5151.371445 type: 'test' ... # Subtest: copy-check ok 4 - copy-check --- duration_ms: 5308.783979 type: 'test' ... # Subtest: pm-launch-unconfirmed ok 5 - pm-launch-unconfirmed --- duration_ms: 5361.722543 type: 'test' ... 1..5 ok 10 - T10 each gate check failing alone rolls back and puts every file back --- duration_ms: 26447.519804 type: 'test' ... # Subtest: T10b the PM check needs exactly one launched line for a live run of this start # Subtest: no launched line ok 1 - no launched line --- duration_ms: 5649.636067 type: 'test' ... # Subtest: two lines ok 2 - two lines --- duration_ms: 5756.346749 type: 'test' ... # Subtest: a changed word ok 3 - a changed word --- duration_ms: 5814.824362 type: 'test' ... # Subtest: run not in launches list ok 4 - run not in launches list --- duration_ms: 6020.290703 type: 'test' ... # Subtest: run started before the start ok 5 - run started before the start --- duration_ms: 6000.172763 type: 'test' ... # Subtest: a human launch with no journal line ok 6 - a human launch with no journal line --- duration_ms: 5895.922383 type: 'test' ... # Subtest: run for another business ok 7 - run for another business --- duration_ms: 5771.227709 type: 'test' ... # Subtest: run not live ok 8 - run not live --- duration_ms: 5982.78804 type: 'test' ... # Subtest: one well-formed line and a live run pass ok 9 - one well-formed line and a live run pass --- duration_ms: 2443.466425 type: 'test' ... 1..9 ok 11 - T10b the PM check needs exactly one launched line for a live run of this start --- duration_ms: 49336.471748 type: 'test' ... # Subtest: T11 a rollback whose gate fails too: rollback-failed, exit 2, both units stopped, no retry ok 12 - T11 a rollback whose gate fails too: rollback-failed, exit 2, both units stopped, no retry --- duration_ms: 7427.827166 type: 'test' ... # Subtest: T12 rollback takes the previous copy from the log ok 13 - T12 rollback takes the previous copy from the log --- duration_ms: 3427.351844 type: 'test' ... # Subtest: T13 a rollback across a migration needs --restore, then restores and goes live ok 14 - T13 a rollback across a migration needs --restore, then restores and goes live --- duration_ms: 4121.775021 type: 'test' ... # Subtest: T14 events written after the backup need --events N with the right N ok 15 - T14 events written after the backup need --events N with the right N --- duration_ms: 5314.679874 type: 'test' ... # Subtest: T14b a rollback --restore whose gate fails stops both units and skips item 6 ok 16 - T14b a rollback --restore whose gate fails stops both units and skips item 6 --- duration_ms: 7647.696666 type: 'test' ... # Subtest: T14c a rollback without --restore whose gate fails runs item 6 ok 17 - T14c a rollback without --restore whose gate fails runs item 6 --- duration_ms: 7041.236524 type: 'test' ... # Subtest: T15 --plan names the migration and the restore and changes nothing ok 18 - T15 --plan names the migration and the restore and changes nothing --- duration_ms: 2942.881655 type: 'test' ... # Subtest: T26 --plan lists the commits an activate adds, after the migration lines ok 19 - T26 --plan lists the commits an activate adds, after the migration lines --- duration_ms: 1547.328626 type: 'test' ... # Subtest: T27 --plan names each migration step, or says the steps cannot be read ok 20 - T27 --plan names each migration step, or says the steps cannot be read --- duration_ms: 1115.258101 type: 'test' ... # Subtest: T25 --plan refuses copies-unrelated when neither copy is an ancestor of the other ok 21 - T25 --plan refuses copies-unrelated when neither copy is an ancestor of the other --- duration_ms: 563.85219 type: 'test' ... # Subtest: T23 --plan reads the store without changing a file, stopped or held # Subtest: stopped store ok 1 - stopped store --- duration_ms: 705.96752 type: 'test' ... # Subtest: held store ok 2 - held store --- duration_ms: 667.282556 type: 'test' ... 1..2 ok 22 - T23 --plan reads the store without changing a file, stopped or held --- duration_ms: 1373.847733 type: 'test' ... # Subtest: T24 business-mismatch and capture-failed refuse with exit 3; a short id is a usage error ok 23 - T24 business-mismatch and capture-failed refuse with exit 3; a short id is a usage error --- duration_ms: 1590.235977 type: 'test' ... # Subtest: T16 status prints the pointer, the log, the check, bus status and drift, and writes nothing ok 24 - T16 status prints the pointer, the log, the check, bus status and drift, and writes nothing --- duration_ms: 1058.052554 type: 'test' ... # Subtest: T19 a started line with no final line: status shows it and every changing verb refuses ok 25 - T19 a started line with no final line: status shows it and every changing verb refuses --- duration_ms: 1589.894346 type: 'test' ... # Subtest: T20 a held run lock refuses run-locked without a log line; status and --plan still run ok 26 - T20 a held run lock refuses run-locked without a log line; status and --plan still run --- duration_ms: 1613.361913 type: 'test' ... # Subtest: T21 a bus unit with no MOSAIC_CLAUDE_BIN: adopt and activate refuse no-claude-pin ok 27 - T21 a bus unit with no MOSAIC_CLAUDE_BIN: adopt and activate refuse no-claude-pin --- duration_ms: 1575.294933 type: 'test' ... # Subtest: T22 the stopped store read: a -wal or -shm refuses store-unclean and is left alone; a clean read adds no file # Subtest: bus.sqlite-wal ok 1 - bus.sqlite-wal --- duration_ms: 2018.006043 type: 'test' ... # Subtest: bus.sqlite-shm ok 2 - bus.sqlite-shm --- duration_ms: 1977.211581 type: 'test' ... # Subtest: clean ok 3 - clean --- duration_ms: 2354.735429 type: 'test' ... 1..3 ok 28 - T22 the stopped store read: a -wal or -shm refuses store-unclean and is left alone; a clean read adds no file --- duration_ms: 6350.747717 type: 'test' ... # Subtest: T28 a unit path, drop-in directory or drop-in file that cannot be read, or a relative unit path, refuses drop-in-override before any stop # Subtest: unit path ok 1 - unit path --- duration_ms: 871.42352 type: 'test' ... # Subtest: drop-in directory ok 2 - drop-in directory --- duration_ms: 872.20049 type: 'test' ... # Subtest: drop-in file ok 3 - drop-in file --- duration_ms: 866.241863 type: 'test' ... # Subtest: relative unit path ok 4 - relative unit path --- duration_ms: 983.473358 type: 'test' ... 1..4 ok 29 - T28 a unit path, drop-in directory or drop-in file that cannot be read, or a relative unit path, refuses drop-in-override before any stop --- duration_ms: 3594.32368 type: 'test' ... # Subtest: T29 a bus that stops during the held-store read: --plan says so, rollback --restore refuses restore-mismatch # Subtest: --plan ok 1 - --plan --- duration_ms: 1236.439769 type: 'test' ... # Subtest: rollback --restore ok 2 - rollback --restore --- duration_ms: 2720.168036 type: 'test' ... 1..2 ok 30 - T29 a bus that stops during the held-store read: --plan says so, rollback --restore refuses restore-mismatch --- duration_ms: 3957.329056 type: 'test' ... # Subtest: T30 a copy check that agrees on another copy fails the gate with copy-check and rolls back ok 31 - T30 a copy check that agrees on another copy fails the gate with copy-check and rolls back --- duration_ms: 5106.076721 type: 'test' ... # Subtest: T31 a quoted or escaped Environment= or ExecStart= is unreadable: refusals by name, nothing read from /a # Subtest: Environment double quotes ok 1 - Environment double quotes --- duration_ms: 2310.148736 type: 'test' ... # Subtest: Environment single quotes ok 2 - Environment single quotes --- duration_ms: 2150.324937 type: 'test' ... # Subtest: Environment backslash ok 3 - Environment backslash --- duration_ms: 2214.856009 type: 'test' ... # Subtest: ExecStart quotes ok 4 - ExecStart quotes --- duration_ms: 2368.725871 type: 'test' ... # Subtest: Console ExecStart quotes ok 5 - Console ExecStart quotes --- duration_ms: 1848.672357 type: 'test' ... 1..5 ok 32 - T31 a quoted or escaped Environment= or ExecStart= is unreadable: refusals by name, nothing read from /a --- duration_ms: 10893.986045 type: 'test' ... # Subtest: T32 item 1: --pm-after-harness refuses a target without harness or a file that sets it, and passes without the PM # Subtest: usage: not with --pm, and only for activate ok 1 - usage: not with --pm, and only for activate --- duration_ms: 750.954743 type: 'test' ... # Subtest: pm-after-harness-target ok 2 - pm-after-harness-target --- duration_ms: 1125.187752 type: 'test' ... # Subtest: pm-after-harness-set ok 3 - pm-after-harness-set --- duration_ms: 1640.833287 type: 'test' ... # Subtest: a pointer without pm ok 4 - a pointer without pm --- duration_ms: 1065.780246 type: 'test' ... # Subtest: phase 1 installs without --pm, skips pm_launched and writes the pending pointer ok 5 - phase 1 installs without --pm, skips pm_launched and writes the pending pointer --- duration_ms: 2392.910539 type: 'test' ... 1..5 ok 33 - T32 item 1: --pm-after-harness refuses a target without harness or a file that sets it, and passes without the PM --- duration_ms: 6976.821273 type: 'test' ... # Subtest: T33 item 2: read_pointer takes pmPending only as true beside pm false; a pending pointer refuses activate and shows in status # Subtest: read_pointer ok 1 - read_pointer --- duration_ms: 1957.623578 type: 'test' ... # Subtest: pm-pending, already-adopted and the status line ok 2 - pm-pending, already-adopted and the status line --- duration_ms: 3964.897308 type: 'test' ... 1..2 ok 34 - T33 item 2: read_pointer takes pmPending only as true beside pm false; a pending pointer refuses activate and shows in status --- duration_ms: 5923.431203 type: 'test' ... # Subtest: T34 item 3: pm-on refuses before any stop, passes with the PM, or puts the phase-1 bus back # Subtest: not-pending ok 1 - not-pending --- duration_ms: 951.041897 type: 'test' ... # Subtest: harness-unset ok 2 - harness-unset --- duration_ms: 3582.601675 type: 'test' ... # Subtest: a launched line passes: the bus alone restarts with --pm ok 3 - a launched line passes: the bus alone restarts with --pm --- duration_ms: 4322.060162 type: 'test' ... # Subtest: a failed pm_launched puts the phase-1 unit back: exit 1, still pending ok 4 - a failed pm_launched puts the phase-1 unit back: exit 1, still pending --- duration_ms: 7353.426676 type: 'test' ... # Subtest: a failed phase-1 gate too: pm-on-down, exit 2, both units stopped ok 5 - a failed phase-1 gate too: pm-on-down, exit 2, both units stopped --- duration_ms: 10976.093865 type: 'test' ... 1..5 ok 35 - T34 item 3: pm-on refuses before any stop, passes with the PM, or puts the phase-1 bus back --- duration_ms: 27186.857766 type: 'test' ... # Subtest: T35 item 4: rollback from pending installs --pm; a plug-in kind the target lacks refuses by name # Subtest: rollback from pending gates pm_launched on the old copy ok 1 - rollback from pending gates pm_launched on the old copy --- duration_ms: 3661.585427 type: 'test' ... # Subtest: after the harness set, rollback refuses until harness is gone ok 2 - after the harness set, rollback refuses until harness is gone --- duration_ms: 5658.948981 type: 'test' ... # Subtest: activate names every kind the target lacks ok 3 - activate names every kind the target lacks --- duration_ms: 1472.715819 type: 'test' ... 1..3 ok 36 - T35 item 4: rollback from pending installs --pm; a plug-in kind the target lacks refuses by name --- duration_ms: 10794.115039 type: 'test' ... # Subtest: T36 --plan shows the pending state and lists the row 169 refusals it can see ok 37 - T36 --plan shows the pending state and lists the row 169 refusals it can see --- duration_ms: 3788.44 type: 'test' ... # Subtest: T37 tester-port activate writes pointer and unit, replaces the port, and supported re-pin and rollback keep it ok 38 - T37 tester-port activate writes pointer and unit, replaces the port, and supported re-pin and rollback keep it --- duration_ms: 7789.064713 type: 'test' ... # Subtest: T38 tester-port rollback to unsupported target drops flag in plan, steps, unit and pointer ok 39 - T38 tester-port rollback to unsupported target drops flag in plan, steps, unit and pointer --- duration_ms: 4492.419484 type: 'test' ... # Subtest: T39 tester-port explicit unsupported target reads target copy and refuses before stopping either unit ok 40 - T39 tester-port explicit unsupported target reads target copy and refuses before stopping either unit --- duration_ms: 977.592804 type: 'test' ... # Subtest: T40 tester-port invalid values refuse exit 4 before stopping, including tunnel and main ports ok 41 - T40 tester-port invalid values refuse exit 4 before stopping, including tunnel and main ports --- duration_ms: 1026.210252 type: 'test' ... # Subtest: T41 tester-port inherited activate to unsupported target drops it and retains drift refusal and failed-run recovery ok 42 - T41 tester-port inherited activate to unsupported target drops it and retains drift refusal and failed-run recovery --- duration_ms: 10643.69744 type: 'test' ... # Subtest: T42 tester-port pm-on preserves pointer Console flags ok 43 - T42 tester-port pm-on preserves pointer Console flags --- duration_ms: 4301.303732 type: 'test' ... # Subtest: T43 row 180 item 1: runs in one second get distinct activation ids, rollback sets and post-attempt stores # Subtest: activate then pm-on on the same copy ok 1 - activate then pm-on on the same copy --- duration_ms: 4045.891798 type: 'test' ... # Subtest: two restores: an old-form id and a suffixed one, each with its own post-attempt store ok 2 - two restores: an old-form id and a suffixed one, each with its own post-attempt store --- duration_ms: 7181.603495 type: 'test' ... # Subtest: adopt takes the next free id too ok 3 - adopt takes the next free id too --- duration_ms: 660.233182 type: 'test' ... # Subtest: all ten names taken: capture-failed before anything stops, and the log line names no activation ok 4 - all ten names taken: capture-failed before anything stops, and the log line names no activation --- duration_ms: 970.777821 type: 'test' ... # Subtest: --restore takes an id with or without -1 to -9 and nothing else ok 5 - --restore takes an id with or without -1 to -9 and nothing else --- duration_ms: 1200.715306 type: 'test' ... 1..5 ok 44 - T43 row 180 item 1: runs in one second get distinct activation ids, rollback sets and post-attempt stores --- duration_ms: 14060.550959 type: 'test' ... # Subtest: T44 row 180 item 2: --plan lists tester-port-invalid and tester-port-target with its other refusals # Subtest: a bad tester port ok 1 - a bad tester port --- duration_ms: 2039.454115 type: 'test' ... # Subtest: without --plan a bad port is usage before any pointer read ok 2 - without --plan a bad port is usage before any pointer read --- duration_ms: 363.673638 type: 'test' ... # Subtest: a target Console without --tester-port ok 3 - a target Console without --tester-port --- duration_ms: 995.259832 type: 'test' ... 1..3 ok 45 - T44 row 180 item 2: --plan lists tester-port-invalid and tester-port-target with its other refusals --- duration_ms: 3399.101283 type: 'test' ... # Subtest: T45 row 181 items 2 and 3: the restore guard counts events and every COUNTED table # Subtest: both modes count events and each listed table, and a table the store lacks counts 0 ok 1 - both modes count events and each listed table, and a table the store lacks counts 0 --- duration_ms: 1149.609883 type: 'test' ... # Subtest: one instance_names row and no event refuses before any stop; --events 1 restores ok 2 - one instance_names row and no event refuses before any stop; --events 1 restores --- duration_ms: 4416.12368 type: 'test' ... # Subtest: one usage_records row and no event refuses before any stop; --events 1 restores ok 3 - one usage_records row and no event refuses before any stop; --events 1 restores --- duration_ms: 4279.613353 type: 'test' ... # Subtest: a listed table that cannot be read refuses restore-mismatch before any stop ok 4 - a listed table that cannot be read refuses restore-mismatch before any stop --- duration_ms: 2505.313053 type: 'test' ... # Subtest: the in-run recount counts the listed tables too ok 5 - the in-run recount counts the listed tables too --- duration_ms: 3573.811907 type: 'test' ... 1..5 ok 46 - T45 row 181 items 2 and 3: the restore guard counts events and every COUNTED table --- duration_ms: 15925.490768 type: 'test' ... # Subtest: T46 row 181 item 4: every table in the bus schema is in exactly one of four lists ok 47 - T46 row 181 item 4: every table in the bus schema is in exactly one of four lists --- duration_ms: 4.366053 type: 'test' ... # Subtest: T47 row 185 test 1: a same-schema activate leaves a whole backup and the log line names it ok 48 - T47 row 185 test 1: a same-schema activate leaves a whole backup and the log line names it --- duration_ms: 2074.671546 type: 'test' ... # Subtest: T48 row 185 test 2: a gate failure on a same-schema activate rolls back without a restore ok 49 - T48 row 185 test 2: a gate failure on a same-schema activate rolls back without a restore --- duration_ms: 6192.411836 type: 'test' ... # Subtest: T49 row 185 test 3: a same-schema rollback --restore restores, or refuses rows written after STAMP # Subtest: no rows after STAMP: restores and goes live ok 1 - no rows after STAMP: restores and goes live --- duration_ms: 3549.728762 type: 'test' ... # Subtest: one instance_names row after STAMP refuses post-backup-events; --events 1 restores ok 2 - one instance_names row after STAMP refuses post-backup-events; --events 1 restores --- duration_ms: 4025.952957 type: 'test' ... 1..2 ok 50 - T49 row 185 test 3: a same-schema rollback --restore restores, or refuses rows written after STAMP --- duration_ms: 7576.247483 type: 'test' ... # Subtest: T50 row 185 test 4: activate --plan prints the backup line and writes nothing ok 51 - T50 row 185 test 4: activate --plan prints the backup line and writes nothing --- duration_ms: 2489.110366 type: 'test' ... # Subtest: T51 row 185 test 5: an activate with no store file takes no backup ok 52 - T51 row 185 test 5: an activate with no store file takes no backup --- duration_ms: 2491.318618 type: 'test' ... # Subtest: T52 row 186: the activate plan's backup line says what the run will do # Subtest: same schema ok 1 - same schema --- duration_ms: 2528.514357 type: 'test' ... # Subtest: same schema with --migrate ok 2 - same schema with --migrate --- duration_ms: 2615.591133 type: 'test' ... # Subtest: in chain with --migrate ok 3 - in chain with --migrate --- duration_ms: 2854.904088 type: 'test' ... # Subtest: in chain without --migrate ok 4 - in chain without --migrate --- duration_ms: 2308.803648 type: 'test' ... # Subtest: outside the chain ok 5 - outside the chain --- duration_ms: 2084.714647 type: 'test' ... # Subtest: outside the chain with --migrate ok 6 - outside the chain with --migrate --- duration_ms: 2312.599376 type: 'test' ... 1..6 ok 53 - T52 row 186: the activate plan's backup line says what the run will do --- duration_ms: 14706.395018 type: 'test' ... # Subtest: T178 proxy proof header and path survive re-pin and rollback unchanged in the pointer and unit ok 54 - T178 proxy proof header and path survive re-pin and rollback unchanged in the pointer and unit --- duration_ms: 3446.657682 type: 'test' ... # Subtest: T178 proxy proof pair survives a tester-port replacement as well ok 55 - T178 proxy proof pair survives a tester-port replacement as well --- duration_ms: 2088.767457 type: 'test' ... # Subtest: T53 row 187: activate sets, carries and drops the proof pair # Subtest: tests 1 and 9: the pair goes after the preview flags, before --send and the kept --tester-port, as the unit renders it; a new pair replaces it ok 1 - tests 1 and 9: the pair goes after the preview flags, before --send and the kept --tester-port, as the unit renders it; a new pair replaces it --- duration_ms: 6029.4142 type: 'test' ... # Subtest: tests 2 and 3: an activate of the live copy writes the pair; a later activate and a rollback carry it ok 2 - tests 2 and 3: an activate of the live copy writes the pair; a later activate and a rollback carry it --- duration_ms: 5528.943435 type: 'test' ... # Subtest: test 2: only a pair change may name the live copy; the log keeps from and to, and rollback still goes to the earlier copy ok 3 - test 2: only a pair change may name the live copy; the log keeps from and to, and rollback still goes to the earlier copy --- duration_ms: 7852.25623 type: 'test' ... # Subtest: test 2: a live-copy activate says only the Console flags change, and backs up the stopped store before it installs ok 4 - test 2: a live-copy activate says only the Console flags change, and backs up the stopped store before it installs --- duration_ms: 4772.586649 type: 'test' ... # Subtest: test 3: pm-on keeps the pair ok 5 - test 3: pm-on keeps the pair --- duration_ms: 3925.649052 type: 'test' ... # Subtest: test 4: --no-proof drops the pair from the pointer and the unit and says so; with no pair it says so and passes ok 6 - test 4: --no-proof drops the pair from the pointer and the unit and says so; with no pair it says so and passes --- duration_ms: 6262.015893 type: 'test' ... # Subtest: test 5: each refusal exits 3 before anything stops ok 7 - test 5: each refusal exits 3 before anything stops --- duration_ms: 4033.59495 type: 'test' ... # Subtest: tests 5 and 9: --plan lists every proof refusal with the others and writes nothing ok 8 - tests 5 and 9: --plan lists every proof refusal with the others and writes nothing --- duration_ms: 894.930959 type: 'test' ... # Subtest: test 6: usage errors ok 9 - test 6: usage errors --- duration_ms: 828.697068 type: 'test' ... # Subtest: test 7: a rollback to a copy without proof support drops the pair and says so ok 10 - test 7: a rollback to a copy without proof support drops the pair and says so --- duration_ms: 4083.824871 type: 'test' ... # Subtest: test 7: an activate to a copy without proof support refuses proof-target without --no-proof and passes with it ok 11 - test 7: an activate to a copy without proof support refuses proof-target without --no-proof and passes with it --- duration_ms: 4200.367941 type: 'test' ... 1..11 ok 56 - T53 row 187: activate sets, carries and drops the proof pair --- duration_ms: 48414.555411 type: 'test' ... # Subtest: T54 row 188: a carried pair gets the proof file checks, and a proof file inside the repository refuses # Subtest: test 1: an activate that carries the pair refuses after chmod 644, in the plan and the run, before anything stops ok 1 - test 1: an activate that carries the pair refuses after chmod 644, in the plan and the run, before anything stops --- duration_ms: 2412.862095 type: 'test' ... # Subtest: test 1: an activate that carries the pair refuses after a symlink to a mode-600 file, in the plan and the run, before anything stops ok 2 - test 1: an activate that carries the pair refuses after a symlink to a mode-600 file, in the plan and the run, before anything stops --- duration_ms: 2546.792817 type: 'test' ... # Subtest: test 1: an activate that carries the pair refuses after removal, in the plan and the run, before anything stops ok 3 - test 1: an activate that carries the pair refuses after removal, in the plan and the run, before anything stops --- duration_ms: 2672.393025 type: 'test' ... # Subtest: test 2: a rollback that carries the pair refuses after chmod 644, in the plan and the run, before anything stops ok 4 - test 2: a rollback that carries the pair refuses after chmod 644, in the plan and the run, before anything stops --- duration_ms: 2544.664442 type: 'test' ... # Subtest: test 3: a proof file inside the repository refuses, in the plan and the run, before anything stops ok 5 - test 3: a proof file inside the repository refuses, in the plan and the run, before anything stops --- duration_ms: 1123.616808 type: 'test' ... # Subtest: test 4: a path outside the repository through a directory symlink into it refuses on its realpath ok 6 - test 4: a path outside the repository through a directory symlink into it refuses on its realpath --- duration_ms: 1118.574811 type: 'test' ... 1..6 ok 57 - T54 row 188: a carried pair gets the proof file checks, and a proof file inside the repository refuses --- duration_ms: 12420.222936 type: 'test' ... # Subtest: T55 row 189: activate --no-send drops --send, and rollback and pm-on carry it off # Subtest: test 1: a live-copy --no-send drops --send from the pointer and the unit, keeps the rest in order, logs the step and backs up the stopped store ok 1 - test 1: a live-copy --no-send drops --send from the pointer and the unit, keeps the rest in order, logs the step and backs up the stopped store --- duration_ms: 2279.773587 type: 'test' ... # Subtest: test 2: a plain live-copy activate still refuses already-active, and so does --no-send once --send is gone ok 2 - test 2: a plain live-copy activate still refuses already-active, and so does --no-send once --send is gone --- duration_ms: 3410.789547 type: 'test' ... # Subtest: test 3: --plan prints one send: line in each case, with the live-copy note on a same-copy run ok 3 - test 3: --plan prints one send: line in each case, with the live-copy note on a same-copy run --- duration_ms: 4881.539993 type: 'test' ... # Subtest: test 4: after --no-send, a rollback to the earlier copy leaves --send out of the pointer and the unit ok 4 - test 4: after --no-send, a rollback to the earlier copy leaves --send out of the pointer and the unit --- duration_ms: 3529.874017 type: 'test' ... # Subtest: test 4: pm-on after --no-send keeps --send off ok 5 - test 4: pm-on after --no-send keeps --send off --- duration_ms: 3517.931677 type: 'test' ... # Subtest: test 5: --no-send on rollback, pm-on, status, adopt or rehearse is a usage error ok 6 - test 5: --no-send on rollback, pm-on, status, adopt or rehearse is a usage error --- duration_ms: 694.543061 type: 'test' ... # Subtest: test 6: with both a pair and --send in the pointer, --no-send and --no-proof each drop what they name and keep the rest ok 7 - test 6: with both a pair and --send in the pointer, --no-send and --no-proof each drop what they name and keep the rest --- duration_ms: 11526.33008 type: 'test' ... 1..7 ok 58 - T55 row 189: activate --no-send drops --send, and rollback and pm-on carry it off --- duration_ms: 29842.290015 type: 'test' ... # Subtest: T57 row 200: activate --sso, its refusals before any stop, and the rollback to a Console without --sso # Subtest: item 1: --sso drops the preview set and the pair, puts --sso before --send and the tester port, and the plan names what it drops and carries ok 1 - item 1: --sso drops the preview set and the pair, puts --sso before --send and the tester port, and the plan names what it drops and carries --- duration_ms: 4557.97793 type: 'test' ... # Subtest: item 1: --sso may re-pin the live copy once; later activates carry it; --no-send still drops --send ok 2 - item 1: --sso may re-pin the live copy once; later activates carry it; --no-send still drops --send --- duration_ms: 10064.699778 type: 'test' ... # Subtest: item 1: --sso with a pair or --no-proof, or on any verb but activate, is a usage error ok 3 - item 1: --sso with a pair or --no-proof, or on any verb but activate, is a usage error --- duration_ms: 785.253648 type: 'test' ... # Subtest: item 2: a target without --sso, a missing or bad console.sso, and each slot problem refuse before any stop ok 4 - item 2: a target without --sso, a missing or bad console.sso, and each slot problem refuse before any stop --- duration_ms: 6929.234931 type: 'test' ... # Subtest: item 3: a config whose console key the target loader refuses stops an activate or a rollback before any stop, naming the first step ok 5 - item 3: a config whose console key the target loader refuses stops an activate or a rollback before any stop, naming the first step --- duration_ms: 5568.576056 type: 'test' ... # Subtest: row 203: a config whose federation key the target loader refuses stops an activate or a rollback before any stop, naming the first step ok 6 - row 203: a config whose federation key the target loader refuses stops an activate or a rollback before any stop, naming the first step --- duration_ms: 4183.031275 type: 'test' ... # Subtest: item 3: a rollback from --sso to a Console without it takes the flags from the set of the activation onto the copy, past a same-copy re-pin (sage-1389) ok 7 - item 3: a rollback from --sso to a Console without it takes the flags from the set of the activation onto the copy, past a same-copy re-pin (sage-1389) --- duration_ms: 12060.566493 type: 'test' ... # Subtest: item 3: a rollback set that is missing, fails its sums, holds no argv or already ran --sso refuses sso-rollback-flags ok 8 - item 3: a rollback set that is missing, fails its sums, holds no argv or already ran --sso refuses sso-rollback-flags --- duration_ms: 4638.189588 type: 'test' ... # Subtest: round 2 (webby-0028 N1): run through a symlinked repository path, a slot or a proof file inside the repository still refuses ok 9 - round 2 (webby-0028 N1): run through a symlinked repository path, a slot or a proof file inside the repository still refuses --- duration_ms: 2336.405113 type: 'test' ... # Subtest: round 2 (webby-0028 N2): a config.json that does not parse stops the run before anything is read or stopped ok 10 - round 2 (webby-0028 N2): a config.json that does not parse stops the run before anything is read or stopped --- duration_ms: 2200.43398 type: 'test' ... # Subtest: round 3 (sage-1556): a named instance turns --sso on with its own config, slot and Console unit, and rolls back from its own set ok 11 - round 3 (sage-1556): a named instance turns --sso on with its own config, slot and Console unit, and rolls back from its own set --- duration_ms: 4432.143889 type: 'test' ... # Subtest: row 238 (\#1744): on a named instance the sso-config first step names --instance NAME in both commands ok 12 - row 238 (\#1744): on a named instance the sso-config first step names --instance NAME in both commands --- duration_ms: 1176.200904 type: 'test' ... 1..12 ok 59 - T57 row 200: activate --sso, its refusals before any stop, and the rollback to a Console without --sso --- duration_ms: 58935.456167 type: 'test' ... # Subtest: T58 row 273: activate --send and --no-sso # Subtest: T1: --sso --send turns send on after --sso and before the tester port, and the plan says so ok 1 - T1: --sso --send turns send on after --sso and before the tester port, and the plan says so --- duration_ms: 2839.097988 type: 'test' ... # Subtest: T1: --send beside a carried --sso re-pins the live copy once, and the plan names the carried --sso ok 2 - T1: --send beside a carried --sso re-pins the live copy once, and the plan names the carried --sso --- duration_ms: 4723.838433 type: 'test' ... # Subtest: T2: --send without --sso, given or carried, refuses before any stop, and --plan lists it ok 3 - T2: --send without --sso, given or carried, refuses before any stop, and --plan lists it --- duration_ms: 2083.750833 type: 'test' ... # Subtest: T2 (sage-2315 B1): a rollback from an --sso --send pointer to a Console without --sso ends with neither flag ok 4 - T2 (sage-2315 B1): a rollback from an --sso --send pointer to a Console without --sso ends with neither flag --- duration_ms: 4155.438744 type: 'test' ... # Subtest: T2 and T4: --send with --no-send, --no-sso with --sso, --send, a pair or --no-proof, and either flag on another verb, is a usage error ok 5 - T2 and T4: --send with --no-send, --no-sso with --sso, --send, a pair or --no-proof, and either flag on another verb, is a usage error --- duration_ms: 2281.334985 type: 'test' ... # Subtest: T3: --no-sso on the same copy returns the unit and the pointer to the flags from before --sso, without --send ok 6 - T3: --no-sso on the same copy returns the unit and the pointer to the flags from before --sso, without --send --- duration_ms: 5615.54045 type: 'test' ... # Subtest: T3: the set walk passes later re-pins that ran with --sso, and the tester follows the pointer ok 7 - T3: the set walk passes later re-pins that ran with --sso, and the tester follows the pointer --- duration_ms: 5593.200873 type: 'test' ... # Subtest: T3 (sage-2305 a): after --sso, two later re-pins that carry it, then --no-sso restores the flags from before --sso byte for byte ok 8 - T3 (sage-2305 a): after --sso, two later re-pins that carry it, then --no-sso restores the flags from before --sso byte for byte --- duration_ms: 8497.557234 type: 'test' ... # Subtest: T4 (sage-2305 b): a log in which every set holds a Console with --sso refuses before any unit stops ok 9 - T4 (sage-2305 b): a log in which every set holds a Console with --sso refuses before any unit stops --- duration_ms: 3943.083898 type: 'test' ... # Subtest: T4: --no-sso refuses before any stop on a pointer without --sso, a tampered or missing set, a set that ran with --sso, an ok line with no activation, and a log with no set ok 10 - T4: --no-sso refuses before any stop on a pointer without --sso, a tampered or missing set, a set that ran with --sso, an ok line with no activation, and a log with no set --- duration_ms: 6041.32525 type: 'test' ... 1..10 ok 60 - T58 row 273: activate --send and --no-sso --- duration_ms: 45776.168104 type: 'test' ... # Subtest: R1 rehearse passes on the same schema; the scratch root holds its files and the live files stay byte-identical ok 61 - R1 rehearse passes on the same schema; the scratch root holds its files and the live files stay byte-identical --- duration_ms: 2526.498251 type: 'test' ... # Subtest: R2 rehearse runs the migration checks when the schema differs; the live store stays at 3g ok 62 - R2 rehearse runs the migration checks when the schema differs; the live store stays at 3g --- duration_ms: 2681.902892 type: 'test' ... # Subtest: R3 a failing migration gives REHEARSAL_FAIL migrate and starts nothing ok 63 - R3 a failing migration gives REHEARSAL_FAIL migrate and starts nothing --- duration_ms: 431.28218 type: 'test' ... # Subtest: R4 a host that does not start, does not answer status, reports another pid, launches anyway, makes a launches directory or keeps its lock each fails by name ok 64 - R4 a host that does not start, does not answer status, reports another pid, launches anyway, makes a launches directory or keeps its lock each fails by name --- duration_ms: 20631.494209 type: 'test' ... # Subtest: R5 a host that ignores SIGTERM gets SIGKILL and FAIL host-stopped ok 65 - R5 a host that ignores SIGTERM gets SIGKILL and FAIL host-stopped --- duration_ms: 3454.208146 type: 'test' ... # Subtest: R6 a Console that does not answer /healthz gives REHEARSAL_FAIL healthz ok 66 - R6 a Console that does not answer /healthz gives REHEARSAL_FAIL healthz --- duration_ms: 4676.388331 type: 'test' ... # Subtest: R7 a host on another copy fails copy-match ok 67 - R7 a host on another copy fails copy-match --- duration_ms: 4686.606778 type: 'test' ... # Subtest: R8 a scratch port in use or reserved refuses, and the rehearsal takes no other port ok 68 - R8 a scratch port in use or reserved refuses, and the rehearsal takes no other port --- duration_ms: 518.951516 type: 'test' ... # Subtest: R9 mos-0963: a role reference left outside placeholders/, or left on an env variable, fails credential-ref-live before the host starts ok 69 - R9 mos-0963: a role reference left outside placeholders/, or left on an env variable, fails credential-ref-live before the host starts --- duration_ms: 885.273361 type: 'test' ... # Subtest: R10 mos-0962: a scratch business that still sets a tracker fails tracker-configured ok 70 - R10 mos-0962: a scratch business that still sets a tracker fails tracker-configured --- duration_ms: 448.788462 type: 'test' ... # Subtest: R11 mos-0961: a scratch config on the live data root or on any root but the scratch one, or a sessions.json naming a running pid, refuses by name ok 71 - R11 mos-0961: a scratch config on the live data root or on any root but the scratch one, or a sessions.json naming a running pid, refuses by name --- duration_ms: 1453.846928 type: 'test' ... # Subtest: R12 mos-0962: a notifier config with a binding fails notify-off ok 72 - R12 mos-0962: a notifier config with a binding fails notify-off --- duration_ms: 358.068063 type: 'test' ... # Subtest: R13 the pre-checks: an old copy, a backup that fails its sums, a missing backup or pointer, and usage ok 73 - R13 the pre-checks: an old copy, a backup that fails its sums, a missing backup or pointer, and usage --- duration_ms: 518.25533 type: 'test' ... # Subtest: R14 a host that writes the live config, the live business file or the backup fails the end check by name ok 74 - R14 a host that writes the live config, the live business file or the backup fails the end check by name --- duration_ms: 7552.781623 type: 'test' ... # Subtest: R15 a rehearsal stopped by TERM, INT or HUP fails signal and still stops the host and Console and runs the end checks ok 75 - R15 a rehearsal stopped by TERM, INT or HUP fails signal and still stops the host and Console and runs the end checks --- duration_ms: 7047.752885 type: 'test' ... # Subtest: row 233: --backup last takes the newest backup the log records; a later line with backup null does not hide it, and the store line names it ok 76 - row 233: --backup last takes the newest backup the log records; a later line with backup null does not hide it, and the store line names it --- duration_ms: 2477.480144 type: 'test' ... # Subtest: row 233: --backup last with no backup in the log, or no log, exits 3 with no-backup and makes no rehearsal directory ok 77 - row 233: --backup last with no backup in the log, or no log, exits 3 with no-backup and makes no rehearsal directory --- duration_ms: 211.475574 type: 'test' ... # Subtest: row 233: --backup last refuses a newest backup that is not an activation id, with exit 1 ok 78 - row 233: --backup last refuses a newest backup that is not an activation id, with exit 1 --- duration_ms: 134.467341 type: 'test' ... # Subtest: T56 row 190: named instances side by side on one unit directory, $BIN and set of stand-ins # Subtest: T-I3 each instance renders its own config, session env and Description, and nothing of another ok 1 - T-I3 each instance renders its own config, session env and Description, and nothing of another --- duration_ms: 1871.688007 type: 'test' ... # Subtest: T-I4 a Console port another installed Console takes refuses port-claimed, and a named instance keeps off the default ports ok 2 - T-I4 a Console port another installed Console takes refuses port-claimed, and a named instance keeps off the default ports --- duration_ms: 2103.691198 type: 'test' ... # Subtest: T-I6 alpha's activate and rollback reach nothing of beta's ok 3 - T-I6 alpha's activate and rollback reach nothing of beta's --- duration_ms: 4312.355978 type: 'test' ... # Subtest: T-I6 swapped: beta's reach nothing of alpha's ok 4 - T-I6 swapped: beta's reach nothing of alpha's --- duration_ms: 4208.184204 type: 'test' ... # Subtest: T-I7 MOSAIC_CONFIG naming alpha's config with no flag refuses instance-root-mismatch and changes nothing ok 5 - T-I7 MOSAIC_CONFIG naming alpha's config with no flag refuses instance-root-mismatch and changes nothing --- duration_ms: 795.277274 type: 'test' ... # Subtest: T-I9 another instance's bus active refuses nothing; one of this instance's does ok 6 - T-I9 another instance's bus active refuses nothing; one of this instance's does --- duration_ms: 6691.720523 type: 'test' ... 1..6 ok 79 - T56 row 190: named instances side by side on one unit directory, $BIN and set of stand-ins --- duration_ms: 19984.44984 type: 'test' ... # Subtest: row196 explicit socket conversion refuses inherited TCP before stop and rollback disables socket ok 80 - row196 explicit socket conversion refuses inherited TCP before stop and rollback disables socket --- duration_ms: 6260.660642 type: 'test' ... # Subtest: row196 SSO socket conversion pins pointer and unit argv order without send ok 81 - row196 SSO socket conversion pins pointer and unit argv order without send --- duration_ms: 2795.855606 type: 'test' ... # Subtest: row196 interpreter activation checks receipt, identity, plan and startup log # Subtest: plan and started log preserve the same interpreter JSON ok 1 - plan and started log preserve the same interpreter JSON --- duration_ms: 2512.972228 type: 'test' ... # Subtest: interpreter-receipt-refuse fails at the gate and restores the pointer ok 2 - interpreter-receipt-refuse fails at the gate and restores the pointer --- duration_ms: 3596.163386 type: 'test' ... # Subtest: interpreter-drift fails at the gate and restores the pointer ok 3 - interpreter-drift fails at the gate and restores the pointer --- duration_ms: 3680.564381 type: 'test' ... # Subtest: missing-verifier refuses before any start or stop ok 4 - missing-verifier refuses before any start or stop --- duration_ms: 1093.58345 type: 'test' ... # Subtest: interpreter-unsafe refuses before any start or stop ok 5 - interpreter-unsafe refuses before any start or stop --- duration_ms: 1190.545175 type: 'test' ... 1..5 ok 82 - row196 interpreter activation checks receipt, identity, plan and startup log --- duration_ms: 12075.359181 type: 'test' ... # Subtest: row196 rehearsal selects socket only for marked copies and uses scratch dataRoot # Subtest: socket copy ok 1 - socket copy --- duration_ms: 2486.327597 type: 'test' ... # Subtest: legacy copy ok 2 - legacy copy --- duration_ms: 2516.012632 type: 'test' ... 1..2 ok 83 - row196 rehearsal selects socket only for marked copies and uses scratch dataRoot --- duration_ms: 5003.149875 type: 'test' ... 1..83 # tests 219 # suites 0 # pass 219 # fail 0 # cancelled 0 # skipped 0 # todo 0 # duration_ms 639953.098887