suiteMarkerFile function
Where the marker recording that resource inside containerId belongs to
a suite that is still running is kept.
A file rather than an in-memory flag: dart test gives every suite file
its own isolate, and isolates share no memory, so the filesystem is the
one channel every isolate in a run can see.
kind namespaces one module's markers from another's, and resource is
whatever that module claims inside the container — a database name, an
index. rig prune sweeps markers/*/<containerId> without knowing any
kind, so a new module needs no change there.
Implementation
File suiteMarkerFile({
required StateDir stateDir,
required String kind,
required String containerId,
required String resource,
}) => File(p.join(stateDir.markerDir(kind).path, containerId, resource));