✔ isRunId accepts the run id shape and nothing else (0.854358ms) ✔ a missing data root or runs directory lists nothing (1.345365ms) ✔ runs as a regular file lists nothing, as before (0.57279ms) ✔ listRunIds keeps r- names only, sorted oldest first (1.10759ms) ✔ listRunRecords returns each result, or null for an incomplete or unreadable one (1.24486ms) ✔ readRunRecord returns documents and artifacts in directory order (0.839507ms) ✔ readRunRecord is null for a missing run, a dangling link or a file (0.581441ms) ✔ readRunRecord and readRunDocument refuse an invalid run id before touching the disk (0.596668ms) ✔ readRunDocument reads only the three run documents (0.432598ms) ✔ a link inside the data root is followed (0.807258ms) ✔ a data root that is itself a link is trusted as configured (0.553929ms) ✔ a run directory linked out of the data root is never read (0.561149ms) ✔ a document linked out of the data root reads as null (0.742461ms) ✔ a runs directory linked out of the data root refuses (0.515433ms) ✔ a relative link that climbs out of the data root refuses (0.356069ms) ✔ a sibling whose name starts with the data root's name is outside it (0.401066ms) ✔ a link loop refuses instead of reading as missing (0.528951ms) ✔ an unreadable runs directory refuses instead of listing nothing (0.362125ms) ✔ an unreadable run directory refuses instead of reading as missing (0.418414ms) ✔ a link to the data root's parent is outside it (0.320796ms) ✔ listRunIds sorts whatever order the directory returns (0.633197ms) ✔ listRunRecords lists an r- name that isn't a valid run id, as before (0.402101ms) ✔ the readers write nothing (1.616977ms) ✔ no pointer is null (1.511966ms) ✔ the pointer release.sh writes reads back (0.975616ms) ✔ a pointer that isn't the version 1 shape refuses with exit 2 (1.551705ms) ✔ a pointer that is a directory refuses with exit 4 (0.985125ms) ✔ a state file linked out of the data root refuses (0.772662ms) ✔ a state directory linked out of the data root refuses (0.482495ms) ✔ a state directory linked out to nothing reads as no release and an empty log (0.40081ms) ✔ a missing log is empty (0.307879ms) ✔ the log reads oldest first and counts malformed lines (0.831259ms) ✔ last must be a positive integer (0.398877ms) ✔ the state readers write nothing (0.684014ms) ✔ list prints each run in the established format (71.354595ms) ✔ list prints a damaged result.json as unknown and keeps listing the runs after it (65.27486ms) ✔ list prints each result field that isn't a string as unknown or - (67.592253ms) ✔ show prints the run in the established format (81.03627ms) ✔ show of a missing run and an invalid id exit 4 as before (105.701345ms) ✔ list and show refuse a runs directory linked out of the data root (122.620881ms) ✔ show refuses a run linked out of the data root; list reports it unknown (124.091068ms) ✔ list shows an r- name that isn't a valid run id, as before (60.476307ms) ✔ show refuses an invalid id before reading the config (34.083968ms) ℹ tests 43 ℹ suites 0 ℹ pass 43 ℹ fail 0 ℹ cancelled 0 ℹ skipped 0 ℹ todo 0 ℹ duration_ms 785.363241