✔ isRunId accepts the run id shape and nothing else (0.905823ms)
✔ a missing data root or runs directory lists nothing (1.321025ms)
✔ runs as a regular file lists nothing, as before (0.529432ms)
✔ listRunIds keeps r- names only, sorted oldest first (1.153074ms)
✔ listRunRecords returns each result, or null for an incomplete or unreadable one (1.185992ms)
✔ readRunRecord returns documents and artifacts in directory order (0.827411ms)
✔ readRunRecord is null for a missing run, a dangling link or a file (0.591006ms)
✔ readRunRecord and readRunDocument refuse an invalid run id before touching the disk (0.577183ms)
✔ readRunDocument reads only the three run documents (0.434322ms)
✔ a link inside the data root is followed (0.788555ms)
✔ a data root that is itself a link is trusted as configured (0.4811ms)
✔ a run directory linked out of the data root is never read (0.520134ms)
✔ a document linked out of the data root reads as null (0.791704ms)
✔ a runs directory linked out of the data root refuses (0.458468ms)
✔ a relative link that climbs out of the data root refuses (0.379347ms)
✔ a sibling whose name starts with the data root's name is outside it (0.416826ms)
✔ a link loop refuses instead of reading as missing (0.520076ms)
✔ an unreadable runs directory refuses instead of listing nothing (0.351773ms)
✔ an unreadable run directory refuses instead of reading as missing (0.406919ms)
✔ a link to the data root's parent is outside it (3.511489ms)
✔ listRunIds sorts whatever order the directory returns (0.650245ms)
✔ listRunRecords lists an r- name that isn't a valid run id, as before (0.406524ms)
✔ the readers write nothing (1.675722ms)
✔ no pointer is null (1.552526ms)
✔ the pointer release.sh writes reads back (0.92565ms)
✔ a pointer that isn't the version 1 shape refuses with exit 2 (1.32287ms)
✔ a pointer that is a directory refuses with exit 4 (0.475443ms)
✔ a state file linked out of the data root refuses (1.140037ms)
✔ a state directory linked out of the data root refuses (0.461645ms)
✔ a state directory linked out to nothing reads as no release and an empty log (0.413335ms)
✔ a missing log is empty (0.304271ms)
✔ the log reads oldest first and counts malformed lines (0.781181ms)
✔ last must be a positive integer (0.389838ms)
✔ the state readers write nothing (0.649939ms)
✔ list prints each run in the established format (66.240459ms)
✔ list prints a damaged result.json as unknown and keeps listing the runs after it (62.14805ms)
✔ list prints each result field that isn't a string as unknown or - (66.424679ms)
✔ show prints the run in the established format (63.893433ms)
✔ show of a missing run and an invalid id exit 4 as before (102.273476ms)
✔ list and show refuse a runs directory linked out of the data root (120.627337ms)
✔ show refuses a run linked out of the data root; list reports it unknown (119.800796ms)
✔ list shows an r- name that isn't a valid run id, as before (60.942096ms)
✔ show refuses an invalid id before reading the config (34.155935ms)
ℹ tests 43
ℹ suites 0
ℹ pass 43
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 749.828597
