@overkill-dev/engine 0.0.40 → 0.0.41

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 (53) hide show
  1. package/clock/overkill-clock.d.ts +30 -0
  2. package/clock/overkill-clock.d.ts.map +1 -0
  3. package/clock/overkill-clock.js +53 -0
  4. package/clock/overkill-clock.js.map +1 -0
  5. package/engine/case-execution.d.ts +3 -3
  6. package/engine/case-execution.d.ts.map +1 -1
  7. package/engine/case-execution.js +20 -10
  8. package/engine/case-execution.js.map +1 -1
  9. package/engine/engine.d.ts +2 -2
  10. package/engine/engine.d.ts.map +1 -1
  11. package/engine/execution-async-leak-policy.js +2 -2
  12. package/engine/execution-async-leak-policy.js.map +1 -1
  13. package/engine/execution-global-error-observer.d.ts +20 -0
  14. package/engine/execution-global-error-observer.d.ts.map +1 -0
  15. package/engine/execution-global-error-observer.js +339 -0
  16. package/engine/execution-global-error-observer.js.map +1 -0
  17. package/engine/execution-result.js +5 -1
  18. package/engine/execution-result.js.map +1 -1
  19. package/engine/execution-supervision.d.ts +7 -5
  20. package/engine/execution-supervision.d.ts.map +1 -1
  21. package/engine/execution-supervision.js +36 -24
  22. package/engine/execution-supervision.js.map +1 -1
  23. package/engine/execution-test-plan-cases.js +72 -14
  24. package/engine/execution-test-plan-cases.js.map +1 -1
  25. package/engine/execution.d.ts +2 -2
  26. package/engine/execution.d.ts.map +1 -1
  27. package/engine/execution.js +38 -20
  28. package/engine/execution.js.map +1 -1
  29. package/engine/reporter-dispatcher.d.ts +2 -2
  30. package/engine/reporter-dispatcher.d.ts.map +1 -1
  31. package/engine/reporter.d.ts +1 -1
  32. package/engine/reporter.d.ts.map +1 -1
  33. package/engine/resource-usage-growth.js +4 -4
  34. package/engine/resource-usage-growth.js.map +1 -1
  35. package/engine/run-result.d.ts +82 -7
  36. package/engine/run-result.d.ts.map +1 -1
  37. package/engine/run-result.js +112 -0
  38. package/engine/run-result.js.map +1 -1
  39. package/engine/run-timings.d.ts +68 -0
  40. package/engine/run-timings.d.ts.map +1 -0
  41. package/engine/run-timings.js +116 -0
  42. package/engine/run-timings.js.map +1 -0
  43. package/engine/test-data.d.ts +4 -0
  44. package/engine/test-data.d.ts.map +1 -1
  45. package/engine/test-data.js +14 -1
  46. package/engine/test-data.js.map +1 -1
  47. package/package.json +3 -2
  48. package/packages/engine/engine.entry-point.d.ts +5 -3
  49. package/packages/engine/engine.entry-point.d.ts.map +1 -1
  50. package/packages/engine/engine.entry-point.js +3 -3
  51. package/packages/engine/engine.entry-point.js.map +1 -1
  52. package/readme.md +3 -1
  53. package/sbom.cdx.json +4 -21
@@ -1,6 +1,7 @@
1
1
  import type { InvalidDeepAssertionOperand } from '../assertion-protocol/evaluation.ts';
2
2
  import type { FailedCheck, NonEmptyReadonlyArray, ResolvableSourceLocation } from '../assertion-protocol/assertion-node-shape.ts';
3
3
  import type { CaseId, WorkId } from './identity.ts';
4
+ import type { RunTimings } from './run-timings.ts';
4
5
  type RunnerErrorSubtypeByName = {
5
6
  readonly attributionDrift: 'attribution-drift';
6
7
  readonly crash: 'crash';
@@ -11,6 +12,7 @@ type RunnerErrorSubtypeByName = {
11
12
  readonly resourceExhaustion: 'resource-exhaustion';
12
13
  readonly runtimeState: 'runtime-state';
13
14
  readonly runtimePolicy: 'runtime-policy';
15
+ readonly uncaughtException: 'uncaught-exception';
14
16
  readonly unhandledRejection: 'unhandled-rejection';
15
17
  };
16
18
  type RunnerErrorSubtype = RunnerErrorSubtypeByName[keyof RunnerErrorSubtypeByName];
@@ -68,10 +70,16 @@ type CleanupErrorTestFailure = {
68
70
  };
69
71
  readonly kind: 'cleanup-error';
70
72
  };
