120 lines
6.3 KiB
Plaintext
120 lines
6.3 KiB
Plaintext
✔ isRunId accepts the run id shape and nothing else (1.771474ms)
|
||
✔ a missing data root or runs directory lists nothing (2.813953ms)
|
||
✔ runs as a regular file lists nothing, as before (1.054785ms)
|
||
✔ listRunIds keeps r- names only, sorted oldest first (1.206363ms)
|
||
✔ listRunRecords returns each result, or null for an incomplete or unreadable one (4.915953ms)
|
||
✔ readRunRecord returns documents and artifacts in directory order (2.764918ms)
|
||
✔ readRunRecord is null for a missing run, a dangling link or a file (1.419586ms)
|
||
✔ readRunRecord and readRunDocument refuse an invalid run id before touching the disk (1.709871ms)
|
||
✔ readRunDocument reads only the three run documents (1.262914ms)
|
||
✔ a link inside the data root is followed (1.982581ms)
|
||
✔ a data root that is itself a link is trusted as configured (1.099763ms)
|
||
✔ a run directory linked out of the data root is never read (1.16657ms)
|
||
✔ a document linked out of the data root reads as null (5.674742ms)
|
||
✔ a runs directory linked out of the data root refuses (1.139878ms)
|
||
✔ a relative link that climbs out of the data root refuses (3.18749ms)
|
||
✔ a sibling whose name starts with the data root's name is outside it (1.736634ms)
|
||
✔ a link loop refuses instead of reading as missing (4.90889ms)
|
||
✔ an unreadable runs directory refuses instead of listing nothing (0.978501ms)
|
||
✔ an unreadable run directory refuses instead of reading as missing (4.945408ms)
|
||
✔ a link to the data root's parent is outside it (0.993881ms)
|
||
✔ listRunIds sorts whatever order the directory returns (3.732088ms)
|
||
✔ listRunRecords lists an r- name that isn't a valid run id, as before (1.031311ms)
|
||
✔ the readers write nothing (4.208472ms)
|
||
✔ no pointer is null (3.315225ms)
|
||
✔ the pointer release.sh writes reads back (2.589122ms)
|
||
✔ a pointer that isn't the version 1 shape refuses with exit 2 (4.043643ms)
|
||
✔ a pointer that is a directory refuses with exit 4 (1.005586ms)
|
||
✔ a state file linked out of the data root refuses (2.37687ms)
|
||
✔ a state directory linked out of the data root refuses (1.292878ms)
|
||
✔ a state directory linked out to nothing reads as no release and an empty log (0.780712ms)
|
||
✔ a missing log is empty (0.679308ms)
|
||
✔ the log reads oldest first and counts malformed lines (2.170115ms)
|
||
✔ last must be a positive integer (1.140745ms)
|
||
✔ the state readers write nothing (2.587193ms)
|
||
✔ list prints each run in the established format (137.246983ms)
|
||
✖ list prints a damaged result.json as unknown and keeps listing the runs after it (182.376976ms)
|
||
✖ list prints each result field that isn't a string as unknown or - (546.979624ms)
|
||
✔ show prints the run in the established format (286.705913ms)
|
||
✔ show of a missing run and an invalid id exit 4 as before (543.28419ms)
|
||
✔ list and show refuse a runs directory linked out of the data root (439.769449ms)
|
||
✔ show refuses a run linked out of the data root; list reports it unknown (521.985806ms)
|
||
✔ list shows an r- name that isn't a valid run id, as before (124.760819ms)
|
||
✔ show refuses an invalid id before reading the config (156.920806ms)
|
||
ℹ tests 43
|
||
ℹ suites 0
|
||
ℹ pass 41
|
||
ℹ fail 2
|
||
ℹ cancelled 0
|
||
ℹ skipped 0
|
||
ℹ todo 0
|
||
ℹ duration_ms 3136.926367
|
||
|
||
✖ failing tests:
|
||
|
||
test at packages/runs/tests/task-cli.test.mjs:35:1
|
||
✖ list prints a damaged result.json as unknown and keeps listing the runs after it (182.376976ms)
|
||
AssertionError [ERR_ASSERTION]: file:///mnt/storage/scratch/rocko-r82/scripts/mosaic-task.mjs:485
|
||
process.stdout.write(`${runId} ${status.padEnd(9)} task=${taskId.padEnd(18)} ws=${workspace.padEnd(10)} session=${session}\n`);
|
||
^
|
||
|
||
TypeError: Cannot read properties of undefined (reading 'padEnd')
|
||
at listRuns (file:///mnt/storage/scratch/rocko-r82/scripts/mosaic-task.mjs:485:72)
|
||
at file:///mnt/storage/scratch/rocko-r82/scripts/mosaic-task.mjs:645:5
|
||
at ModuleJob.run (node:internal/modules/esm/module_job:569:25)
|
||
at async node:internal/modules/esm/loader:650:26
|
||
at async asyncRunEntryPointWithESMLoader (node:internal/modules/run_main:101:5)
|
||
|
||
Node.js v26.8.1
|
||
|
||
|
||
1 !== 0
|
||
|
||
at TestContext.<anonymous> (file:///mnt/storage/scratch/rocko-r82/packages/runs/tests/task-cli.test.mjs:42:10)
|
||
at Test.runInAsyncScope (node:async_hooks:226:14)
|
||
at Test.run (node:internal/test_runner/test:1402:25)
|
||
at Test.processPendingSubtests (node:internal/test_runner/test:974:18)
|
||
at Test.postRun (node:internal/test_runner/test:1542:19)
|
||
at Test.run (node:internal/test_runner/test:1467:12)
|
||
at async startSubtestAfterBootstrap (node:internal/test_runner/harness:387:3) {
|
||
generatedMessage: false,
|
||
code: 'ERR_ASSERTION',
|
||
actual: 1,
|
||
expected: 0,
|
||
operator: 'strictEqual',
|
||
diff: 'simple'
|
||
}
|
||
|
||
test at packages/runs/tests/task-cli.test.mjs:49:1
|
||
✖ list prints each result field that isn't a string as unknown or - (546.979624ms)
|
||
AssertionError [ERR_ASSERTION]: file:///mnt/storage/scratch/rocko-r82/scripts/mosaic-task.mjs:485
|
||
process.stdout.write(`${runId} ${status.padEnd(9)} task=${taskId.padEnd(18)} ws=${workspace.padEnd(10)} session=${session}\n`);
|
||
^
|
||
|
||
TypeError: Cannot read properties of null (reading 'padEnd')
|
||
at listRuns (file:///mnt/storage/scratch/rocko-r82/scripts/mosaic-task.mjs:485:72)
|
||
at file:///mnt/storage/scratch/rocko-r82/scripts/mosaic-task.mjs:645:5
|
||
at ModuleJob.run (node:internal/modules/esm/module_job:569:25)
|
||
at async node:internal/modules/esm/loader:650:26
|
||
at async asyncRunEntryPointWithESMLoader (node:internal/modules/run_main:101:5)
|
||
|
||
Node.js v26.8.1
|
||
|
||
|
||
1 !== 0
|
||
|
||
at TestContext.<anonymous> (file:///mnt/storage/scratch/rocko-r82/packages/runs/tests/task-cli.test.mjs:59:10)
|
||
at Test.runInAsyncScope (node:async_hooks:226:14)
|
||
at Test.run (node:internal/test_runner/test:1402:25)
|
||
at Test.processPendingSubtests (node:internal/test_runner/test:974:18)
|
||
at Test.postRun (node:internal/test_runner/test:1542:19)
|
||
at Test.run (node:internal/test_runner/test:1467:12)
|
||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
|
||
generatedMessage: false,
|
||
code: 'ERR_ASSERTION',
|
||
actual: 1,
|
||
expected: 0,
|
||
operator: 'strictEqual',
|
||
diff: 'simple'
|
||
}
|