@overkill-dev/run 0.0.59 → 0.0.60
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/engine/test-body-resource-attachment.d.ts +1 -0
- package/engine/test-body-resource-attachment.d.ts.map +1 -1
- package/engine/test-body-resource-attachment.js +1 -0
- package/engine/test-body-resource-attachment.js.map +1 -1
- package/package.json +2 -1
- package/packages/run/run.entry-point.d.ts +3 -2
- package/packages/run/run.entry-point.d.ts.map +1 -1
- package/packages/run/run.entry-point.js +1 -1
- package/packages/run/run.entry-point.js.map +1 -1
- package/readme.md +11 -1
- package/resources/resource-graph.d.ts +1 -0
- package/resources/resource-graph.d.ts.map +1 -1
- package/resources/resource-graph.js +2 -2
- package/resources/resource-graph.js.map +1 -1
- package/run/execution-plan-resolution.js +356 -0
- package/run/execution-plan-resolution.js.map +1 -0
- package/run/permission-denial-runtime-policy.js +12 -2
- package/run/permission-denial-runtime-policy.js.map +1 -1
- package/run/resource-lifecycle-boundaries.js +8 -4
- package/run/resource-lifecycle-boundaries.js.map +1 -1
- package/run/resource-lifecycle-state.d.ts +9 -1
- package/run/resource-lifecycle-state.d.ts.map +1 -1
- package/run/resource-lifecycle-state.js.map +1 -1
- package/run/resource-lifecycle.js +37 -5
- package/run/resource-lifecycle.js.map +1 -1
- package/run/resource-ownership-plan.d.ts +30 -0
- package/run/resource-ownership-plan.d.ts.map +1 -0
- package/run/run-collected-planning.js +8 -0
- package/run/run-collected-planning.js.map +1 -1
- package/run/run-errors.d.ts +54 -0
- package/run/run-errors.d.ts.map +1 -1
- package/run/run-errors.js +61 -0
- package/run/run-errors.js.map +1 -1
- package/run/run-types.d.ts +3 -2
- package/run/run-types.d.ts.map +1 -1
- package/run/run-types.js +3 -4
- package/run/run-types.js.map +1 -1
- package/run/work-unit-planning.js +16 -3
- package/run/work-unit-planning.js.map +1 -1
- package/run/worker-pool-execution.js +15 -19
- package/run/worker-pool-execution.js.map +1 -1
- package/run/worker-pool-hedged-arbitration.js +22 -6
- package/run/worker-pool-hedged-arbitration.js.map +1 -1
- package/run/worker-pool-host-protocol.js.map +1 -1
- package/run/worker-pool-host-task.js +9 -0
- package/run/worker-pool-host-task.js.map +1 -1
- package/run/worker-pool-host.entry-point.js +13 -13
- package/run/worker-pool-host.entry-point.js.map +1 -1
- package/run/worker-pool-lanes.js +16 -9
- package/run/worker-pool-lanes.js.map +1 -1
- package/run/worker-pool-placement-planning.js +24 -3
- package/run/worker-pool-placement-planning.js.map +1 -1
- package/run/worker-pool-protocol.js +19 -0
- package/run/worker-pool-protocol.js.map +1 -1
- package/run/worker-pool-resource-lifecycle-execution.js +143 -12
- package/run/worker-pool-resource-lifecycle-execution.js.map +1 -1
- package/run/worker-pool-routing.js +13 -1
- package/run/worker-pool-routing.js.map +1 -1
- package/run/worker-pool-runtime.js +12 -16
- package/run/worker-pool-runtime.js.map +1 -1
- package/run/worker-pool-task-events.js +6 -1
- package/run/worker-pool-task-events.js.map +1 -1
- package/run/worker-pool-task-validation.js +1 -0
- package/run/worker-pool-task-validation.js.map +1 -1
- package/run/worker-pool-worker-resources.js +9 -2
- package/run/worker-pool-worker-resources.js.map +1 -1
- package/run/worker-pool-worker.js +9 -1
- package/run/worker-pool-worker.js.map +1 -1
- package/sbom.cdx.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permission-denial-runtime-policy.js","sourceRoot":"","sources":["../../../../source/run/permission-denial-runtime-policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,kBAAkB,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAA4B,MAAM,uBAAuB,CAAC;AAClF,OAAO,EACH,yCAAyC,EAG5C,MAAM,yBAAyB,CAAC;AAkBjC,MAAM,iCAAiC,GAAqC;IACxE,6BAA6B,EAAE,eAAe;IAC9C,2BAA2B,EAAE,QAAQ;IACrC,0BAA0B,EAAE,SAAS;IACrC,iCAAiC,EAAE,WAAW;IAC9C,2BAA2B,EAAE,KAAK;IAClC,qCAAqC,EAAE,eAAe;IACtD,4BAA4B,EAAE,MAAM;IACpC,8BAA8B,EAAE,QAAQ;CAC3C,CAAC;AAEF,SAAS,0BAA0B,CAAC,YAAqB;IACrD,OAAO,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,wCAAwC,CACpD,iBAAiE,EACjE,KAA6C,EAC7C,WAAyC;IAEzC,OAAO,MAAM,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC,GAAG,CAAC,SAAS,4BAA4B,CAC9F,CAAE,IAAI,EAAE,UAAU,CAAE;QAEpB,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,SAAS,gBAAgB,CAAC,OAAgB;
|
|
1
|
+
{"version":3,"file":"permission-denial-runtime-policy.js","sourceRoot":"","sources":["../../../../source/run/permission-denial-runtime-policy.ts"],"names":[],"mappings":"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"}
|
|
@@ -111,7 +111,11 @@ function resourceGraphBoundaries(testCase, rootResourceNames, resourceName, bind
|
|
|
111
111
|
return;
|
|
112
112
|
}
|
|
113
113
|
const identity = resourceAcquisitionCacheIdentity(resourceSummaryCacheIdentityNode(resource, resourcesByName, bindingsByResource));
|
|
114
|
-
boundaries.push(
|
|
114
|
+
boundaries.push({
|
|
115
|
+
...resourceBoundary(resourceName(resource), resource.scope, testCase, identity),
|
|
116
|
+
handleTransport: resource.handleTransport,
|
|
117
|
+
resourceName: resource.name
|
|
118
|
+
});
|
|
115
119
|
}
|
|
116
120
|
function visit(name) {
|
|
117
121
|
if (visited.has(name)) {
|
|
@@ -132,7 +136,7 @@ function resourceGraphBoundaries(testCase, rootResourceNames, resourceName, bind
|
|
|
132
136
|
}
|
|
133
137
|
return boundaries;
|
|
134
138
|
}
|
|
135
|
-
function
|
|
139
|
+
export function caseResourceOwnershipBoundaries(testCase) {
|
|
136
140
|
const directBoundaries = resourceGraphBoundaries(testCase, testCase.resourceAttachments.directResources.map(function directResourceName(resource) {
|
|
137
141
|
return resource.resourceName;
|
|
138
142
|
}), function directResourceName(resource) {
|
|
@@ -155,7 +159,7 @@ function caseResourceBoundaries(testCase) {
|
|
|
155
159
|
function initialBoundaryUseCounts(testCases) {
|
|
156
160
|
const counts = new Map();
|
|
157
161
|
for (const testCase of testCases) {
|
|
158
|
-
for (const boundary of
|
|
162
|
+
for (const boundary of caseResourceOwnershipBoundaries(testCase)) {
|
|
159
163
|
counts.set(boundary.key, (counts.get(boundary.key) ?? 0) + 1);
|
|
160
164
|
}
|
|
161
165
|
}
|
|
@@ -172,7 +176,7 @@ export function resourceLifecycleBoundaryUseCounts(testCases) {
|
|
|
172
176
|
});
|
|
173
177
|
}
|
|
174
178
|
export function caseResourceBoundaryKeys(testCase, scopes) {
|
|
175
|
-
return
|
|
179
|
+
return caseResourceOwnershipBoundaries(testCase).flatMap(function toBoundaryKey(boundary) {
|
|
176
180
|
return scopes.has(boundary.scope) ? [boundary.key] : [];
|
|
177
181
|
});
|
|
178
182
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-lifecycle-boundaries.js","sourceRoot":"","sources":["../../../../source/run/resource-lifecycle-boundaries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAkB,MAAM,uBAAuB,CAAC;AAS5F,OAAO,EACH,gCAAgC,EAChC,mCAAmC,EAEtC,MAAM,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"resource-lifecycle-boundaries.js","sourceRoot":"","sources":["../../../../source/run/resource-lifecycle-boundaries.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,9 +2,16 @@ import type { RunnerError } from '../engine/run-result.ts';
|
|
|
2
2
|
import type { TestPlanCase } from '../engine/test-plan.ts';
|
|
3
3
|
import type { ComposedResourceSession, LifecycleMessages, ResourceWrapperStep } from './resource-lifecycle-composition.ts';
|
|
4
4
|
export type ManagedRunnerError = RunnerError;
|
|
5
|
+
type ManagedResourceScopeAcquisition = {
|
|
6
|
+
readonly boundaryKeys: ReadonlySet<string>;
|
|
7
|
+
readonly scopes: ReadonlySet<string>;
|
|
8
|
+
readonly signal: AbortSignal;
|
|
9
|
+
readonly steps: readonly ResourceWrapperStep[];
|
|
10
|
+
readonly testCase: TestPlanCase;
|
|
11
|
+
};
|
|
5
12
|
export type ManagedLifecycleState = {
|
|
6
13
|
readonly acquireComposedResources: (steps: readonly ResourceWrapperStep[], signal: AbortSignal, messages: LifecycleMessages) => Promise<ComposedResourceSession>;
|
|
7
|
-
readonly acquireResourceScopes: (
|
|
14
|
+
readonly acquireResourceScopes: (request: ManagedResourceScopeAcquisition) => Promise<void>;
|
|
8
15
|
readonly disposeAll: (signal: AbortSignal) => Promise<readonly ManagedRunnerError[]>;
|
|
9
16
|
readonly runCase: <Value>(testCase: TestPlanCase, run: () => Promise<Value>) => Promise<Value>;
|
|
10
17
|
readonly takeCaseErrors: (testCase: TestPlanCase) => readonly ManagedRunnerError[];
|
|
@@ -15,4 +22,5 @@ export declare function activeManagedLifecycle(): ManagedLifecycleState | null;
|
|
|
15
22
|
export declare function runWithManagedLifecycle<Value>(lifecycle: ManagedLifecycleState, run: () => Promise<Value>): Promise<Value>;
|
|
16
23
|
export declare function currentLifecycleCase(): TestPlanCase | null;
|
|
17
24
|
export declare function runWithLifecycleCase<Value>(testCase: TestPlanCase, run: () => Promise<Value>): Promise<Value>;
|
|
25
|
+
export {};
|
|
18
26
|
//# sourceMappingURL=resource-lifecycle-state.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-lifecycle-state.d.ts","sourceRoot":"","sources":["../../../../source/run/resource-lifecycle-state.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EACR,uBAAuB,EACvB,iBAAiB,EACjB,mBAAmB,EACtB,MAAM,qCAAqC,CAAC;AAE7C,MAAM,MAAM,kBAAkB,GAAG,WAAW,CAAC;AAE7C,
|
|
1
|
+
{"version":3,"file":"resource-lifecycle-state.d.ts","sourceRoot":"","sources":["../../../../source/run/resource-lifecycle-state.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EACR,uBAAuB,EACvB,iBAAiB,EACjB,mBAAmB,EACtB,MAAM,qCAAqC,CAAC;AAE7C,MAAM,MAAM,kBAAkB,GAAG,WAAW,CAAC;AAE7C,KAAK,+BAA+B,GAAG;IACnC,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3C,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAC/C,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAChC,QAAQ,CAAC,wBAAwB,EAAE,CAC/B,KAAK,EAAE,SAAS,mBAAmB,EAAE,EACrC,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,iBAAiB,KAC1B,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACtC,QAAQ,CAAC,qBAAqB,EAAE,CAAC,OAAO,EAAE,+BAA+B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5F,QAAQ,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,SAAS,kBAAkB,EAAE,CAAC,CAAC;IACrF,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;IAC/F,QAAQ,CAAC,cAAc,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,SAAS,kBAAkB,EAAE,CAAC;IACnF,QAAQ,CAAC,oBAAoB,EAAE,MAAM,SAAS,kBAAkB,EAAE,CAAC;IACnE,QAAQ,CAAC,aAAa,EAAE,MAAM,SAAS,kBAAkB,EAAE,CAAC;CAC/D,CAAC;AAKF,wBAAgB,sBAAsB,IAAI,qBAAqB,GAAG,IAAI,CAErE;AAED,wBAAsB,uBAAuB,CAAC,KAAK,EAC/C,SAAS,EAAE,qBAAqB,EAChC,GAAG,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC,GAC1B,OAAO,CAAC,KAAK,CAAC,CAEhB;AAED,wBAAgB,oBAAoB,IAAI,YAAY,GAAG,IAAI,CAE1D;AAED,wBAAsB,oBAAoB,CAAC,KAAK,EAC5C,QAAQ,EAAE,YAAY,EACtB,GAAG,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC,GAC1B,OAAO,CAAC,KAAK,CAAC,CAEhB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-lifecycle-state.js","sourceRoot":"","sources":["../../../../source/run/resource-lifecycle-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"resource-lifecycle-state.js","sourceRoot":"","sources":["../../../../source/run/resource-lifecycle-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAiCrD,MAAM,eAAe,GAAG,IAAI,iBAAiB,EAAyB,CAAC;AACvE,MAAM,WAAW,GAAG,IAAI,iBAAiB,EAAgB,CAAC;AAE1D,MAAM,UAAU,sBAAsB;IAClC,OAAO,eAAe,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC;AAC9C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CACzC,SAAgC,EAChC,GAAyB;IAEzB,OAAO,MAAM,eAAe,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,oBAAoB;IAChC,OAAO,WAAW,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC;AAC1C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACtC,QAAsB,EACtB,GAAyB;IAEzB,OAAO,MAAM,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;AAChD,CAAC"}
|
|
@@ -3,7 +3,7 @@ import { combinedResourceEntries, composedResourceSession, directResourceEntries
|
|
|
3
3
|
import { currentLifecycleCase, runWithLifecycleCase, runWithManagedLifecycle } from "./resource-lifecycle-state.js";
|
|
4
4
|
import { resourceWrapperErrorFromUnknown, resourceWrapperLifecycleError } from "./resource-lifecycle-error.js";
|
|
5
5
|
import { managedResourceSession } from "./resource-lifecycle-managed-session.js";
|
|
6
|
-
import { caseResourceBoundaryKeys, resourceLifecycleBoundaryUseCounts, resourceScopes } from "./resource-lifecycle-boundaries.js";
|
|
6
|
+
import { boundaryFor, caseResourceBoundaryKeys, resourceLifecycleBoundaryUseCounts, resourceScopes } from "./resource-lifecycle-boundaries.js";
|
|
7
7
|
import { createManagedResourceAcquirer, createManagedStores, resourceProjectionRecordsFromStores, managedResourceHandle } from "./resource-lifecycle-session-acquirer.js";
|
|
8
8
|
function currentRunningCase() {
|
|
9
9
|
const testCase = currentLifecycleCase();
|
|
@@ -111,7 +111,8 @@ async function acquireManagedResourceScopes(request) {
|
|
|
111
111
|
const acquirer = createManagedResourceAcquirer(request.stores, request.options);
|
|
112
112
|
assertResourceDependencyScopes(combinedResources);
|
|
113
113
|
for (const node of graph.order) {
|
|
114
|
-
if (request.scopes.has(node.descriptor.scope)
|
|
114
|
+
if (request.scopes.has(node.descriptor.scope) &&
|
|
115
|
+
request.boundaryKeys.has(boundaryFor(node.descriptor, request.testCase).key)) {
|
|
115
116
|
await acquirer.acquire(node.descriptor, request.testCase, request.signal);
|
|
116
117
|
}
|
|
117
118
|
}
|
|
@@ -135,6 +136,25 @@ async function disposeAllManagedResources(stores, signal, timing) {
|
|
|
135
136
|
}
|
|
136
137
|
return errors;
|
|
137
138
|
}
|
|
139
|
+
async function completeManagedBoundaries(stores, boundaryKeys, timing) {
|
|
140
|
+
const errors = [];
|
|
141
|
+
for (const boundaryKey of boundaryKeys) {
|
|
142
|
+
try {
|
|
143
|
+
await disposeCompletedBoundary(stores, boundaryKey, timing);
|
|
144
|
+
}
|
|
145
|
+
catch (error) {
|
|
146
|
+
errors.push({
|
|
147
|
+
attributedTo: null,
|
|
148
|
+
attributedToWork: null,
|
|
149
|
+
cause: error,
|
|
150
|
+
diagnostics: [],
|
|
151
|
+
message: 'Resource disposal failed.',
|
|
152
|
+
subtype: 'runtime-policy'
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
return errors;
|
|
157
|
+
}
|
|
138
158
|
function createManagedLifecycleState(options) {
|
|
139
159
|
const stores = createManagedStores(options);
|
|
140
160
|
const context = { options, stores };
|
|
@@ -144,8 +164,8 @@ function createManagedLifecycleState(options) {
|
|
|
144
164
|
async acquireComposedResources(steps, signal, messages) {
|
|
145
165
|
return await acquireManagedComposedResources({ ...context, messages, signal, steps });
|
|
146
166
|
},
|
|
147
|
-
async acquireResourceScopes(
|
|
148
|
-
await acquireManagedResourceScopes({ ...context,
|
|
167
|
+
async acquireResourceScopes(request) {
|
|
168
|
+
await acquireManagedResourceScopes({ ...context, ...request });
|
|
149
169
|
},
|
|
150
170
|
async disposeAll(signal) {
|
|
151
171
|
return await disposeAllManagedResources(stores, signal, options.timing);
|
|
@@ -198,6 +218,9 @@ export function createResourceLifecycleRuntimePolicy(testCases, timing) {
|
|
|
198
218
|
export function createResourceLifecycleSession(options) {
|
|
199
219
|
const { lifecycle, stores } = createManagedLifecycleState(options);
|
|
200
220
|
return {
|
|
221
|
+
async completeBoundaries(boundaryKeys) {
|
|
222
|
+
return await completeManagedBoundaries(stores, boundaryKeys, options.timing);
|
|
223
|
+
},
|
|
201
224
|
async disposeAll(signal) {
|
|
202
225
|
return await lifecycle.disposeAll(signal);
|
|
203
226
|
},
|
|
@@ -211,10 +234,19 @@ export async function acquireResourceLifecycleScopes(request) {
|
|
|
211
234
|
const { lifecycle, stores } = createManagedLifecycleState(request.options);
|
|
212
235
|
await runWithManagedLifecycle(lifecycle, async function acquireSelectedScopes() {
|
|
213
236
|
for (const testCase of request.testCases) {
|
|
214
|
-
await lifecycle.acquireResourceScopes(
|
|
237
|
+
await lifecycle.acquireResourceScopes({
|
|
238
|
+
boundaryKeys: request.boundaryKeys,
|
|
239
|
+
scopes: request.scopes,
|
|
240
|
+
signal: request.signal,
|
|
241
|
+
steps: request.stepsForCase(testCase),
|
|
242
|
+
testCase
|
|
243
|
+
});
|
|
215
244
|
}
|
|
216
245
|
});
|
|
217
246
|
return {
|
|
247
|
+
async completeBoundaries(boundaryKeys) {
|
|
248
|
+
return await completeManagedBoundaries(stores, boundaryKeys, request.options.timing);
|
|
249
|
+
},
|
|
218
250
|
async disposeAll(disposalSignal) {
|
|
219
251
|
return await lifecycle.disposeAll(disposalSignal);
|
|
220
252
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-lifecycle.js","sourceRoot":"","sources":["../../../../source/run/resource-lifecycle.ts"],"names":[],"mappings":"AAOA,OAAO,EACH,8BAA8B,EAC9B,0BAA0B,EAC1B,mBAAmB,EAEtB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACH,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,EACrB,yBAAyB,EACzB,sBAAsB,EACtB,iBAAiB,EAIpB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACH,oBAAoB,EACpB,oBAAoB,EACpB,uBAAuB,EAG1B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACH,+BAA+B,EAC/B,6BAA6B,EAChC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EACH,wBAAwB,EACxB,kCAAkC,EAClC,cAAc,EAEjB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACH,6BAA6B,EAC7B,mBAAmB,EACnB,mCAAmC,EACnC,qBAAqB,EAKxB,MAAM,0CAA0C,CAAC;
|
|
1
|
+
{"version":3,"file":"resource-lifecycle.js","sourceRoot":"","sources":["../../../../source/run/resource-lifecycle.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { NonEmptyReadonlyArray } from '../assertion-protocol/assertion-node-shape.ts';
|
|
2
|
+
import type { RuntimeId, WorkId, WorkloadId } from '../engine/identity.ts';
|
|
3
|
+
type ResourceOwnerWorkUnitId = {
|
|
4
|
+
readonly key: string;
|
|
5
|
+
readonly mode: 'case' | 'file' | 'group';
|
|
6
|
+
readonly runtimes: readonly RuntimeId[];
|
|
7
|
+
readonly workload: WorkloadId | null;
|
|
8
|
+
};
|
|
9
|
+
export type ResourceOwnerPlacement = {
|
|
10
|
+
readonly id: 'resource-owner';
|
|
11
|
+
readonly kind: 'infrastructure-worker';
|
|
12
|
+
} | {
|
|
13
|
+
readonly kind: 'executor-lane';
|
|
14
|
+
readonly lane: string;
|
|
15
|
+
} | {
|
|
16
|
+
readonly kind: 'work-unit';
|
|
17
|
+
readonly unit: ResourceOwnerWorkUnitId;
|
|
18
|
+
};
|
|
19
|
+
export type PlannedResourceOwner = {
|
|
20
|
+
readonly boundaryKey: string;
|
|
21
|
+
readonly placement: ResourceOwnerPlacement;
|
|
22
|
+
readonly resourceName: string;
|
|
23
|
+
readonly scope: 'per-file' | 'per-run' | 'per-suite';
|
|
24
|
+
readonly work: NonEmptyReadonlyArray<WorkId>;
|
|
25
|
+
};
|
|
26
|
+
export type ResourceOwnershipPlan = {
|
|
27
|
+
readonly owners: readonly PlannedResourceOwner[];
|
|
28
|
+
};
|
|
29
|
+
export {};
|
|
30
|
+
//# sourceMappingURL=resource-ownership-plan.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resource-ownership-plan.d.ts","sourceRoot":"","sources":["../../../../source/run/resource-ownership-plan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AAC3F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAE3E,KAAK,uBAAuB,GAAG;IAC3B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IACzC,QAAQ,CAAC,QAAQ,EAAE,SAAS,SAAS,EAAE,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,UAAU,GAAG,IAAI,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACjC,QAAQ,CAAC,EAAE,EAAE,gBAAgB,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,uBAAuB,CAAC;CAC1C,GAAG;IACA,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACzB,GAAG;IACA,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,uBAAuB,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,sBAAsB,CAAC;IAC3C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,GAAG,WAAW,CAAC;IACrD,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC,MAAM,CAAC,CAAC;CAChD,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAChC,QAAQ,CAAC,MAAM,EAAE,SAAS,oBAAoB,EAAE,CAAC;CACpD,CAAC"}
|
|
@@ -2,6 +2,8 @@ import { createRunShardHasher, shardCollectedRunPlanCases } from "./run-sharding
|
|
|
2
2
|
import { orderedRunItems } from "./run-selection.js";
|
|
3
3
|
import { collectedRunCaseEntriesFromWorkUnits, createWorkerPoolPlacementResolution } from "./worker-pool-placement-planning.js";
|
|
4
4
|
import { constrainedScheduling, workResourceConstraints } from "./work-unit-resource-constraints.js";
|
|
5
|
+
import { collectedPlanCompatibilityConflicts } from "./execution-plan-resolution.js";
|
|
6
|
+
import { RunExecutionPlanError } from "./run-errors.js";
|
|
5
7
|
function fileSetForDiscoveredFiles(files) {
|
|
6
8
|
const fileSets = new Map(files.map(function toFileSetEntry(file) {
|
|
7
9
|
return [file.file, file.fileSet];
|
|
@@ -68,6 +70,12 @@ function resolvedScheduling(input, orderedCases) {
|
|
|
68
70
|
return constrainedScheduling(input.profile.execution.scheduling, constraints);
|
|
69
71
|
}
|
|
70
72
|
export async function createCollectedExecutionPlan(input) {
|
|
73
|
+
if (input.planKind === 'supervised') {
|
|
74
|
+
const conflicts = collectedPlanCompatibilityConflicts(input.collectedPlan);
|
|
75
|
+
if (conflicts.length > 0) {
|
|
76
|
+
throw new RunExecutionPlanError(conflicts, undefined);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
71
79
|
const shardHasher = await createRunShardHasher(input.request.shard);
|
|
72
80
|
const placementResolution = createPlacementResolution(input, shardHasher);
|
|
73
81
|
const planningFacts = placementResolution ?? {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-collected-planning.js","sourceRoot":"","sources":["../../../../source/run/run-collected-planning.ts"],"names":[],"mappings":"AACA,OAAO,EACH,oBAAoB,EACpB,0BAA0B,EAC7B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACH,eAAe,EAClB,MAAM,oBAAoB,CAAC;AAU5B,OAAO,EACH,oCAAoC,EACpC,mCAAmC,EAGtC,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACH,qBAAqB,EACrB,uBAAuB,EAC1B,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"run-collected-planning.js","sourceRoot":"","sources":["../../../../source/run/run-collected-planning.ts"],"names":[],"mappings":"AACA,OAAO,EACH,oBAAoB,EACpB,0BAA0B,EAC7B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACH,eAAe,EAClB,MAAM,oBAAoB,CAAC;AAU5B,OAAO,EACH,oCAAoC,EACpC,mCAAmC,EAGtC,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACH,qBAAqB,EACrB,uBAAuB,EAC1B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,mCAAmC,EAAE,MAAM,gCAAgC,CAAC;AACrF,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAsBxD,SAAS,yBAAyB,CAAC,KAAgC;IAC/D,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,cAAc,CAAC,IAAI;QAC3D,OAAO,CAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAE,CAAC;IACvC,CAAC,CAAC,CAAC,CAAC;IAEJ,OAAO,SAAS,cAAc,CAAC,IAAI;QAC/B,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;IAC7D,CAAC,CAAC;AACN,CAAC;AAED,SAAS,0BAA0B,CAAC,OAAyB;IACzD,OAAO,OAAO,CAAC,SAAS,CAAC,YAAY,KAAK,aAAa;QACnD,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,gBAAgB;QACpC,CAAC,CAAC,qBAAqB,CAAC;AAChC,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAyB;IAC/C,OAAO,OAAO,CAAC,SAAS,CAAC,YAAY,KAAK,aAAa;QACnD,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,gBAAgB;QACpC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAC3B,CAAC;AAED,SAAS,eAAe,CAAC,OAAyB;IAC9C,OAAO,OAAO,CAAC,SAAS,CAAC,YAAY,KAAK,aAAa;QACnD,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,eAAe;QACnC,CAAC,CAAC,OAAO,CAAC;AAClB,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAyB;IACpD,OAAO,OAAO,CAAC,SAAS,CAAC,YAAY,KAAK,aAAa;QACnD,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU;QAC9B,CAAC,CAAC,IAAI,CAAC;AACf,CAAC;AAED,SAAS,yBAAyB,CAC9B,KAAkC,EAClC,WAA6D;IAE7D,IAAI,KAAK,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,mCAAmC,CAAC;QACvC,gBAAgB,EAAE,0BAA0B,CAAC,KAAK,CAAC,OAAO,CAAC;QAC3D,oBAAoB,EAAE,KAAK,CAAC,YAAY,CAAC,oBAAoB;QAC7D,oBAAoB,EAAE,KAAK,CAAC,oBAAoB;QAChD,cAAc,EAAE,yBAAyB,CAAC,KAAK,CAAC,KAAK,CAAC;QACtD,eAAe,EAAE,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,4BAA4B;QAC1E,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK;QAC1B,qBAAqB,EAAE,qBAAqB,CAAC,KAAK,CAAC,OAAO,CAAC;QAC3D,gBAAgB,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;QACvC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI;QACxB,YAAY,EAAE,KAAK,CAAC,aAAa;QACjC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK;QAC1B,WAAW;QACX,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU;QAC9C,gBAAgB,EAAE,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC;QACjD,eAAe,EAAE,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC;KAClD,CAAC,CAAC;AACP,CAAC;AAED,SAAS,qBAAqB,CAC1B,KAAkC,EAClC,aAAoE,EACpE,WAA6D;IAE7D,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;QACzB,OAAO,oCAAoC,CAAC,KAAK,CAAC,aAAa,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IAC1F,CAAC;IAED,OAAO,eAAe,CAClB,0BAA0B,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC,EACjF,KAAK,CAAC,OAAO,CAAC,KAAK,EACnB,KAAK,CAAC,OAAO,CAAC,IAAI,CACrB,CAAC;AACN,CAAC;AAED,SAAS,kBAAkB,CACvB,KAAkC,EAClC,YAAoD;IAEpD,IAAI,KAAK,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;QACnC,OAAO,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC;IAC9C,CAAC;IAED,MAAM,WAAW,GAAG,uBAAuB,CACvC,YAAY,CAAC,GAAG,CAAC,SAAS,QAAQ,CAAC,KAAK;QACpC,OAAO,KAAK,CAAC,MAAM,CAAC;IACxB,CAAC,CAAC,EACF,KAAK,CAAC,aAAa,CACtB,CAAC;IAEF,OAAO,qBAAqB,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;AAClF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAC9C,KAAkC;IAElC,IAAI,KAAK,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;QAClC,MAAM,SAAS,GAAG,mCAAmC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAE3E,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,qBAAqB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC1D,CAAC;IACL,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACpE,MAAM,mBAAmB,GAAG,yBAAyB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAC1E,MAAM,aAAa,GAAG,mBAAmB,IAAI;QACzC,eAAe,EAAE,IAAI;QACrB,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,IAAI;KACpB,CAAC;IACF,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,aAAa,CAAC;IACrD,MAAM,YAAY,GAAG,qBAAqB,CAAC,KAAK,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;IAE9E,OAAO;QACH,eAAe,EAAE,aAAa,CAAC,eAAe;QAC9C,YAAY;QACZ,aAAa;QACb,UAAU,EAAE,kBAAkB,CAAC,KAAK,EAAE,YAAY,CAAC;QACnD,WAAW;KACd,CAAC;AACN,CAAC"}
|
package/run/run-errors.d.ts
CHANGED
|
@@ -1,10 +1,63 @@
|
|
|
1
1
|
import { type RunnerError } from '../engine/run-result.ts';
|
|
2
|
+
import type { RuntimeId } from '../engine/identity.ts';
|
|
3
|
+
import type { RunProcessModel, RunTestFamily, RunWorkerLifecycle, WorkId, WorkUnitId } from './run-types.ts';
|
|
2
4
|
export type RunResolutionErrorCode = 'invalid-request' | 'no-tests-collected' | 'unsupported-request';
|
|
3
5
|
export declare class RunResolutionError extends Error {
|
|
4
6
|
private readonly errorCode;
|
|
5
7
|
constructor(message: string, options: Readonly<ErrorOptions> | undefined, code: RunResolutionErrorCode);
|
|
6
8
|
code(): RunResolutionErrorCode;
|
|
7
9
|
}
|
|
10
|
+
type ExecutionPlanResourceScope = 'per-case' | 'per-file' | 'per-run' | 'per-suite' | 'shared-per-worker';
|
|
11
|
+
export type ExecutionPlanResourceFacts = {
|
|
12
|
+
readonly name: string;
|
|
13
|
+
readonly scope: ExecutionPlanResourceScope;
|
|
14
|
+
};
|
|
15
|
+
export type RunExecutionPlanConflict = {
|
|
16
|
+
readonly available: number;
|
|
17
|
+
readonly kind: 'worker-capacity';
|
|
18
|
+
readonly lifecycles: readonly [RunWorkerLifecycle, ...readonly RunWorkerLifecycle[]];
|
|
19
|
+
readonly required: number;
|
|
20
|
+
} | {
|
|
21
|
+
readonly boundaryKey: string;
|
|
22
|
+
readonly kind: 'resource-projection-required';
|
|
23
|
+
readonly resource: ExecutionPlanResourceFacts;
|
|
24
|
+
readonly work: readonly [WorkId, ...readonly WorkId[]];
|
|
25
|
+
} | {
|
|
26
|
+
readonly constraint: string;
|
|
27
|
+
readonly kind: 'worker-lifecycle';
|
|
28
|
+
readonly lifecycles: readonly [RunWorkerLifecycle, ...readonly RunWorkerLifecycle[]];
|
|
29
|
+
readonly units: readonly [WorkUnitId, ...readonly WorkUnitId[]];
|
|
30
|
+
} | {
|
|
31
|
+
readonly definitions: readonly [ExecutionPlanResourceFacts, ...readonly ExecutionPlanResourceFacts[]];
|
|
32
|
+
readonly kind: 'resource-definition';
|
|
33
|
+
readonly name: string;
|
|
34
|
+
readonly work: readonly [WorkId, ...readonly WorkId[]];
|
|
35
|
+
} | {
|
|
36
|
+
readonly dependency: ExecutionPlanResourceFacts;
|
|
37
|
+
readonly kind: 'resource-dependency-scope';
|
|
38
|
+
readonly resource: ExecutionPlanResourceFacts;
|
|
39
|
+
readonly work: readonly [WorkId, ...readonly WorkId[]];
|
|
40
|
+
} | {
|
|
41
|
+
readonly file: string;
|
|
42
|
+
readonly fileSet: string | null;
|
|
43
|
+
readonly kind: 'work-distribution';
|
|
44
|
+
readonly reason: 'missing-file-set' | 'unmatched-file-set';
|
|
45
|
+
} | {
|
|
46
|
+
readonly kind: 'process-model';
|
|
47
|
+
readonly processModel: RunProcessModel;
|
|
48
|
+
readonly reason: 'resource-descriptors' | 'test-family';
|
|
49
|
+
readonly testFamily: RunTestFamily;
|
|
50
|
+
readonly work: readonly [WorkId, ...readonly WorkId[]];
|
|
51
|
+
} | {
|
|
52
|
+
readonly kind: 'runtime-definition';
|
|
53
|
+
readonly runtime: RuntimeId;
|
|
54
|
+
readonly work: readonly [WorkId, ...readonly WorkId[]];
|
|
55
|
+
};
|
|
56
|
+
export declare class RunExecutionPlanError extends RunResolutionError {
|
|
57
|
+
private readonly planConflicts;
|
|
58
|
+
constructor(conflicts: readonly RunExecutionPlanConflict[], options: Readonly<ErrorOptions> | undefined);
|
|
59
|
+
conflicts(): readonly [RunExecutionPlanConflict, ...readonly RunExecutionPlanConflict[]];
|
|
60
|
+
}
|
|
8
61
|
export declare class RunCollectionError extends Error {
|
|
9
62
|
private readonly errorSubtype;
|
|
10
63
|
constructor(message: string, options: Readonly<ErrorOptions>, subtype: RunnerError['subtype']);
|
|
@@ -12,4 +65,5 @@ export declare class RunCollectionError extends Error {
|
|
|
12
65
|
}
|
|
13
66
|
export declare function invalidRequest(message: string): never;
|
|
14
67
|
export declare function noTestsCollected(message: string): never;
|
|
68
|
+
export {};
|
|
15
69
|
//# sourceMappingURL=run-errors.d.ts.map
|
package/run/run-errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-errors.d.ts","sourceRoot":"","sources":["../../../../source/run/run-errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyC,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"run-errors.d.ts","sourceRoot":"","sources":["../../../../source/run/run-errors.ts"],"names":[],"mappings":"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"}
|
package/run/run-errors.js
CHANGED
|
@@ -10,6 +10,67 @@ export class RunResolutionError extends Error {
|
|
|
10
10
|
return this.errorCode;
|
|
11
11
|
}
|
|
12
12
|
}
|
|
13
|
+
function resourceConflictMessage(conflict) {
|
|
14
|
+
if (conflict.kind === 'resource-projection-required') {
|
|
15
|
+
return `Resource "${conflict.resource.name}" requires handle projection for ` +
|
|
16
|
+
`${conflict.resource.scope} ownership.`;
|
|
17
|
+
}
|
|
18
|
+
if (conflict.kind === 'resource-dependency-scope') {
|
|
19
|
+
return `Resource "${conflict.resource.name}" with ${conflict.resource.scope} scope cannot depend on ` +
|
|
20
|
+
`resource "${conflict.dependency.name}" with ${conflict.dependency.scope} scope.`;
|
|
21
|
+
}
|
|
22
|
+
if (conflict.kind === 'resource-definition') {
|
|
23
|
+
return `Resource identity "${conflict.name}" has incompatible definitions.`;
|
|
24
|
+
}
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
function workerConflictMessage(conflict) {
|
|
28
|
+
if (conflict.kind === 'worker-lifecycle') {
|
|
29
|
+
return `Hard constraint "${conflict.constraint}" spans incompatible worker lifecycles.`;
|
|
30
|
+
}
|
|
31
|
+
if (conflict.kind === 'worker-capacity') {
|
|
32
|
+
return `Worker-pool execution requires ${conflict.required} lifecycle lanes but only ` +
|
|
33
|
+
`${conflict.available} are available.`;
|
|
34
|
+
}
|
|
35
|
+
if (conflict.kind === 'work-distribution') {
|
|
36
|
+
return conflict.reason === 'missing-file-set'
|
|
37
|
+
? `Grouped work distribution requires a file set for "${conflict.file}".`
|
|
38
|
+
: `Grouped work distribution has no group for file set "${conflict.fileSet}" ` +
|
|
39
|
+
`selected by "${conflict.file}".`;
|
|
40
|
+
}
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
43
|
+
function identityConflictMessage(conflict) {
|
|
44
|
+
if (conflict.kind === 'runtime-definition') {
|
|
45
|
+
return `Runtime identity "${conflict.runtime.name}" has incompatible definitions.`;
|
|
46
|
+
}
|
|
47
|
+
if (conflict.kind === 'process-model') {
|
|
48
|
+
return `Process model "${conflict.processModel}" is incompatible with the selected ` +
|
|
49
|
+
`${conflict.testFamily} work.`;
|
|
50
|
+
}
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
function conflictMessage(conflict) {
|
|
54
|
+
return resourceConflictMessage(conflict) ??
|
|
55
|
+
workerConflictMessage(conflict) ??
|
|
56
|
+
identityConflictMessage(conflict) ??
|
|
57
|
+
'Execution plan has an unknown incompatibility.';
|
|
58
|
+
}
|
|
59
|
+
export class RunExecutionPlanError extends RunResolutionError {
|
|
60
|
+
planConflicts;
|
|
61
|
+
constructor(conflicts, options) {
|
|
62
|
+
super(`Execution plan is incompatible: ${conflicts.map(conflictMessage).join(' ')}`, options, 'invalid-request');
|
|
63
|
+
const [firstConflict, ...remainingConflicts] = conflicts;
|
|
64
|
+
if (firstConflict === undefined) {
|
|
65
|
+
throw new TypeError('Execution plan conflicts must not be empty.');
|
|
66
|
+
}
|
|
67
|
+
this.name = 'RunExecutionPlanError';
|
|
68
|
+
this.planConflicts = Object.freeze([firstConflict, ...remainingConflicts]);
|
|
69
|
+
}
|
|
70
|
+
conflicts() {
|
|
71
|
+
return this.planConflicts;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
13
74
|
export class RunCollectionError extends Error {
|
|
14
75
|
errorSubtype;
|
|
15
76
|
constructor(message, options, subtype) {
|
package/run/run-errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-errors.js","sourceRoot":"","sources":["../../../../source/run/run-errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qCAAqC,EAAoB,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"run-errors.js","sourceRoot":"","sources":["../../../../source/run/run-errors.ts"],"names":[],"mappings":"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"}
|
package/run/run-types.d.ts
CHANGED
|
@@ -7,10 +7,10 @@ import type { WorkId as EngineWorkId, RuntimeId, WorkloadId } from '../engine/id
|
|
|
7
7
|
import type { OrphanedNode, RunResult } from '../engine/run-result.ts';
|
|
8
8
|
import type { TestPlan } from '../engine/test-plan.ts';
|
|
9
9
|
import type { RunInvocationTimingOptions } from './run-timing-collection.ts';
|
|
10
|
+
import type { ResourceOwnershipPlan } from './resource-ownership-plan.ts';
|
|
10
11
|
export type SerializedValue = SerializedValueShape;
|
|
11
12
|
export type WorkId = EngineWorkId;
|
|
12
13
|
type RunExecuteOptions = NonNullable<Parameters<Execute>[1]>;
|
|
13
|
-
type RunCaseId = TestPlan['discoveredCases'][number]['id'];
|
|
14
14
|
type RunOutputRenderer = NonNullable<RunExecuteOptions['outputRenderer']>;
|
|
15
15
|
type RunReporters = RunExecuteOptions['reporters'];
|
|
16
16
|
export type RunStringFilterField = keyof {
|
|
@@ -30,7 +30,7 @@ type RunAnyFilter = {
|
|
|
30
30
|
readonly kind: 'any';
|
|
31
31
|
};
|
|
32
32
|
type RunCaseIdFilter = {
|
|
33
|
-
readonly id:
|
|
33
|
+
readonly id: TestPlan['discoveredCases'][number]['id'];
|
|
34
34
|
readonly kind: 'case-id';
|
|
35
35
|
};
|
|
36
36
|
type RunContainsFilter = {
|
|
@@ -210,6 +210,7 @@ export type PlacementAssignment = {
|
|
|
210
210
|
export type PlacementPlan = {
|
|
211
211
|
readonly assignments: readonly PlacementAssignment[];
|
|
212
212
|
readonly lanes: readonly PlacementLane[];
|
|
213
|
+
readonly resourceOwnership: ResourceOwnershipPlan;
|
|
213
214
|
readonly units: readonly WorkUnit[];
|
|
214
215
|
};
|
|
215
216
|
export type RunMicrotestExecution = {
|