Keep checked execution groups and public catalog preparation cooperative
This commit is contained in:
@@ -45,7 +45,7 @@ const prepare = async (workspace: WorkspaceRevision) => {
|
||||
test("execution reuse ignores world/source/display changes and unrelated packages", async () => {
|
||||
const workspace = await loadReaderWorkspace(),
|
||||
original = await prepare(workspace);
|
||||
const before = original.groups()[0]!.executionDigest;
|
||||
const before = (await original.groups())[0]!.executionDigest;
|
||||
workspace.sourceRootCommit = "f".repeat(40);
|
||||
workspace.packageImports[0]!.displayName = "Renamed";
|
||||
workspace.packageImports[0]!.source.commit = "e".repeat(40);
|
||||
@@ -59,13 +59,13 @@ test("execution reuse ignores world/source/display changes and unrelated package
|
||||
const after = await prepare(workspace);
|
||||
assert.notEqual(after.plan.digest, original.plan.digest);
|
||||
assert.equal(
|
||||
after.groups().find((g) => g.logicalId === workspace.packageImports[0]!.packageId)!.executionDigest,
|
||||
(await after.groups()).find((g) => g.logicalId === workspace.packageImports[0]!.packageId)!.executionDigest,
|
||||
before,
|
||||
);
|
||||
original.environments[workspace.packageImports[0]!.revisionId]!.credentialGeneration = "config:2";
|
||||
assert.notEqual(original.groups()[0]!.executionDigest, before);
|
||||
assert.notEqual((await original.groups())[0]!.executionDigest, before);
|
||||
original.environments[workspace.packageImports[0]!.revisionId]!.placement = "module";
|
||||
assert.notEqual(original.groups()[0]!.executionDigest, before);
|
||||
assert.notEqual((await original.groups())[0]!.executionDigest, before);
|
||||
});
|
||||
|
||||
test("outbound provider changes invalidate consumers while caller changes preserve providers", async () => {
|
||||
@@ -108,15 +108,15 @@ test("outbound provider changes invalidate consumers while caller changes preser
|
||||
dependencies: [{ portId, binding: { kind: "state", slotId: id.slot("slot:document:content") } }],
|
||||
};
|
||||
const prepared = await prepare(workspace);
|
||||
const values = () => new Map(prepared.groups().map((g) => [g.logicalId, g.executionDigest]));
|
||||
const before = values();
|
||||
const values = async () => new Map((await prepared.groups()).map((g) => [g.logicalId, g.executionDigest]));
|
||||
const before = await values();
|
||||
prepared.installation.packages.find((p) => p.revision === "package:reader-runtime@1")!.service!.contentDigest =
|
||||
"c".repeat(64);
|
||||
const callerChanged = values();
|
||||
const callerChanged = await values();
|
||||
assert.equal(callerChanged.get("provider"), before.get("provider"));
|
||||
assert.notEqual(callerChanged.get("package:reader-runtime"), before.get("package:reader-runtime"));
|
||||
prepared.installation.packages.find((p) => p.revision === revision)!.service!.contentDigest = "d".repeat(64);
|
||||
const providerChanged = values();
|
||||
const providerChanged = await values();
|
||||
assert.notEqual(providerChanged.get("provider"), callerChanged.get("provider"));
|
||||
assert.notEqual(providerChanged.get("package:reader-runtime"), callerChanged.get("package:reader-runtime"));
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user