@overkill-dev/run 0.0.18 → 0.0.20

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.
Files changed (52) hide show
  1. package/engine/execution-supervision.d.ts.map +1 -1
  2. package/engine/execution-supervision.js +1 -11
  3. package/engine/execution-supervision.js.map +1 -1
  4. package/engine/resource-usage-growth.js +12 -0
  5. package/engine/resource-usage-growth.js.map +1 -0
  6. package/package.json +2 -1
  7. package/packages/run/run.entry-point.d.ts +1 -1
  8. package/packages/run/run.entry-point.d.ts.map +1 -1
  9. package/readme.md +15 -8
  10. package/run/collected-run-plan.js +100 -0
  11. package/run/collected-run-plan.js.map +1 -0
  12. package/run/command-line-runner.d.ts.map +1 -1
  13. package/run/command-line-runner.js +12 -10
  14. package/run/command-line-runner.js.map +1 -1
  15. package/run/run-config-schema.d.ts +5 -0
  16. package/run/run-config-schema.d.ts.map +1 -1
  17. package/run/run-config-schema.js +1 -0
  18. package/run/run-config-schema.js.map +1 -1
  19. package/run/run-config.d.ts.map +1 -1
  20. package/run/run-config.js +8 -2
  21. package/run/run-config.js.map +1 -1
  22. package/run/run-engine-selection.js +92 -0
  23. package/run/run-engine-selection.js.map +1 -0
  24. package/run/run-facts.js +103 -0
  25. package/run/run-facts.js.map +1 -0
  26. package/run/run-local-test-plan.js +25 -0
  27. package/run/run-local-test-plan.js.map +1 -0
  28. package/run/run-process-engine.js +40 -0
  29. package/run/run-process-engine.js.map +1 -0
  30. package/run/run-reporter-resolution.js +19 -0
  31. package/run/run-reporter-resolution.js.map +1 -0
  32. package/run/run-support.js +35 -0
  33. package/run/run-support.js.map +1 -1
  34. package/run/run-test-plan.js +20 -0
  35. package/run/run-test-plan.js.map +1 -0
  36. package/run/run-types.d.ts +54 -3
  37. package/run/run-types.d.ts.map +1 -1
  38. package/run/run-types.js.map +1 -1
  39. package/run/run-validation.js +122 -0
  40. package/run/run-validation.js.map +1 -0
  41. package/run/run.js +129 -227
  42. package/run/run.js.map +1 -1
  43. package/run/supervised-child-process.js +8 -8
  44. package/run/supervised-child-process.js.map +1 -1
  45. package/run/supervised-run-resource-policy.js +64 -0
  46. package/run/supervised-run-resource-policy.js.map +1 -0
  47. package/run/supervised-run-runtime.js +257 -0
  48. package/run/supervised-run-runtime.js.map +1 -0
  49. package/run/supervised-run-state.js.map +1 -1
  50. package/run/supervised-run.js +206 -246
  51. package/run/supervised-run.js.map +1 -1
  52. package/sbom.cdx.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"supervised-child-process.js","sourceRoot":"","sources":["../../../../source/run/supervised-child-process.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"supervised-child-process.js","sourceRoot":"","sources":["../../../../source/run/supervised-child-process.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ import { observedGrowthBytesPerSecond } from "../engine/resource-usage-growth.js";
2
+ const resourceBudgetMetrics = [
3
+ 'activeResourceCount',
4
+ 'javaScriptEngineHeapBytes',
5
+ 'residentSetBytes',
6
+ 'residentSetGrowthBytesPerSecond'
7
+ ];
8
+ const budgetValueReaders = {
9
+ activeResourceCount(sample) {
10
+ return sample.activeResourceCount;
11
+ },
12
+ javaScriptEngineHeapBytes(sample) {
13
+ return sample.javaScriptEngineHeapBytes;
14
+ },
15
+ residentSetBytes(sample) {
16
+ return sample.residentSetBytes;
17
+ },
18
+ residentSetGrowthBytesPerSecond: observedGrowthBytesPerSecond
19
+ };
20
+ function observedBudgetValue(metric, sample, previousSample) {
21
+ return budgetValueReaders[metric](sample, previousSample);
22
+ }
23
+ export function findResourceBudgetBreach(budgets, sample, previousSample) {
24
+ for (const metric of resourceBudgetMetrics) {
25
+ const budget = budgets[metric];
26
+ if (budget !== null) {
27
+ const observed = observedBudgetValue(metric, sample, previousSample);
28
+ if (observed > budget) {
29
+ return { budget, metric, observed, sample };
30
+ }
31
+ }
32
+ }
33
+ return null;
34
+ }
35
+ function activeCaseIds(state) {
36
+ return Array.from(state.activeCases.values(), function toCaseId(testCase) {
37
+ return testCase.id;
38
+ });
39
+ }
40
+ export function resourceExhaustionError(breach, state) {
41
+ const activeCases = activeCaseIds(state);
42
+ const [activeCase = null] = activeCases;
43
+ return {
44
+ attributedTo: activeCases.length === 1 ? activeCase : null,
45
+ cause: {
46
+ ...breach,
47
+ activeCases,
48
+ enforcement: activeCases.length === 0 ? 'post-test-diagnostic' : 'sampled'
49
+ },
50
+ message: `Resource budget exceeded: ${breach.metric} observed ${breach.observed}, budget ${breach.budget}.`,
51
+ subtype: 'resource-exhaustion'
52
+ };
53
+ }
54
+ export function crashError(state, reason) {
55
+ const activeCases = activeCaseIds(state);
56
+ const [activeCase = null] = activeCases;
57
+ return {
58
+ attributedTo: activeCases.length === 1 ? activeCase : null,
59
+ cause: { activeCases, reason },
60
+ message: reason,
61
+ subtype: 'crash'
62
+ };
63
+ }
64
+ //# sourceMappingURL=supervised-run-resource-policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"supervised-run-resource-policy.js","sourceRoot":"","sources":["../../../../source/run/supervised-run-resource-policy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,4BAA4B,EAAE,MAAM,oCAAoC,CAAC;AAsBlF,MAAM,qBAAqB,GAAoC;IAC3D,qBAAqB;IACrB,2BAA2B;IAC3B,kBAAkB;IAClB,iCAAiC;CACpC,CAAC;AAEF,MAAM,kBAAkB,GAA8D;IAClF,mBAAmB,CAAC,MAAM;QACtB,OAAO,MAAM,CAAC,mBAAmB,CAAC;IACtC,CAAC;IACD,yBAAyB,CAAC,MAAM;QAC5B,OAAO,MAAM,CAAC,yBAAyB,CAAC;IAC5C,CAAC;IACD,gBAAgB,CAAC,MAAM;QACnB,OAAO,MAAM,CAAC,gBAAgB,CAAC;IACnC,CAAC;IACD,+BAA+B,EAAE,4BAA4B;CAChE,CAAC;AAEF,SAAS,mBAAmB,CACxB,MAA4B,EAC5B,MAA6B,EAC7B,cAA4C;IAE5C,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,wBAAwB,CACpC,OAA2B,EAC3B,MAA6B,EAC7B,cAA4C;IAE5C,KAAK,MAAM,MAAM,IAAI,qBAAqB,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAE/B,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YAClB,MAAM,QAAQ,GAAG,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;YAErE,IAAI,QAAQ,GAAG,MAAM,EAAE,CAAC;gBACpB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;YAChD,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,aAAa,CAAC,KAAyB;IAC5C,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,SAAS,QAAQ,CAAC,QAAQ;QACpE,OAAO,QAAQ,CAAC,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,MAA4B,EAAE,KAAyB;IAC3F,MAAM,WAAW,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACzC,MAAM,CAAE,UAAU,GAAG,IAAI,CAAE,GAAG,WAAW,CAAC;IAE1C,OAAO;QACH,YAAY,EAAE,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI;QAC1D,KAAK,EAAE;YACH,GAAG,MAAM;YACT,WAAW;YACX,WAAW,EAAE,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,SAAS;SAC7E;QACD,OAAO,EAAE,6BAA6B,MAAM,CAAC,MAAM,aAAa,MAAM,CAAC,QAAQ,YAAY,MAAM,CAAC,MAAM,GAAG;QAC3G,OAAO,EAAE,qBAAqB;KACjC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAyB,EAAE,MAAc;IAChE,MAAM,WAAW,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACzC,MAAM,CAAE,UAAU,GAAG,IAAI,CAAE,GAAG,WAAW,CAAC;IAE1C,OAAO;QACH,YAAY,EAAE,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI;QAC1D,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE;QAC9B,OAAO,EAAE,MAAM;QACf,OAAO,EAAE,OAAO;KACnB,CAAC;AACN,CAAC"}
@@ -0,0 +1,257 @@
1
+ import { caseIdentityKey } from "../engine/identity.js";
2
+ import { collectedRunCaseIds, createRunResultFromCollectedPlan } from "./collected-run-plan.js";
3
+ import { observeSupervisedChildOutput } from "./supervised-child-process.js";
4
+ import { crashError, findResourceBudgetBreach, resourceExhaustionError } from "./supervised-run-resource-policy.js";
5
+ import { deduplicatedChildRuntimePolicyErrors } from "./supervised-run-state.js";
6
+ function runStartTimeFromMilliseconds(milliseconds) {
7
+ const startedAt = new Date(milliseconds);
8
+ return startedAt.toISOString();
9
+ }
10
+ export function createReporterEventQueue() {
11
+ const eventReports = [];
12
+ return {
13
+ add(eventReport) {
14
+ eventReports.push(eventReport);
15
+ },
16
+ async wait() {
17
+ await Promise.all(eventReports);
18
+ }
19
+ };
20
+ }
21
+ async function recordReporterEventErrors(event, state, context, dependencies) {
22
+ const errors = await dependencies.reporterDispatcher.reportEvent(context.reporters, event, context.outputRenderer);
23
+ if (errors.length > 0) {
24
+ state.recordRunnerErrors(errors);
25
+ }
26
+ }
27
+ function caseByKey(collectedPlan) {
28
+ return new Map(collectedRunCaseIds(collectedPlan).map(function toEntry(id) {
29
+ return [caseIdentityKey(id), { id }];
30
+ }));
31
+ }
32
+ export function applyEvent(event, state, cases) {
33
+ if (event.kind === 'test-start') {
34
+ const testCase = cases.get(caseIdentityKey(event.case));
35
+ if (testCase !== undefined) {
36
+ state.addActiveCase(caseIdentityKey(event.case), testCase);
37
+ }
38
+ }
39
+ else if (event.kind === 'test-end') {
40
+ const key = caseIdentityKey(event.case);
41
+ state.removeActiveCase(key);
42
+ state.recordPerTestResult(key, {
43
+ id: event.case,
44
+ outcome: event.outcome,
45
+ verdict: event.verdict
46
+ });
47
+ }
48
+ else if (event.kind === 'runner-error') {
49
+ state.recordRunnerError(event.error);
50
+ }
51
+ }
52
+ function createPartialRunResult(collectedPlan, state, dependencies, startedAtMs) {
53
+ return createRunResultFromCollectedPlan(collectedPlan, state.perTestResults(), state.runnerErrors(), {
54
+ resourceUsage: null,
55
+ startedAtMs,
56
+ wallClock: dependencies.wallClock
57
+ });
58
+ }
59
+ export function kill(child) {
60
+ if (child.pid !== undefined && child.exitCode === null && child.signalCode === null) {
61
+ child.kill('SIGKILL');
62
+ }
63
+ }
64
+ export function createReporterContext(resolvedRun) {
65
+ return {
66
+ outputRenderer: resolvedRun.config.outputRenderer,
67
+ reporters: resolvedRun.reporters
68
+ };
69
+ }
70
+ export function supervisedCollectedPlan(resolvedRun) {
71
+ if (resolvedRun.plan.kind !== 'supervised') {
72
+ throw new Error('Supervised execution requires a supervised collected plan.');
73
+ }
74
+ return resolvedRun.plan.collectedPlan;
75
+ }
76
+ export function createHardTimeout(runtime) {
77
+ let hardTimeout = null;
78
+ return {
79
+ clear() {
80
+ if (hardTimeout !== null) {
81
+ runtime.dependencies.wallClock.clearTimeout(hardTimeout);
82
+ hardTimeout = null;
83
+ }
84
+ },
85
+ start() {
86
+ if (hardTimeout !== null || runtime.state.activeCases.size === 0) {
87
+ return;
88
+ }
89
+ hardTimeout = runtime.dependencies.wallClock.setTimeout(function killHardTimedOutChild() {
90
+ runtime.terminalFailure.write(true);
91
+ runtime.state.recordRunnerError(crashError(runtime.state, 'Supervised child exceeded hard timeout.'));
92
+ runtime.state.recordTerminalActiveCases('crashed');
93
+ kill(runtime.child);
94
+ }, runtime.resolvedRun.facts.execution.timeoutPolicy.hardMilliseconds);
95
+ }
96
+ };
97
+ }
98
+ function supervisedEngine(resolvedRun) {
99
+ if (resolvedRun.engine.kind === 'instance') {
100
+ throw new Error('Instance engines cannot run in supervised children.');
101
+ }
102
+ return resolvedRun.engine;
103
+ }
104
+ function createRunCommand(resolvedRun) {
105
+ return {
106
+ capabilityRestrictions: resolvedRun.request.capabilityRestrictions,
107
+ collectionTimeoutMilliseconds: resolvedRun.facts.execution.timeoutPolicy.collectionMilliseconds,
108
+ cwd: resolvedRun.cwd,
109
+ engine: supervisedEngine(resolvedRun),
110
+ hardTimeoutMilliseconds: resolvedRun.facts.execution.timeoutPolicy.hardMilliseconds,
111
+ kind: 'run',
112
+ paths: resolvedRun.request.paths,
113
+ resourceBudgets: resolvedRun.facts.execution.resourceUsagePolicy.budgets,
114
+ resourceUsageSamplingIntervalMilliseconds: resolvedRun
115
+ .facts
116
+ .execution
117
+ .resourceUsagePolicy
118
+ .samplingIntervalMilliseconds,
119
+ scheduling: resolvedRun.facts.execution.scheduling,
120
+ timeoutMilliseconds: resolvedRun.facts.execution.timeoutPolicy.softMilliseconds
121
+ };
122
+ }
123
+ export function sendRunCommand(runtime) {
124
+ runtime.child.send(createRunCommand(runtime.resolvedRun));
125
+ }
126
+ export function sendAssignment(runtime) {
127
+ const collectedPlan = runtime.collectedPlan.read() ?? supervisedCollectedPlan(runtime.resolvedRun);
128
+ runtime.child.send({
129
+ assignedCases: collectedRunCaseIds(collectedPlan),
130
+ kind: 'assign'
131
+ });
132
+ }
133
+ function handleChildEvent(event, runtime) {
134
+ const collectedPlan = runtime.collectedPlan.read();
135
+ if (collectedPlan !== null) {
136
+ applyEvent(event, runtime.state, caseByKey(collectedPlan));
137
+ }
138
+ if (event.kind === 'test-start') {
139
+ runtime.timeout.start();
140
+ }
141
+ else if (event.kind === 'test-end' && runtime.state.activeCases.size === 0) {
142
+ runtime.timeout.clear();
143
+ }
144
+ runtime.reporterEvents.add(recordReporterEventErrors(event, runtime.state, runtime.reporterContext, runtime.dependencies));
145
+ }
146
+ function handleResourceBudgetBreach(breach, runtime) {
147
+ runtime.terminalFailure.write(true);
148
+ const error = resourceExhaustionError(breach, runtime.state);
149
+ runtime.state.recordRunnerError(error);
150
+ runtime.reporterEvents.add(recordReporterEventErrors({ error, kind: 'runner-error' }, runtime.state, runtime.reporterContext, runtime.dependencies));
151
+ runtime.state.recordTerminalActiveCases('resource-exhausted');
152
+ runtime.timeout.clear();
153
+ kill(runtime.child);
154
+ }
155
+ function handleChildSample(sample, runtime) {
156
+ if (runtime.terminalFailure.read()) {
157
+ return;
158
+ }
159
+ const breach = findResourceBudgetBreach(runtime.resolvedRun.facts.execution.resourceUsagePolicy.budgets, sample, runtime.previousSample.read());
160
+ runtime.previousSample.write(sample);
161
+ if (breach !== null) {
162
+ handleResourceBudgetBreach(breach, runtime);
163
+ }
164
+ }
165
+ function handleCompletedResult(result, runtime) {
166
+ const supervisorErrors = runtime.state.runnerErrors();
167
+ runtime.completedResult.write({
168
+ ...result,
169
+ runnerErrors: [
170
+ ...supervisorErrors,
171
+ ...deduplicatedChildRuntimePolicyErrors(result.runnerErrors, supervisorErrors)
172
+ ]
173
+ });
174
+ }
175
+ export function handleChildMessage(message, runtime) {
176
+ if (message.kind === 'collected') {
177
+ runtime.collectedPlan.write(message.collectedPlan);
178
+ runtime.state.recordRunnerErrors(message.runnerErrors);
179
+ }
180
+ else if (message.kind === 'event') {
181
+ handleChildEvent(message.event, runtime);
182
+ }
183
+ else if (message.kind === 'sample') {
184
+ handleChildSample(message.sample, runtime);
185
+ }
186
+ else {
187
+ handleCompletedResult(message.result, runtime);
188
+ }
189
+ }
190
+ export function handleCollectionSample(sample, runtime) {
191
+ if (runtime.terminalFailure.read()) {
192
+ return;
193
+ }
194
+ const breach = findResourceBudgetBreach(runtime.command.resourceBudgets, sample, runtime.previousSample.read());
195
+ runtime.previousSample.write(sample);
196
+ if (breach !== null) {
197
+ runtime.terminalFailure.write(true);
198
+ runtime.state.recordRunnerError(resourceExhaustionError(breach, runtime.state));
199
+ kill(runtime.child);
200
+ }
201
+ }
202
+ export async function observeChild(runtime) {
203
+ observeSupervisedChildOutput(runtime);
204
+ return new Promise(function waitForChild(resolve) {
205
+ runtime.child.on('message', function receiveMessage(message) {
206
+ handleChildMessage(message, runtime);
207
+ });
208
+ runtime.child.on('error', function recordChildError(error) {
209
+ if (!runtime.terminalFailure.read()) {
210
+ runtime.terminalFailure.write(true);
211
+ runtime.state.recordRunnerError(crashError(runtime.state, error.message));
212
+ runtime.state.recordTerminalActiveCases('crashed');
213
+ }
214
+ });
215
+ runtime.child.on('exit', function resolveExit() {
216
+ resolve();
217
+ });
218
+ });
219
+ }
220
+ export async function reportRunStart(runtime, collectedPlan, startedAtMs) {
221
+ await recordReporterEventErrors({
222
+ facts: runtime.resolvedRun.facts,
223
+ kind: 'run-start',
224
+ root: {
225
+ metadata: {},
226
+ name: collectedPlan.root.name
227
+ },
228
+ startedAt: runStartTimeFromMilliseconds(startedAtMs)
229
+ }, runtime.state, runtime.reporterContext, runtime.dependencies);
230
+ }
231
+ function selectRunResult(runtime, startedAtMs) {
232
+ const completedResult = runtime.completedResult.read();
233
+ if (completedResult === null) {
234
+ const collectedPlan = runtime.collectedPlan.read() ?? supervisedCollectedPlan(runtime.resolvedRun);
235
+ return createPartialRunResult(collectedPlan, runtime.state, runtime.dependencies, startedAtMs);
236
+ }
237
+ return completedResult;
238
+ }
239
+ async function reportFinalResult(result, runtime) {
240
+ const runEndErrors = await runtime.dependencies.reporterDispatcher.reportEvent(runtime.reporterContext.reporters, { kind: 'run-end', result }, runtime.reporterContext.outputRenderer);
241
+ const resultForFinalReporting = {
242
+ ...result,
243
+ runnerErrors: [...result.runnerErrors, ...runEndErrors]
244
+ };
245
+ const finalReporterErrors = await runtime.dependencies.reporterDispatcher.reportResult(runtime.reporterContext.reporters, resultForFinalReporting, runtime.reporterContext.outputRenderer);
246
+ const disposeErrors = await runtime.dependencies.reporterDispatcher.disposeReporters(runtime.reporterContext.reporters);
247
+ return {
248
+ ...resultForFinalReporting,
249
+ runnerErrors: [...resultForFinalReporting.runnerErrors, ...finalReporterErrors, ...disposeErrors]
250
+ };
251
+ }
252
+ export async function finishSupervisedRuntime(runtime, startedAtMs) {
253
+ runtime.timeout.clear();
254
+ await runtime.reporterEvents.wait();
255
+ return await reportFinalResult(selectRunResult(runtime, startedAtMs), runtime);
256
+ }
257
+ //# sourceMappingURL=supervised-run-runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"supervised-run-runtime.js","sourceRoot":"","sources":["../../../../source/run/supervised-run-runtime.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"supervised-run-state.js","sourceRoot":"","sources":["../../../../source/run/supervised-run-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"supervised-run-state.js","sourceRoot":"","sources":["../../../../source/run/supervised-run-state.ts"],"names":[],"mappings":"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"}