✔ isRunId accepts the run id shape and nothing else (1.6626ms)
✔ a missing data root or runs directory lists nothing (2.557802ms)
✔ runs as a regular file lists nothing, as before (0.993455ms)
✔ listRunIds keeps r- names only, sorted oldest first (2.10845ms)
✔ listRunRecords returns each result, or null for an incomplete or unreadable one (2.526378ms)
✔ readRunRecord returns documents and artifacts in directory order (1.74364ms)
✔ readRunRecord is null for a missing run, a dangling link or a file (3.435233ms)
✔ readRunRecord and readRunDocument refuse an invalid run id before touching the disk (1.009532ms)
✔ readRunDocument reads only the three run documents (0.836393ms)
✔ a link inside the data root is followed (1.471449ms)
✔ a data root that is itself a link is trusted as configured (4.897625ms)
✔ a run directory linked out of the data root is never read (1.428292ms)
✔ a document linked out of the data root reads as null (1.498822ms)
✔ a runs directory linked out of the data root refuses (0.935108ms)
✔ a relative link that climbs out of the data root refuses (0.709396ms)
✔ a sibling whose name starts with the data root's name is outside it (0.882846ms)
✔ a link loop refuses instead of reading as missing (1.058619ms)
✔ an unreadable runs directory refuses instead of listing nothing (2.11653ms)
✔ an unreadable run directory refuses instead of reading as missing (0.930758ms)
✔ a link to the data root's parent is outside it (1.598177ms)
✔ listRunIds sorts whatever order the directory returns (1.288405ms)
✔ listRunRecords lists an r- name that isn't a valid run id, as before (0.870374ms)
✔ the readers write nothing (3.744027ms)
✔ no pointer is null (2.085388ms)
✔ the pointer release.sh writes reads back (5.493014ms)
✔ a pointer that isn't the version 1 shape refuses with exit 2 (15.128508ms)
✔ a pointer that is a directory refuses with exit 4 (5.23987ms)
✔ a state file linked out of the data root refuses (1.810665ms)
✔ a state directory linked out of the data root refuses (0.998991ms)
✔ a state directory linked out to nothing reads as no release and an empty log (0.803279ms)
✔ a missing log is empty (0.565342ms)
✔ the log reads oldest first and counts malformed lines (1.636209ms)
✔ last must be a positive integer (0.735553ms)
✔ the state readers write nothing (2.258054ms)
✔ list prints each run in the established format (116.9074ms)
✔ show prints the run in the established format (92.239762ms)
✔ show of a missing run and an invalid id exit 4 as before (138.161653ms)
✔ list and show refuse a runs directory linked out of the data root (180.575601ms)
✔ show refuses a run linked out of the data root; list reports it unknown (155.863719ms)
✔ list shows an r- name that isn't a valid run id, as before (66.034048ms)
✔ show refuses an invalid id before reading the config (45.978715ms)
ℹ tests 41
ℹ suites 0
ℹ pass 41
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 873.417164
