The receipt claims the catalogue the beds read
A bed installs a catalogue module by reading its manifest from MESH_LAB_CATALOG at run time, so a receipt naming no catalogue commit cannot say whether a catalogue change was ever proven. Claimed under either spelling of the variable; not built, because a manifest is read, not compiled (novox/hq 04-ISSUES/073).
This commit is contained in:
@@ -104,12 +104,28 @@ test("every repository the receipt claims was built by the run", () => {
|
||||
MESH_LAB_HOST_BINARY: "/repo/host/mesh-host",
|
||||
MESH_LAB_MODULES: "/repo/control/examples/modules",
|
||||
MESH_LAB_BUILDER: "/repo/control/build/mesh-builder",
|
||||
MESH_LAB_CATALOG: "/repo/catalog/modules",
|
||||
};
|
||||
const built = new Set(planned(env).map((b) => b.in));
|
||||
for (const [name, directory] of Object.entries(repositories(env))) {
|
||||
// mesh-lab is the exception, and it is not an omission: it is TypeScript run from source, so
|
||||
// the code under test *is* the code running. There is nothing to build and nothing to go stale.
|
||||
if (name === "mesh-lab") continue;
|
||||
// mesh-catalog is the other exception, for the other reason: what a bed takes from it is a
|
||||
// manifest, read from disk when the bed runs. There is nothing built from it that could go
|
||||
// stale — and claiming it is the whole point, since a bed that carried its own copy of the
|
||||
// manifest was proving the copy (novox/hq 04-ISSUES/073).
|
||||
if (name === "mesh-catalog") continue;
|
||||
assert.ok(built.has(directory), `${name} (${directory}) is claimed but never built`);
|
||||
}
|
||||
});
|
||||
|
||||
// The catalogue is claimed by the receipt, under either spelling the beds accept.
|
||||
//
|
||||
// A bed reads the manifest it installs from the catalogue checkout (novox/hq 04-ISSUES/073), so a
|
||||
// receipt that names no catalogue commit cannot say whether a change there was ever proven.
|
||||
test("the receipt claims the catalogue the beds read, however it was named", () => {
|
||||
assert.equal(repositories({ MESH_LAB_CATALOG: "/repo/catalog/modules" })["mesh-catalog"], "/repo/catalog");
|
||||
assert.equal(repositories({ MESH_LAB_CATALOG: "/repo/catalog" })["mesh-catalog"], "/repo/catalog");
|
||||
assert.equal(repositories({})["mesh-catalog"], undefined);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user