73
+ export type HedgedDuplicateConflictFailure = {
74
+ readonly artifact: RunArtifactId;
75
+ readonly kind: 'hedged-duplicate-conflict';
76
+ readonly summary: string;
77
+ };
71
78
  type TestFailureTypes = readonly [
72
79
  AssertionTestFailure,
73
80
  BodyErrorTestFailure,
74
81
  CleanupErrorTestFailure,
82
+ HedgedDuplicateConflictFailure,
75
83
  TestContractFailure,
76
84
  TimeoutTestFailure
77
85
  ];
@@ -101,6 +109,57 @@ export type RunnerError = {
101
109
  readonly message: string;
102
110
  readonly subtype: RunnerErrorSubtype;
103
111
  };
112
+ type PermissionDeniedRunnerErrorBoundaryByName = {
113
+ readonly inProcess: 'in-process';
114
+ readonly none: null;
115
+ readonly supervisedChild: 'supervised-child';
116
+ readonly workerPoolHost: 'worker-pool-host';
117
+ readonly workerPoolWorker: 'worker-pool-worker';
118
+ };
119
+ type PermissionDeniedRunnerErrorBoundary = PermissionDeniedRunnerErrorBoundaryByName[keyof PermissionDeniedRunnerErrorBoundaryByName];
120
+ export type PermissionDeniedRunnerErrorPhase = 'body' | 'collection' | 'load' | 'out-of-test' | 'run' | null;
121
+ type PermissionDeniedRunnerErrorHook = 'uncaughtException' | 'unhandledRejection' | null;
122
+ type PermissionDeniedRunnerErrorSource = 'diagnostic-channel' | 'throw';
123
+ type SerializedPermissionDeniedError = {
124
+ readonly code: string | null;
125
+ readonly message: string;
126
+ readonly name: string;
127
+ readonly permission: string | null;
128
+ readonly resource: string | null;
129
+ readonly stack: string | null;
130
+ };
131
+ export type PermissionDeniedRunnerErrorCause = {
132
+ readonly boundary: PermissionDeniedRunnerErrorBoundary;
133
+ readonly capability: string | null;
134
+ readonly diagnosticChannel: string | null;
135
+ readonly error: SerializedPermissionDeniedError | null;
136
+ readonly hook: PermissionDeniedRunnerErrorHook;
137
+ readonly kind: 'node-permission-denial';
138
+ readonly permission: string | null;
139
+ readonly phase: PermissionDeniedRunnerErrorPhase;
140
+ readonly resource: string | null;
141
+ readonly source: PermissionDeniedRunnerErrorSource;
142
+ };
143
+ export type PermissionDeniedRunnerError = RunnerError & {
144
+ readonly cause: PermissionDeniedRunnerErrorCause;
145
+ readonly subtype: 'permission';
146
+ };
147
+ export type PermissionDeniedRunnerErrorContext = {
148
+ readonly attributedTo: CaseId | null;
149
+ readonly attributedToWork: WorkId | null;
150
+ readonly boundary: PermissionDeniedRunnerErrorBoundary;
151
+ readonly diagnosticChannel: string | null;
152
+ readonly hook: PermissionDeniedRunnerErrorHook;
153
+ readonly phase: PermissionDeniedRunnerErrorPhase;
154
+ };
155
+ export type PermissionDeniedDiagnostic = {
156
+ readonly channel: string;
157
+ readonly fallbackCapability: string | null;
158
+ readonly message: unknown;
159
+ };
160
+ export declare function permissionDeniedRunnerErrorFromThrown(error: unknown, context: PermissionDeniedRunnerErrorContext): PermissionDeniedRunnerError | null;
161
+ export declare function permissionDeniedRunnerErrorFromDiagnostic(diagnostic: PermissionDeniedDiagnostic, context: PermissionDeniedRunnerErrorContext): PermissionDeniedRunnerError;
162
+ export declare function isPermissionDeniedRunnerError(error: RunnerError): error is PermissionDeniedRunnerError;
104
163
  export type CaseRunnerErrorOptions = {
105
164
  readonly cause: unknown;
106
165
  readonly subtype: RunnerErrorSubtype;
@@ -133,7 +192,7 @@ export type PerTestResult = {
133
192
  readonly outcome: TestOutcome | null;
134
193
  readonly verdict: TestVerdict;
135
194
  readonly workId: WorkId;
136
- readonly wallTimeMs: number;
195
+ readonly durationMicroseconds: number;
137
196
  };
138
197
  export type RunArtifactScope = {
139
198
  readonly activeCases: readonly CaseId[];
@@ -146,21 +205,37 @@ export type RunArtifactScope = {
146
205
  export type RunArtifactId = {
147
206
  readonly scope: RunArtifactScope;
148
207
  readonly sequence: number;
149
- readonly subtype: 'log-capture';
208
+ readonly subtype: 'hedged-conflict' | 'log-capture';
150
209
  };
151
210
  export type CapturedOutputArtifactPayload = {
152
211
  readonly byteLength: number;
153
- readonly capturedAtMilliseconds: number;
212
+ readonly capturedAtMicroseconds: number;
154
213
  readonly kind: 'captured-output';
155
214
  readonly stream: 'stderr' | 'stdout';
156
215
  readonly text: string;
157
216
  readonly truncated: boolean;
158
217
  };
159
- export type RunArtifact = {
218
+ export type HedgedConflictEvidence = {
219
+ readonly outcome: TestOutcome | null;
220
+ readonly verdict: TestVerdict;
221
+ };
222
+ export type HedgedConflictArtifactPayload = {
223
+ readonly authoritative: HedgedConflictEvidence;
224
+ readonly conflicting: HedgedConflictEvidence;
225
+ readonly kind: 'hedged-conflict';
226
+ readonly work: WorkId;
227
+ };
228
+ export type CapturedOutputArtifact = {
160
229
  readonly id: RunArtifactId;
161
230
  readonly payload: CapturedOutputArtifactPayload;
162
- readonly source: 'boundary-captured';
231
+ readonly source: 'boundary-captured' | 'native';
232
+ };
233
+ export type HedgedConflictArtifact = {
234
+ readonly id: RunArtifactId;
235
+ readonly payload: HedgedConflictArtifactPayload;
236
+ readonly source: 'native';
163
237
  };
238
+ export type RunArtifact = CapturedOutputArtifact | HedgedConflictArtifact;
164
239
  export type SuiteRunCounts = {
165
240
  readonly discovered: number;
166
241
  readonly executed: number;
@@ -169,7 +244,7 @@ export type SuiteRunCounts = {
169
244
  export type ResourceUsageSnapshot = {
170
245
  readonly activeResourceCount: number;
171
246
  readonly activeResourceTypes: readonly string[];
172
- readonly capturedAtMilliseconds: number;
247
+ readonly capturedAtMicroseconds: number;
173
248
  readonly javaScriptEngineHeapBytes: number;
174
249
  readonly residentSetBytes: number;
175
250
  };
@@ -203,7 +278,7 @@ export type RunResult = {
203
278
  readonly runnerErrors: readonly RunnerError[];
204
279
  readonly status: RunStatus;
205
280
  readonly summary: RunSummary;
206
- readonly wallTimeMs: number;
281
+ readonly timings: RunTimings;
207
282
  };
208
283
  export declare function verdictFromOutcome(outcome: TestOutcome): TestVerdict;
209
284
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"run-result.d.ts","sourceRoot":"","sources":["../../../../source/engine/run-result.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-result.d.ts","sourceRoot":"","sources":["../../../../source/engine/run-result.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,118 @@ export function invalidDeepAssertionOperandFailure(actual) {
7
7
  summary: 'Deep assertions require non-primitive operands.'
8
8
  };
9
9
  }
10
+ const permissionCapabilities = {
11
+ ChildProcess: 'child-process',
12
+ FileSystemRead: 'fs-read',
13
+ FileSystemWrite: 'fs-write',
14
+ Inspector: 'inspector',
15
+ Network: 'net',
16
+ OpenSSLStore: 'openssl-store',
17
+ WASI: 'wasi',
18
+ WorkerThreads: 'worker'
19
+ };
20
+ function readStringProperty(value, property) {
21
+ if (value === null || typeof value !== 'object') {
22
+ return null;
23
+ }
24
+ const propertyValue = Reflect.get(value, property);
25
+ return typeof propertyValue === 'string' ? propertyValue : null;
26
+ }
27
+ function accessDeniedErrorCode(error) {
28
+ return readStringProperty(error, 'code');
29
+ }
30
+ function permissionCapability(permission, fallback) {
31
+ if (permission === null) {
32
+ return fallback;
33
+ }
34
+ return permissionCapabilities[permission] ?? fallback;
35
+ }
36
+ function serializedDeniedError(error) {
37
+ if (error instanceof Error) {
38
+ return {
39
+ code: accessDeniedErrorCode(error),
40
+ message: error.message,
41
+ name: error.name,
42
+ permission: readStringProperty(error, 'permission'),
43
+ resource: readStringProperty(error, 'resource'),
44
+ stack: error.stack ?? null
45
+ };
46
+ }
47
+ return {
48
+ code: accessDeniedErrorCode(error),
49
+ message: String(error),
50
+ name: 'Error',
51
+ permission: readStringProperty(error, 'permission'),
52
+ resource: readStringProperty(error, 'resource'),
53
+ stack: null
54
+ };
55
+ }
56
+ function permissionDeniedMessage(permission, resource) {
57
+ const permissionLabel = permission ?? 'unknown permission';
58
+ return resource === null
59
+ ? `Permission denied: ${permissionLabel}.`
60
+ : `Permission denied: ${permissionLabel} for ${resource}.`;
61
+ }
62
+ function permissionDeniedCause(input) {
63
+ const permission = readStringProperty(input.error, 'permission') ??
64
+ readStringProperty(input.diagnosticMessage, 'permission');
65
+ const resource = readStringProperty(input.error, 'resource') ??
66
+ readStringProperty(input.diagnosticMessage, 'resource');
67
+ return {
68
+ boundary: input.context.boundary,
69
+ capability: permissionCapability(permission, input.capabilityFallback),
70
+ diagnosticChannel: input.context.diagnosticChannel,
71
+ error: input.error === null ? null : serializedDeniedError(input.error),
72
+ hook: input.context.hook,
73
+ kind: 'node-permission-denial',
74
+ permission,
75
+ phase: input.context.phase,
76
+ resource,
77
+ source: input.source
78
+ };
79
+ }
80
+ function permissionDeniedRunnerError(context, cause) {
81
+ return {
82
+ attributedTo: context.attributedTo,
83
+ attributedToWork: context.attributedToWork,
84
+ cause,
85
+ message: permissionDeniedMessage(cause.permission, cause.resource),
86
+ subtype: 'permission'
87
+ };
88
+ }
89
+ function isAccessDeniedError(error) {
90
+ return accessDeniedErrorCode(error) === 'ERR_ACCESS_DENIED';
91
+ }
92
+ export function permissionDeniedRunnerErrorFromThrown(error, context) {
93
+ if (!isAccessDeniedError(error)) {
94
+ return null;
95
+ }
96
+ return permissionDeniedRunnerError(context, permissionDeniedCause({
97
+ capabilityFallback: null,
98
+ context,
99
+ diagnosticMessage: null,
100
+ error,
101
+ source: 'throw'
102
+ }));
103
+ }
104
+ export function permissionDeniedRunnerErrorFromDiagnostic(diagnostic, context) {
105
+ return permissionDeniedRunnerError(context, permissionDeniedCause({
106
+ capabilityFallback: diagnostic.fallbackCapability,
107
+ context: {
108
+ ...context,
109
+ diagnosticChannel: diagnostic.channel
110
+ },
111
+ diagnosticMessage: diagnostic.message,
112
+ error: null,
113
+ source: 'diagnostic-channel'
114
+ }));
115
+ }
116
+ export function isPermissionDeniedRunnerError(error) {
117
+ return error.subtype === 'permission' &&
118
+ typeof error.cause === 'object' &&
119
+ error.cause !== null &&
120
+ Reflect.get(error.cause, 'kind') === 'node-permission-denial';
121
+ }
10
122
  const caseRunnerErrorBrand = Symbol.for('@overkill-dev/engine/CaseRunnerError');
11
123
  export class CaseRunnerError extends Error {
12
124
  runnerErrorCause;
@@ -1 +1 @@
1
- {"version":3,"file":"run-result.js","sourceRoot":"","sources":["../../../../source/engine/run-result.ts"],"names":[],"mappings":"AA+FA,MAAM,UAAU,kCAAkC,CAAC,MAAmC;IAClF,OAAO;QACH,MAAM;QACN,IAAI,EAAE,gCAAgC;QACtC,QAAQ,EAAE,sCAAsC;QAChD,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,iDAAiD;KAC7D,CAAC;AACN,CAAC;AA+BD,MAAM,oBAAoB,GAAG,MAAM,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;AAOhF,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACrB,gBAAgB,CAAU;IAC1B,kBAAkB,CAAqB;IAExD,YAAmB,OAAe,EAAE,OAA+B;QAC/D,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,KAAK,CAAC;QACtC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;QAE1C,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,oBAAoB,EAAE;YAC9C,KAAK,EAAE,IAAI;SACd,CAAC,CAAC;IACP,CAAC;IAEM,WAAW,CAAC,YAAoB,EAAE,gBAAwB;QAC7D,OAAO;YACH,YAAY;YACZ,gBAAgB;YAChB,KAAK,EAAE,IAAI,CAAC,gBAAgB;YAC5B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,kBAAkB;SACnC,CAAC;IACN,CAAC;CACJ;AAED,SAAS,uBAAuB,CAAC,KAAc;IAC3C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC9C,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,oBAAoB,CAAC,KAAK,IAAI;QACpD,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,UAAU,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC5C,OAAO,KAAK,YAAY,eAAe,IAAI,uBAAuB,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAkBD,SAAS,oBAAoB,CAAC,OAAmB,EAAE,YAAoC;IACnF,OAAO;QACH,YAAY,CAAC,MAAM,GAAG,CAAC;QACvB,OAAO,CAAC,OAAO,GAAG,CAAC;QACnB,OAAO,CAAC,MAAM,GAAG,CAAC;QAClB,OAAO,CAAC,OAAO,KAAK,CAAC;QACrB,OAAO,CAAC,iBAAiB,GAAG,CAAC;QAC7B,OAAO,CAAC,aAAa,GAAG,CAAC;KAC5B,CAAC;AACN,CAAC;AAED,MAAM,UAAU,oBAAoB,CAChC,OAAmB,EACnB,YAAoC;IAEpC,IAAI,oBAAoB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7D,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC7B,OAAmB,EACnB,YAAoC,EACpC,UAAyB;IAEzB,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,KAAK,aAAa,EAAE,CAAC;QAC5D,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,OAAO,oBAAoB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;AACvD,CAAC;AA0FD,MAAM,UAAU,kBAAkB,CAAC,OAAoB;IACnD,OAAO,OAAO,CAAC,IAAI,CAAC;AACxB,CAAC"}
1
+ {"version":3,"file":"run-result.js","sourceRoot":"","sources":["../../../../source/engine/run-result.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ export declare const resourceScopes: readonly ["per-case", "per-file", "per-run", "per-suite", "shared-per-worker"];
2
+ export type ResourceScope = typeof resourceScopes[number];
3
+ export type AmbientNoiseEstimate = 'high' | 'low' | 'medium' | 'unknown';
4
+ export type TimingSpanStatus = 'cancelled' | 'failure' | 'success' | 'timeout';
5
+ export declare const runTimingSpanKinds: readonly ["cleanup", "collection.import", "collection.resolve", "command.parse", "config.load", "config.validate", "file.discovery", "filter.apply", "host.entry-startup", "order.apply", "placement.plan", "profile.resolve", "reporter.deliver", "reporter.finish", "reporter.resolve", "resolution.freeze", "resource.acquire", "resource.dispose", "resource.lower", "runtime.expand", "shard.apply", "supervised-process.exit", "supervised-process.ready", "supervised-process.spawn", "supervised-process.teardown", "test-data.propagate", "work-unit.construct", "worker-pool.ready", "worker-pool.shutdown", "worker-pool.start", "worker.assign-work", "worker.create", "worker.import-startup", "worker.ready", "worker.teardown"];
6
+ export type RunTimingSpanKind = typeof runTimingSpanKinds[number];
7
+ export type RunTimingSummary = {
8
+ readonly runnerOverheadWallTimeMicroseconds: number;
9
+ readonly testExecutionWallTimeMicroseconds: number;
10
+ readonly totalWallTimeMicroseconds: number;
11
+ };
12
+ export type RunTimingSpan = {
13
+ readonly durationMicroseconds: number;
14
+ readonly kind: RunTimingSpanKind;
15
+ readonly label: string | null;
16
+ readonly processId: string | null;
17
+ readonly resource: {
18
+ readonly name: string;
19
+ readonly scope: ResourceScope;
20
+ } | null;
21
+ readonly startOffsetMicroseconds: number | null;
22
+ readonly status: TimingSpanStatus;
23
+ readonly workerId: string | null;
24
+ };
25
+ export type RunTimingAggregate = {
26
+ readonly count: number;
27
+ readonly durationMicroseconds: number;
28
+ readonly kind: RunTimingSpanKind;
29
+ };
30
+ export type TimingCollectionOverhead = {
31
+ readonly aggregationMicroseconds: number;
32
+ readonly recordingMicroseconds: number;
33
+ readonly renderingMicroseconds: number;
34
+ readonly serializationMicroseconds: number;
35
+ };
36
+ export type RunPreciseTimingReport = {
37
+ readonly aggregates: readonly RunTimingAggregate[];
38
+ readonly ambientNoise: AmbientNoiseEstimate;
39
+ readonly droppedSpanCount: number;
40
+ readonly overhead: TimingCollectionOverhead;
41
+ readonly slowestSpans: readonly RunTimingSpan[];
42
+ readonly slowestSpanLimit: number;
43
+ readonly spanLimit: number;
44
+ readonly spans: readonly RunTimingSpan[];
45
+ readonly truncated: boolean;
46
+ };
47
+ export type RunTimings = {
48
+ readonly precise: RunPreciseTimingReport | null;
49
+ readonly summary: RunTimingSummary;
50
+ };
51
+ export type RunTimingSummaryInput = {
52
+ readonly testExecutionWallTimeMicroseconds: number;
53
+ readonly totalWallTimeMicroseconds: number;
54
+ };
55
+ export type PreciseTimingReportInput = {
56
+ readonly aggregationMicroseconds: number;
57
+ readonly recordingMicroseconds: number;
58
+ readonly slowestSpanLimit: number;
59
+ readonly spanLimit: number;
60
+ readonly spans: readonly RunTimingSpan[];
61
+ };
62
+ export declare const defaultRunTimingSpanLimit = 5000;
63
+ export declare const defaultRunTimingSlowestSpanLimit = 50;
64
+ export declare const zeroTimingCollectionOverhead: TimingCollectionOverhead;
65
+ export declare function runTimingSummary(input: RunTimingSummaryInput): RunTimingSummary;
66
+ export declare function summaryRunTimings(input: RunTimingSummaryInput): RunTimings;
67
+ export declare function preciseTimingReport(input: PreciseTimingReportInput): RunPreciseTimingReport;
68
+ //# sourceMappingURL=run-timings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-timings.d.ts","sourceRoot":"","sources":["../../../../source/engine/run-timings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,116 @@
1
+ export const resourceScopes = [
2
+ 'per-case',
3
+ 'per-file',
4
+ 'per-run',
5
+ 'per-suite',
6
+ 'shared-per-worker'
7
+ ];
8
+ export const runTimingSpanKinds = [
9
+ 'cleanup',
10
+ 'collection.import',
11
+ 'collection.resolve',
12
+ 'command.parse',
13
+ 'config.load',
14
+ 'config.validate',
15
+ 'file.discovery',
16
+ 'filter.apply',
17
+ 'host.entry-startup',
18
+ 'order.apply',
19
+ 'placement.plan',
20
+ 'profile.resolve',
21
+ 'reporter.deliver',
22
+ 'reporter.finish',
23
+ 'reporter.resolve',
24
+ 'resolution.freeze',
25
+ 'resource.acquire',
26
+ 'resource.dispose',
27
+ 'resource.lower',
28
+ 'runtime.expand',
29
+ 'shard.apply',
30
+ 'supervised-process.exit',
31
+ 'supervised-process.ready',
32
+ 'supervised-process.spawn',
33
+ 'supervised-process.teardown',
34
+ 'test-data.propagate',
35
+ 'work-unit.construct',
36
+ 'worker-pool.ready',
37
+ 'worker-pool.shutdown',
38
+ 'worker-pool.start',
39
+ 'worker.assign-work',
40
+ 'worker.create',
41
+ 'worker.import-startup',
42
+ 'worker.ready',
43
+ 'worker.teardown'
44
+ ];
45
+ export const defaultRunTimingSpanLimit = 5000;
46
+ export const defaultRunTimingSlowestSpanLimit = 50;
47
+ export const zeroTimingCollectionOverhead = Object.freeze({
48
+ aggregationMicroseconds: 0,
49
+ recordingMicroseconds: 0,
50
+ renderingMicroseconds: 0,
51
+ serializationMicroseconds: 0
52
+ });
53
+ export function runTimingSummary(input) {
54
+ const totalWallTimeMicroseconds = Math.max(0, Math.trunc(input.totalWallTimeMicroseconds));
55
+ const testExecutionWallTimeMicroseconds = Math.max(0, Math.min(totalWallTimeMicroseconds, Math.trunc(input.testExecutionWallTimeMicroseconds)));
56
+ return {
57
+ runnerOverheadWallTimeMicroseconds: totalWallTimeMicroseconds - testExecutionWallTimeMicroseconds,
58
+ testExecutionWallTimeMicroseconds,
59
+ totalWallTimeMicroseconds
60
+ };
61
+ }
62
+ export function summaryRunTimings(input) {
63
+ return {
64
+ precise: null,
65
+ summary: runTimingSummary(input)
66
+ };
67
+ }
68
+ function aggregateKey(span) {
69
+ return span.kind;
70
+ }
71
+ function timingAggregates(spans) {
72
+ const aggregates = new Map();
73
+ for (const span of spans) {
74
+ const key = aggregateKey(span);
75
+ const aggregate = aggregates.get(key);
76
+ aggregates.set(key, {
77
+ count: (aggregate?.count ?? 0) + 1,
78
+ durationMicroseconds: (aggregate?.durationMicroseconds ?? 0) + span.durationMicroseconds,
79
+ kind: key
80
+ });
81
+ }
82
+ return Array.from(aggregates.values());
83
+ }
84
+ function slowestTimingSpans(spans, slowestSpanLimit) {
85
+ return spans
86
+ .toSorted(function byDurationThenStart(left, right) {
87
+ const durationDifference = right.durationMicroseconds - left.durationMicroseconds;
88
+ if (durationDifference !== 0) {
89
+ return durationDifference;
90
+ }
91
+ return (left.startOffsetMicroseconds ?? Number.MAX_SAFE_INTEGER) -
92
+ (right.startOffsetMicroseconds ?? Number.MAX_SAFE_INTEGER);
93
+ })
94
+ .slice(0, slowestSpanLimit);
95
+ }
96
+ export function preciseTimingReport(input) {
97
+ const { slowestSpanLimit, spanLimit } = input;
98
+ const retainedSpans = input.spans.slice(0, spanLimit);
99
+ return {
100
+ aggregates: timingAggregates(input.spans),
101
+ ambientNoise: 'unknown',
102
+ droppedSpanCount: Math.max(0, input.spans.length - retainedSpans.length),
103
+ overhead: {
104
+ aggregationMicroseconds: input.aggregationMicroseconds,
105
+ recordingMicroseconds: input.recordingMicroseconds,
106
+ renderingMicroseconds: 0,
107
+ serializationMicroseconds: 0
108
+ },
109
+ slowestSpans: slowestTimingSpans(input.spans, slowestSpanLimit),
110
+ slowestSpanLimit,
111
+ spanLimit,
112
+ spans: retainedSpans,
113
+ truncated: retainedSpans.length < input.spans.length
114
+ };
115
+ }
116
+ //# sourceMappingURL=run-timings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-timings.js","sourceRoot":"","sources":["../../../../source/engine/run-timings.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  declare const captureModeValues: readonly ["buffered", "live"];
2
+ declare const duplicateExecutionControlValues: readonly ["forbidden", "idempotent"];
2
3
  export type TestFamily = 'benchmark' | 'integration' | 'microtest' | 'property' | 'type-test';
3
4
  export type CaptureMode = typeof captureModeValues[number];
5
+ export type DuplicateExecutionControl = typeof duplicateExecutionControlValues[number];
4
6
  export type TestAnnotationsInput = {
5
7
  readonly ownership?: readonly string[];
6
8
  readonly tags?: readonly string[];
@@ -11,10 +13,12 @@ export type TestAnnotations = {
11
13
  };
12
14
  export type TestControlsInput = {
13
15
  readonly capture?: CaptureMode;
16
+ readonly duplicateExecution?: DuplicateExecutionControl;
14
17
  readonly timeoutMilliseconds?: number;
15
18
  };
16
19
  export type TestControls = {
17
20
  readonly capture: CaptureMode | null;
21
+ readonly duplicateExecution: DuplicateExecutionControl | null;
18
22
  readonly timeoutMilliseconds: number | null;
19
23
  };
20
24
  export declare function normalizeTestAnnotations(input: TestAnnotationsInput): TestAnnotations;
@@ -1 +1 @@
1
- {"version":3,"file":"test-data.d.ts","sourceRoot":"","sources":["../../../../source/engine/test-data.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,iBAAiB,+BAAkC,CAAC;AAE1D,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,aAAa,GAAG,WAAW,GAAG,UAAU,GAAG,WAAW,CAAC;AAC9F,MAAM,MAAM,WAAW,GAAG,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAE3D,MAAM,MAAM,oBAAoB,GAAG;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC1B,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACvB,QAAQ,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/C,CAAC;AA8GF,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,oBAAoB,GAAG,eAAe,CAOrF;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,iBAAiB,GAAG,YAAY,CAO5E;AAED,wBAAgB,sBAAsB,CAClC,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,oBAAoB,GAC5B,eAAe,CAOjB;AAED,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,oBAAoB,GAAG,eAAe,CAE7F;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,iBAAiB,GAAG,YAAY,CAOhG;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,YAAY,CAEjF"}
1
+ {"version":3,"file":"test-data.d.ts","sourceRoot":"","sources":["../../../../source/engine/test-data.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,iBAAiB,+BAAkC,CAAC;AAC1D,QAAA,MAAM,+BAA+B,sCAAyC,CAAC;AAE/E,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,aAAa,GAAG,WAAW,GAAG,UAAU,GAAG,WAAW,CAAC;AAC9F,MAAM,MAAM,WAAW,GAAG,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAC3D,MAAM,MAAM,yBAAyB,GAAG,OAAO,+BAA+B,CAAC,MAAM,CAAC,CAAC;AAEvF,MAAM,MAAM,oBAAoB,GAAG;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC1B,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,yBAAyB,CAAC;IACxD,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACvB,QAAQ,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,kBAAkB,EAAE,yBAAyB,GAAG,IAAI,CAAC;IAC9D,QAAQ,CAAC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/C,CAAC;AA0HF,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,oBAAoB,GAAG,eAAe,CAOrF;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,iBAAiB,GAAG,YAAY,CAQ5E;AAED,wBAAgB,sBAAsB,CAClC,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,oBAAoB,GAC5B,eAAe,CAOjB;AAED,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,oBAAoB,GAAG,eAAe,CAE7F;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,iBAAiB,GAAG,YAAY,CAQhG;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,YAAY,CAEjF"}
@@ -1,13 +1,16 @@
1
1
  const captureModeValues = ['buffered', 'live'];
2
+ const duplicateExecutionControlValues = ['forbidden', 'idempotent'];
2
3
  const annotationFields = new Set(['ownership', 'tags']);
3
- const controlFields = new Set(['capture', 'timeoutMilliseconds']);
4
+ const controlFields = new Set(['capture', 'duplicateExecution', 'timeoutMilliseconds']);
4
5
  const captureModes = new Set(captureModeValues);
6
+ const duplicateExecutionControls = new Set(duplicateExecutionControlValues);
5
7
  const defaultTestAnnotations = {
6
8
  ownership: [],
7
9
  tags: []
8
10
  };
9
11
  const defaultTestControls = {
10
12
  capture: null,
13
+ duplicateExecution: null,
11
14
  timeoutMilliseconds: null
12
15
  };
13
16
  function isRecord(value) {
@@ -31,6 +34,11 @@ function assertCaptureMode(value) {
31
34
  throw new TypeError('Control field "capture" contains an unknown value.');
32
35
  }
33
36
  }
37
+ function assertDuplicateExecutionControl(value) {
38
+ if (typeof value !== 'string' || !duplicateExecutionControls.has(value)) {
39
+ throw new TypeError('Control field "duplicateExecution" contains an unknown value.');
40
+ }
41
+ }
34
42
  function assertTimeoutMilliseconds(value) {
35
43
  if (typeof value !== 'number' || !Number.isFinite(value)) {
36
44
  throw new TypeError('Control field "timeoutMilliseconds" must be a finite number.');
@@ -63,6 +71,9 @@ function ensureTestControlsInput(value) {
63
71
  if (Object.hasOwn(value, 'capture')) {
64
72
  assertCaptureMode(value.capture);
65
73
  }
74
+ if (Object.hasOwn(value, 'duplicateExecution')) {
75
+ assertDuplicateExecutionControl(value.duplicateExecution);
76
+ }
66
77
  if (Object.hasOwn(value, 'timeoutMilliseconds')) {
67
78
  assertTimeoutMilliseconds(value.timeoutMilliseconds);
68
79
  }
@@ -87,6 +98,7 @@ export function normalizeTestControls(input) {
87
98
  ensureTestControlsInput(input);
88
99
  return {
89
100
  capture: controlField(input, 'capture') ?? null,
101
+ duplicateExecution: controlField(input, 'duplicateExecution') ?? null,
90
102
  timeoutMilliseconds: controlField(input, 'timeoutMilliseconds') ?? null
91
103
  };
92
104
  }
@@ -104,6 +116,7 @@ export function resolveTestControls(parent, child) {
104
116
  const controls = normalizeTestControls(child);
105
117
  return {
106
118
  capture: controls.capture ?? parent.capture,
119
+ duplicateExecution: controls.duplicateExecution ?? parent.duplicateExecution,
107
120
  timeoutMilliseconds: controls.timeoutMilliseconds ?? parent.timeoutMilliseconds
108
121
  };
109
122
  }
@@ -1 +1 @@
1
- {"version":3,"file":"test-data.js","sourceRoot":"","sources":["../../../../source/engine/test-data.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test-data.js","sourceRoot":"","sources":["../../../../source/engine/test-data.ts"],"names":[],"mappings":"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"}