@overkill-dev/engine 0.0.31 → 0.0.33
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/compare/serialized-value.d.ts +1 -1
- package/compare/serialized-value.d.ts.map +1 -1
- package/compare/serialized-value.js +3 -3
- package/compare/serialized-value.js.map +1 -1
- package/engine/assertion-recorder.js +12 -3
- package/engine/assertion-recorder.js.map +1 -1
- package/engine/async-control.d.ts +33 -0
- package/engine/async-control.d.ts.map +1 -0
- package/engine/async-control.js +153 -0
- package/engine/async-control.js.map +1 -0
- package/engine/async-leak-diagnostics.d.ts +20 -0
- package/engine/async-leak-diagnostics.d.ts.map +1 -0
- package/engine/async-leak-diagnostics.js +157 -0
- package/engine/async-leak-diagnostics.js.map +1 -0
- package/engine/case-execution.d.ts +1 -1
- package/engine/case-execution.d.ts.map +1 -1
- package/engine/case-execution.js +127 -65
- package/engine/case-execution.js.map +1 -1
- package/engine/engine.d.ts +2 -1
- package/engine/engine.d.ts.map +1 -1
- package/engine/engine.js +3 -4
- package/engine/engine.js.map +1 -1
- package/engine/execution-async-leak-policy.d.ts +24 -0
- package/engine/execution-async-leak-policy.d.ts.map +1 -0
- package/engine/execution-async-leak-policy.js +56 -0
- package/engine/execution-async-leak-policy.js.map +1 -0
- package/engine/execution-options.d.ts +26 -0
- package/engine/execution-options.d.ts.map +1 -0
- package/engine/execution-options.js +25 -0
- package/engine/execution-options.js.map +1 -0
- package/engine/execution-resource-tracked-cases.js +35 -0
- package/engine/execution-resource-tracked-cases.js.map +1 -0
- package/engine/execution-result.js +16 -0
- package/engine/execution-result.js.map +1 -1
- package/engine/execution-supervision.js +2 -2
- package/engine/execution-supervision.js.map +1 -1
- package/engine/execution.d.ts +7 -20
- package/engine/execution.d.ts.map +1 -1
- package/engine/execution.js +49 -85
- package/engine/execution.js.map +1 -1
- package/engine/node-assertion-error.js +47 -0
- package/engine/node-assertion-error.js.map +1 -0
- package/engine/run-result.d.ts +19 -1
- package/engine/run-result.d.ts.map +1 -1
- package/engine/run-result.js.map +1 -1
- package/engine/test-body-resource-attachment.d.ts +30 -6
- package/engine/test-body-resource-attachment.d.ts.map +1 -1
- package/engine/test-body-resource-attachment.js +81 -5
- package/engine/test-body-resource-attachment.js.map +1 -1
- package/engine/test-node.d.ts +28 -1
- package/engine/test-node.d.ts.map +1 -1
- package/engine/test-node.js +24 -2
- package/engine/test-node.js.map +1 -1
- package/engine/test-plan.d.ts +2 -0
- package/engine/test-plan.d.ts.map +1 -1
- package/engine/test-plan.js +10 -1
- package/engine/test-plan.js.map +1 -1
- package/engine/test-scope-lifecycle.js +63 -0
- package/engine/test-scope-lifecycle.js.map +1 -0
- package/engine/throwing-test-scope.js +27 -0
- package/engine/throwing-test-scope.js.map +1 -0
- package/package.json +4 -2
- package/packages/engine/engine.entry-point.d.ts +6 -4
- package/packages/engine/engine.entry-point.d.ts.map +1 -1
- package/packages/engine/engine.entry-point.js +12 -4
- package/packages/engine/engine.entry-point.js.map +1 -1
- package/readme.md +33 -3
- package/sbom.cdx.json +4 -4
|
@@ -6,6 +6,6 @@ export type SerializedMapEntry = SerializedMapEntryShape;
|
|
|
6
6
|
export type SerializedValue = SerializedValueShape;
|
|
7
7
|
export type SerializationBudget = SerializationBudgetShape;
|
|
8
8
|
export declare const defaultSerializationBudget: SerializationBudget;
|
|
9
|
-
export declare function serializeValue(value: unknown): SerializedValue;
|
|
10
9
|
export declare function serializeValueWithBudget(value: unknown, budget: SerializationBudget): SerializedValue;
|
|
10
|
+
export declare function serializeValue(value: unknown): SerializedValue;
|
|
11
11
|
//# sourceMappingURL=serialized-value.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serialized-value.d.ts","sourceRoot":"","sources":["../../../../source/compare/serialized-value.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,KAAK,mBAAmB,IAAI,wBAAwB,EACpD,KAAK,uBAAuB,IAAI,4BAA4B,EAE5D,KAAK,kBAAkB,IAAI,uBAAuB,EAClD,KAAK,kBAAkB,IAAI,uBAAuB,EAClD,KAAK,qBAAqB,IAAI,0BAA0B,EACxD,KAAK,eAAe,IAAI,oBAAoB,EAC/C,MAAM,6BAA6B,CAAC;AAuBrC,MAAM,MAAM,uBAAuB,GAAG,4BAA4B,CAAC;AACnE,MAAM,MAAM,qBAAqB,GAAG,0BAA0B,CAAC;AAC/D,MAAM,MAAM,kBAAkB,GAAG,uBAAuB,CAAC;AACzD,MAAM,MAAM,kBAAkB,GAAG,uBAAuB,CAAC;AACzD,MAAM,MAAM,eAAe,GAAG,oBAAoB,CAAC;AACnD,MAAM,MAAM,mBAAmB,GAAG,wBAAwB,CAAC;AAE3D,eAAO,MAAM,0BAA0B,EAAE,mBAA2C,CAAC;AA+iBrF,wBAAgB,
|
|
1
|
+
{"version":3,"file":"serialized-value.d.ts","sourceRoot":"","sources":["../../../../source/compare/serialized-value.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,KAAK,mBAAmB,IAAI,wBAAwB,EACpD,KAAK,uBAAuB,IAAI,4BAA4B,EAE5D,KAAK,kBAAkB,IAAI,uBAAuB,EAClD,KAAK,kBAAkB,IAAI,uBAAuB,EAClD,KAAK,qBAAqB,IAAI,0BAA0B,EACxD,KAAK,eAAe,IAAI,oBAAoB,EAC/C,MAAM,6BAA6B,CAAC;AAuBrC,MAAM,MAAM,uBAAuB,GAAG,4BAA4B,CAAC;AACnE,MAAM,MAAM,qBAAqB,GAAG,0BAA0B,CAAC;AAC/D,MAAM,MAAM,kBAAkB,GAAG,uBAAuB,CAAC;AACzD,MAAM,MAAM,kBAAkB,GAAG,uBAAuB,CAAC;AACzD,MAAM,MAAM,eAAe,GAAG,oBAAoB,CAAC;AACnD,MAAM,MAAM,mBAAmB,GAAG,wBAAwB,CAAC;AAE3D,eAAO,MAAM,0BAA0B,EAAE,mBAA2C,CAAC;AA+iBrF,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,mBAAmB,GAAG,eAAe,CAErG;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,CAE9D"}
|
|
@@ -380,10 +380,10 @@ function serializeAny(value, state, depth) {
|
|
|
380
380
|
}
|
|
381
381
|
return accountValue(state, { kind: 'unavailable', reason: `unsupported value type: ${typeof value}` });
|
|
382
382
|
}
|
|
383
|
-
export function serializeValue(value) {
|
|
384
|
-
return serializeAny(value, createState(defaultSerializationBudget), 0);
|
|
385
|
-
}
|
|
386
383
|
export function serializeValueWithBudget(value, budget) {
|
|
387
384
|
return serializeAny(value, createState(budget), 0);
|
|
388
385
|
}
|
|
386
|
+
export function serializeValue(value) {
|
|
387
|
+
return serializeValueWithBudget(value, defaultSerializationBudget);
|
|
388
|
+
}
|
|
389
389
|
//# sourceMappingURL=serialized-value.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serialized-value.js","sourceRoot":"","sources":["../../../../source/compare/serialized-value.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"serialized-value.js","sourceRoot":"","sources":["../../../../source/compare/serialized-value.ts"],"names":[],"mappings":"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"}
|
|
@@ -139,6 +139,11 @@ function mergeRecordedRequires(recordedAssertions, returnedAssertions) {
|
|
|
139
139
|
mergedAssertions.push(...appendRemainingRecordedRequires(recordedAssertions, recordIndex));
|
|
140
140
|
return mergedAssertions;
|
|
141
141
|
}
|
|
142
|
+
function recordedAssertionNodes(records) {
|
|
143
|
+
return records.flatMap(function toAssertion(recorded) {
|
|
144
|
+
return recorded.assertion === null ? [] : [recorded.assertion];
|
|
145
|
+
});
|
|
146
|
+
}
|
|
142
147
|
export function createAssertionRecorder() {
|
|
143
148
|
const builderAssertions = [];
|
|
144
149
|
const recordedAssertions = [];
|
|
@@ -185,11 +190,15 @@ export function createAssertionRecorder() {
|
|
|
185
190
|
}
|
|
186
191
|
return {
|
|
187
192
|
activeRecordedAssertions() {
|
|
188
|
-
return activeRecords()
|
|
189
|
-
return recorded.assertion === null ? [] : [recorded.assertion];
|
|
190
|
-
});
|
|
193
|
+
return recordedAssertionNodes(activeRecords());
|
|
191
194
|
},
|
|
192
195
|
collect,
|
|
196
|
+
completedThrowingAssertions() {
|
|
197
|
+
if (pendingAssertionExists()) {
|
|
198
|
+
return createPendingAsyncAssertionFailure();
|
|
199
|
+
}
|
|
200
|
+
return recordedAssertionNodes(activeRecords());
|
|
201
|
+
},
|
|
193
202
|
failContract(failure) {
|
|
194
203
|
throw new TestContractSignalError(failure, undefined);
|
|
195
204
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assertion-recorder.js","sourceRoot":"","sources":["../../../../source/engine/assertion-recorder.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,eAAe,EAClB,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"assertion-recorder.js","sourceRoot":"","sources":["../../../../source/engine/assertion-recorder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { ThrownMatcher } from '../assertion-protocol/thrown-matcher.ts';
|
|
2
|
+
import type { AssertAssertionFacade } from './assertion-facade.ts';
|
|
3
|
+
import type { TestContractFailure } from './run-result.ts';
|
|
4
|
+
type CleanupCallback = () => Promise<void> | void;
|
|
5
|
+
type InFlightRecord<Value> = {
|
|
6
|
+
readonly markObserved: () => void;
|
|
7
|
+
readonly markSettled: () => void;
|
|
8
|
+
readonly observed: () => boolean;
|
|
9
|
+
readonly promise: Promise<Value>;
|
|
10
|
+
readonly settlement: Promise<void>;
|
|
11
|
+
readonly settled: () => boolean;
|
|
12
|
+
};
|
|
13
|
+
export type InFlightTask<Value> = {
|
|
14
|
+
readonly rejects: (matcher: ThrownMatcher) => Promise<void>;
|
|
15
|
+
readonly wait: () => Promise<Value>;
|
|
16
|
+
};
|
|
17
|
+
export type AsyncControlState = {
|
|
18
|
+
readonly cleanupStarted: () => boolean;
|
|
19
|
+
readonly inFlightRecords: () => readonly InFlightRecord<unknown>[];
|
|
20
|
+
readonly registerCleanup: (callback: CleanupCallback) => void;
|
|
21
|
+
readonly registerInFlight: (record: InFlightRecord<unknown>) => void;
|
|
22
|
+
readonly startCleanup: () => readonly CleanupCallback[];
|
|
23
|
+
};
|
|
24
|
+
export declare function drainMicrotasks(): Promise<void>;
|
|
25
|
+
export declare function yieldToNextTurn(): Promise<void>;
|
|
26
|
+
export declare function settleAsyncWork(): Promise<void>;
|
|
27
|
+
export declare function createAsyncControlState(): AsyncControlState;
|
|
28
|
+
export declare function registerCleanup(state: AsyncControlState, callback: CleanupCallback): void;
|
|
29
|
+
export declare function startInFlight<Value>(state: AsyncControlState, assertContext: Pick<AssertAssertionFacade, 'rejects'>, operation: () => PromiseLike<Value>): InFlightTask<Value>;
|
|
30
|
+
export declare function runCleanups(state: AsyncControlState): Promise<readonly unknown[]>;
|
|
31
|
+
export declare function validateInFlightTasks(state: AsyncControlState): readonly TestContractFailure[];
|
|
32
|
+
export {};
|
|
33
|
+
//# sourceMappingURL=async-control.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"async-control.d.ts","sourceRoot":"","sources":["../../../../source/engine/async-control.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAE3D,KAAK,eAAe,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAElD,KAAK,cAAc,CAAC,KAAK,IAAI;IACzB,QAAQ,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC;IAClC,QAAQ,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,OAAO,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,YAAY,CAAC,KAAK,IAAI;IAC9B,QAAQ,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,QAAQ,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC5B,QAAQ,CAAC,cAAc,EAAE,MAAM,OAAO,CAAC;IACvC,QAAQ,CAAC,eAAe,EAAE,MAAM,SAAS,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;IACnE,QAAQ,CAAC,eAAe,EAAE,CAAC,QAAQ,EAAE,eAAe,KAAK,IAAI,CAAC;IAC9D,QAAQ,CAAC,gBAAgB,EAAE,CAAC,MAAM,EAAE,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IACrE,QAAQ,CAAC,YAAY,EAAE,MAAM,SAAS,eAAe,EAAE,CAAC;CAC3D,CAAC;AAIF,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAErD;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAErD;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAOrD;AAED,wBAAgB,uBAAuB,IAAI,iBAAiB,CAuB3D;AAMD,wBAAgB,eAAe,CAAC,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,eAAe,GAAG,IAAI,CAMzF;AAeD,wBAAgB,aAAa,CAAC,KAAK,EAC/B,KAAK,EAAE,iBAAiB,EACxB,aAAa,EAAE,IAAI,CAAC,qBAAqB,EAAE,SAAS,CAAC,EACrD,SAAS,EAAE,MAAM,WAAW,CAAC,KAAK,CAAC,GACpC,YAAY,CAAC,KAAK,CAAC,CAwCrB;AAED,wBAAsB,WAAW,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,SAAS,OAAO,EAAE,CAAC,CAavF;AAsBD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,iBAAiB,GAAG,SAAS,mBAAmB,EAAE,CAwB9F"}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import { setImmediate as waitForImmediate } from 'node:timers/promises';
|
|
2
|
+
const settleCheckpointCount = 5;
|
|
3
|
+
export async function drainMicrotasks() {
|
|
4
|
+
await Promise.resolve();
|
|
5
|
+
}
|
|
6
|
+
export async function yieldToNextTurn() {
|
|
7
|
+
await waitForImmediate();
|
|
8
|
+
}
|
|
9
|
+
export async function settleAsyncWork() {
|
|
10
|
+
for (let checkpoint = 0; checkpoint < settleCheckpointCount; checkpoint += 1) {
|
|
11
|
+
await drainMicrotasks();
|
|
12
|
+
await yieldToNextTurn();
|
|
13
|
+
}
|
|
14
|
+
await drainMicrotasks();
|
|
15
|
+
}
|
|
16
|
+
export function createAsyncControlState() {
|
|
17
|
+
let cleanupStarted = false;
|
|
18
|
+
const cleanupCallbacks = [];
|
|
19
|
+
const inFlightRecords = [];
|
|
20
|
+
return {
|
|
21
|
+
cleanupStarted() {
|
|
22
|
+
return cleanupStarted;
|
|
23
|
+
},
|
|
24
|
+
inFlightRecords() {
|
|
25
|
+
return inFlightRecords;
|
|
26
|
+
},
|
|
27
|
+
registerCleanup(callback) {
|
|
28
|
+
cleanupCallbacks.push(callback);
|
|
29
|
+
},
|
|
30
|
+
registerInFlight(record) {
|
|
31
|
+
inFlightRecords.push(record);
|
|
32
|
+
},
|
|
33
|
+
startCleanup() {
|
|
34
|
+
cleanupStarted = true;
|
|
35
|
+
return cleanupCallbacks;
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
function callbackRegisteredAfterCleanupFailure() {
|
|
40
|
+
return new TypeError('scope.cleanup() cannot be called after test cleanup has started.');
|
|
41
|
+
}
|
|
42
|
+
export function registerCleanup(state, callback) {
|
|
43
|
+
if (state.cleanupStarted()) {
|
|
44
|
+
throw callbackRegisteredAfterCleanupFailure();
|
|
45
|
+
}
|
|
46
|
+
state.registerCleanup(callback);
|
|
47
|
+
}
|
|
48
|
+
async function operationPromise(operation) {
|
|
49
|
+
return await operation();
|
|
50
|
+
}
|
|
51
|
+
async function recordSettlement(record) {
|
|
52
|
+
try {
|
|
53
|
+
await record.promise;
|
|
54
|
+
}
|
|
55
|
+
catch {
|
|
56
|
+
}
|
|
57
|
+
finally {
|
|
58
|
+
record.markSettled();
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
export function startInFlight(state, assertContext, operation) {
|
|
62
|
+
let observed = false;
|
|
63
|
+
let settled = false;
|
|
64
|
+
const promise = operationPromise(operation);
|
|
65
|
+
const record = {
|
|
66
|
+
markObserved() {
|
|
67
|
+
observed = true;
|
|
68
|
+
},
|
|
69
|
+
markSettled() {
|
|
70
|
+
settled = true;
|
|
71
|
+
},
|
|
72
|
+
observed() {
|
|
73
|
+
return observed;
|
|
74
|
+
},
|
|
75
|
+
promise,
|
|
76
|
+
settlement: recordSettlement({
|
|
77
|
+
markSettled() {
|
|
78
|
+
settled = true;
|
|
79
|
+
},
|
|
80
|
+
promise
|
|
81
|
+
}),
|
|
82
|
+
settled() {
|
|
83
|
+
return settled;
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
state.registerInFlight(record);
|
|
87
|
+
return {
|
|
88
|
+
async rejects(matcher) {
|
|
89
|
+
record.markObserved();
|
|
90
|
+
await assertContext.rejects(async function waitForTrackedRejection() {
|
|
91
|
+
return record.promise;
|
|
92
|
+
}, matcher);
|
|
93
|
+
},
|
|
94
|
+
async wait() {
|
|
95
|
+
record.markObserved();
|
|
96
|
+
return await record.promise;
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
export async function runCleanups(state) {
|
|
101
|
+
const cleanupCallbacks = state.startCleanup();
|
|
102
|
+
const errors = [];
|
|
103
|
+
for (const cleanupCallback of cleanupCallbacks.toReversed()) {
|
|
104
|
+
try {
|
|
105
|
+
await cleanupCallback();
|
|
106
|
+
}
|
|
107
|
+
catch (error) {
|
|
108
|
+
errors.push(error);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
return errors;
|
|
112
|
+
}
|
|
113
|
+
function pendingInFlightTaskFailure(count) {
|
|
114
|
+
return {
|
|
115
|
+
actual: count,
|
|
116
|
+
code: 'pending-in-flight-task',
|
|
117
|
+
expected: 'all in-flight tasks to settle before the test ends',
|
|
118
|
+
kind: 'test-contract',
|
|
119
|
+
summary: 'In-flight tasks must settle before the test ends.'
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
function unobservedInFlightTaskFailure(count) {
|
|
123
|
+
return {
|
|
124
|
+
actual: count,
|
|
125
|
+
code: 'unobserved-in-flight-task',
|
|
126
|
+
expected: 'all in-flight tasks to be awaited or asserted before the test ends',
|
|
127
|
+
kind: 'test-contract',
|
|
128
|
+
summary: 'In-flight tasks must be observed before the test ends.'
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
export function validateInFlightTasks(state) {
|
|
132
|
+
const pendingCount = state
|
|
133
|
+
.inFlightRecords()
|
|
134
|
+
.filter(function pendingTask(record) {
|
|
135
|
+
return !record.settled();
|
|
136
|
+
})
|
|
137
|
+
.length;
|
|
138
|
+
const unobservedCount = state
|
|
139
|
+
.inFlightRecords()
|
|
140
|
+
.filter(function unobservedTask(record) {
|
|
141
|
+
return record.settled() && !record.observed();
|
|
142
|
+
})
|
|
143
|
+
.length;
|
|
144
|
+
const failures = [];
|
|
145
|
+
if (pendingCount > 0) {
|
|
146
|
+
failures.push(pendingInFlightTaskFailure(pendingCount));
|
|
147
|
+
}
|
|
148
|
+
if (unobservedCount > 0) {
|
|
149
|
+
failures.push(unobservedInFlightTaskFailure(unobservedCount));
|
|
150
|
+
}
|
|
151
|
+
return failures;
|
|
152
|
+
}
|
|
153
|
+
//# sourceMappingURL=async-control.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"async-control.js","sourceRoot":"","sources":["../../../../source/engine/async-control.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type CaseId } from './identity.ts';
|
|
2
|
+
import type { RunnerError } from './run-result.ts';
|
|
3
|
+
import type { TestPlanCase } from './test-plan.ts';
|
|
4
|
+
export type AsyncLeakMonitor = {
|
|
5
|
+
readonly casePromiseLeakError: (testCase: TestPlanCase) => RunnerError | null;
|
|
6
|
+
readonly runCase: <Value>(testCase: TestPlanCase, run: () => Promise<Value>) => Promise<Value>;
|
|
7
|
+
readonly stop: () => void;
|
|
8
|
+
};
|
|
9
|
+
export declare function createDisabledAsyncLeakMonitor(): AsyncLeakMonitor;
|
|
10
|
+
type ActiveResourceLeakCause = {
|
|
11
|
+
readonly capability: 'async-leak';
|
|
12
|
+
readonly leak: 'active-resource';
|
|
13
|
+
readonly phase: 'body' | 'run';
|
|
14
|
+
readonly resourceTypes: readonly string[];
|
|
15
|
+
readonly strictness: 'observed';
|
|
16
|
+
};
|
|
17
|
+
export declare function activeResourceLeakError(attributedTo: CaseId | null, before: readonly string[], after: readonly string[], phase: ActiveResourceLeakCause['phase']): RunnerError | null;
|
|
18
|
+
export declare function createAsyncLeakMonitor(): AsyncLeakMonitor;
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=async-leak-diagnostics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"async-leak-diagnostics.d.ts","sourceRoot":"","sources":["../../../../source/engine/async-leak-diagnostics.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAgBnD,MAAM,MAAM,gBAAgB,GAAG;IAC3B,QAAQ,CAAC,oBAAoB,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,WAAW,GAAG,IAAI,CAAC;IAC9E,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,IAAI,EAAE,MAAM,IAAI,CAAC;CAC7B,CAAC;AAEF,wBAAgB,8BAA8B,IAAI,gBAAgB,CAYjE;AAED,KAAK,uBAAuB,GAAG;IAC3B,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;CACnC,CAAC;AAsDF,wBAAgB,uBAAuB,CACnC,YAAY,EAAE,MAAM,GAAG,IAAI,EAC3B,MAAM,EAAE,SAAS,MAAM,EAAE,EACzB,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,KAAK,EAAE,uBAAuB,CAAC,OAAO,CAAC,GACxC,WAAW,GAAG,IAAI,CAqBpB;AAyCD,wBAAgB,sBAAsB,IAAI,gBAAgB,CA8DzD"}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import asyncHooks, { AsyncLocalStorage } from 'node:async_hooks';
|
|
2
|
+
import { caseIdentityKey } from "./identity.js";
|
|
3
|
+
export function createDisabledAsyncLeakMonitor() {
|
|
4
|
+
return {
|
|
5
|
+
casePromiseLeakError() {
|
|
6
|
+
return null;
|
|
7
|
+
},
|
|
8
|
+
async runCase(_testCase, run) {
|
|
9
|
+
return await run();
|
|
10
|
+
},
|
|
11
|
+
stop() {
|
|
12
|
+
return undefined;
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
const activeCaseStorage = new AsyncLocalStorage();
|
|
17
|
+
const ignoredActiveResourceTypes = new Set(['PipeWrap']);
|
|
18
|
+
function sortedResourceTypes(types) {
|
|
19
|
+
return Array
|
|
20
|
+
.from(types)
|
|
21
|
+
.filter(function reportableResourceType(type) {
|
|
22
|
+
return !ignoredActiveResourceTypes.has(type);
|
|
23
|
+
})
|
|
24
|
+
.toSorted(function compareType(first, second) {
|
|
25
|
+
return first.localeCompare(second);
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
function resourceCounts(types) {
|
|
29
|
+
const counts = new Map();
|
|
30
|
+
for (const type of types) {
|
|
31
|
+
counts.set(type, (counts.get(type) ?? 0) + 1);
|
|
32
|
+
}
|
|
33
|
+
return counts;
|
|
34
|
+
}
|
|
35
|
+
function increasedResourceTypes(before, after) {
|
|
36
|
+
const beforeCounts = resourceCounts(before);
|
|
37
|
+
const afterCounts = resourceCounts(after);
|
|
38
|
+
const increasedTypes = [];
|
|
39
|
+
for (const [type, afterCount] of afterCounts) {
|
|
40
|
+
const beforeCount = beforeCounts.get(type) ?? 0;
|
|
41
|
+
if (afterCount > beforeCount) {
|
|
42
|
+
increasedTypes.push(...Array.from({ length: afterCount - beforeCount }, function repeatType() {
|
|
43
|
+
return type;
|
|
44
|
+
}));
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return sortedResourceTypes(increasedTypes);
|
|
48
|
+
}
|
|
49
|
+
export function activeResourceLeakError(attributedTo, before, after, phase) {
|
|
50
|
+
const resourceTypes = increasedResourceTypes(before, after);
|
|
51
|
+
if (resourceTypes.length === 0) {
|
|
52
|
+
return null;
|
|
53
|
+
}
|
|
54
|
+
const cause = {
|
|
55
|
+
capability: 'async-leak',
|
|
56
|
+
leak: 'active-resource',
|
|
57
|
+
phase,
|
|
58
|
+
resourceTypes,
|
|
59
|
+
strictness: 'observed'
|
|
60
|
+
};
|
|
61
|
+
return {
|
|
62
|
+
attributedTo,
|
|
63
|
+
cause,
|
|
64
|
+
message: `Runtime policy violation: active resources leaked: ${resourceTypes.join(', ')}.`,
|
|
65
|
+
subtype: 'runtime-policy'
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
function promiseLeakError(testCase, pendingPromiseCount) {
|
|
69
|
+
const cause = {
|
|
70
|
+
capability: 'async-leak',
|
|
71
|
+
leak: 'promise',
|
|
72
|
+
pendingPromiseCount,
|
|
73
|
+
phase: 'body',
|
|
74
|
+
strictness: 'observed'
|
|
75
|
+
};
|
|
76
|
+
return {
|
|
77
|
+
attributedTo: testCase.id,
|
|
78
|
+
cause,
|
|
79
|
+
message: `Runtime policy violation: ${pendingPromiseCount} promise(s) still pending after test cleanup.`,
|
|
80
|
+
subtype: 'runtime-policy'
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
function createTrackedPromise(activeCase) {
|
|
84
|
+
let consumed = false;
|
|
85
|
+
let settled = false;
|
|
86
|
+
return {
|
|
87
|
+
caseId: activeCase.id,
|
|
88
|
+
caseKey: activeCase.key,
|
|
89
|
+
consume() {
|
|
90
|
+
consumed = true;
|
|
91
|
+
},
|
|
92
|
+
consumed() {
|
|
93
|
+
return consumed;
|
|
94
|
+
},
|
|
95
|
+
settle() {
|
|
96
|
+
settled = true;
|
|
97
|
+
},
|
|
98
|
+
settled() {
|
|
99
|
+
return settled;
|
|
100
|
+
}
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
export function createAsyncLeakMonitor() {
|
|
104
|
+
const promises = new Map();
|
|
105
|
+
const createHookKey = 'createHook';
|
|
106
|
+
const hook = asyncHooks[createHookKey]({
|
|
107
|
+
destroy(asyncId) {
|
|
108
|
+
promises.delete(asyncId);
|
|
109
|
+
},
|
|
110
|
+
init(asyncId, type, triggerAsyncId) {
|
|
111
|
+
if (type !== 'PROMISE') {
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
const parentPromise = promises.get(triggerAsyncId);
|
|
115
|
+
if (parentPromise !== undefined) {
|
|
116
|
+
parentPromise.consume();
|
|
117
|
+
}
|
|
118
|
+
const activeCase = activeCaseStorage.getStore();
|
|
119
|
+
if (activeCase !== undefined) {
|
|
120
|
+
promises.set(asyncId, createTrackedPromise(activeCase));
|
|
121
|
+
}
|
|
122
|
+
},
|
|
123
|
+
promiseResolve(asyncId) {
|
|
124
|
+
const promise = promises.get(asyncId);
|
|
125
|
+
if (promise !== undefined) {
|
|
126
|
+
promise.settle();
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
});
|
|
130
|
+
hook.enable();
|
|
131
|
+
return {
|
|
132
|
+
casePromiseLeakError(testCase) {
|
|
133
|
+
const key = caseIdentityKey(testCase.id);
|
|
134
|
+
const pendingPromiseCount = Array
|
|
135
|
+
.from(promises.values())
|
|
136
|
+
.filter(function pendingCasePromise(promise) {
|
|
137
|
+
return promise.caseKey === key && !promise.settled() && !promise.consumed();
|
|
138
|
+
})
|
|
139
|
+
.length;
|
|
140
|
+
if (pendingPromiseCount === 0) {
|
|
141
|
+
return null;
|
|
142
|
+
}
|
|
143
|
+
return promiseLeakError(testCase, pendingPromiseCount);
|
|
144
|
+
},
|
|
145
|
+
async runCase(testCase, run) {
|
|
146
|
+
return await activeCaseStorage.run({
|
|
147
|
+
id: testCase.id,
|
|
148
|
+
key: caseIdentityKey(testCase.id)
|
|
149
|
+
}, run);
|
|
150
|
+
},
|
|
151
|
+
stop() {
|
|
152
|
+
hook.disable();
|
|
153
|
+
promises.clear();
|
|
154
|
+
}
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
//# sourceMappingURL=async-leak-diagnostics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"async-leak-diagnostics.js","sourceRoot":"","sources":["../../../../source/engine/async-leak-diagnostics.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,8 +6,8 @@ type ExecutedCase = {
|
|
|
6
6
|
readonly wallTimeMs: number;
|
|
7
7
|
};
|
|
8
8
|
export type RunTestCaseOptions = {
|
|
9
|
+
readonly controller: AbortController;
|
|
9
10
|
readonly runtimePolicy: TestRuntimePolicy | null;
|
|
10
|
-
readonly signal: AbortSignal;
|
|
11
11
|
};
|
|
12
12
|
export type TestRuntimePolicy = {
|
|
13
13
|
readonly runCase: <Value>(testCase: TestPlanCase, run: () => Promise<Value>) => Promise<Value>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"case-execution.d.ts","sourceRoot":"","sources":["../../../../source/engine/case-execution.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"case-execution.d.ts","sourceRoot":"","sources":["../../../../source/engine/case-execution.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAgBtD,OAAO,EACH,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAInB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAYnD,KAAK,YAAY,GAAG;IAChB,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC/B,CAAC;AAUF,MAAM,MAAM,kBAAkB,GAAG;IAC7B,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;IACrC,QAAQ,CAAC,aAAa,EAAE,iBAAiB,GAAG,IAAI,CAAC;CACpD,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC5B,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,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;IACvE,QAAQ,CAAC,cAAc,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,SAAS,WAAW,EAAE,CAAC;IAC5E,QAAQ,CAAC,aAAa,EAAE,MAAM,SAAS,WAAW,EAAE,CAAC;CACxD,CAAC;AAiUF,wBAAgB,cAAc,CAAC,oBAAoB,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,GAAG,WAAW,CAMrG;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,mBAAmB,CAQnG;AAED,wBAAsB,WAAW,CAC7B,QAAQ,EAAE,YAAY,EACtB,SAAS,EAAE,SAAS,EACpB,OAAO,GAAE,kBAAgD,GAC1D,OAAO,CAAC,YAAY,CAAC,CA8BvB"}
|