suiteMarkerFile function

File suiteMarkerFile({
  1. required StateDir stateDir,
  2. required String kind,
  3. required String containerId,
  4. required String resource,
})

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));