@overkill-dev/run 0.0.82 → 0.0.83
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/assertion-protocol/source-location.js +4 -0
- package/assertion-protocol/source-location.js.map +1 -1
- package/bench/timeline-schema.d.ts +43 -0
- package/bench/timeline-schema.d.ts.map +1 -0
- package/bench/timeline-schema.js +28 -0
- package/bench/timeline-schema.js.map +1 -0
- package/engine/assertion-recorder.d.ts +12 -0
- package/engine/assertion-recorder.d.ts.map +1 -0
- package/engine/async-control.d.ts.map +1 -1
- package/engine/async-control.js +10 -1
- package/engine/async-control.js.map +1 -1
- package/engine/benchmark-result.d.ts +5 -0
- package/engine/benchmark-result.d.ts.map +1 -1
- package/engine/benchmark-result.js.map +1 -1
- package/engine/benchmark-timeline.d.ts +12 -0
- package/engine/benchmark-timeline.d.ts.map +1 -0
- package/engine/case-body-execution.js +139 -3
- package/engine/case-body-execution.js.map +1 -1
- package/engine/case-execution.d.ts.map +1 -1
- package/engine/case-execution.js +61 -189
- package/engine/case-execution.js.map +1 -1
- package/engine/case-interruption.js +26 -0
- package/engine/case-interruption.js.map +1 -0
- package/engine/execution-observation.js +15 -1
- package/engine/execution-observation.js.map +1 -1
- package/engine/execution-supervision-state.js +5 -0
- package/engine/execution-supervision-state.js.map +1 -1
- package/engine/execution-supervision.d.ts.map +1 -1
- package/engine/execution-supervision.js +7 -7
- package/engine/execution-supervision.js.map +1 -1
- package/engine/execution-test-plan-cases.js +4 -2
- package/engine/execution-test-plan-cases.js.map +1 -1
- package/engine/native-resource-observation.js +70 -0
- package/engine/native-resource-observation.js.map +1 -0
- package/engine/resource-owner-observation.js +8 -8
- package/engine/resource-owner-observation.js.map +1 -1
- package/engine/test-scope-lifecycle.js +9 -7
- package/engine/test-scope-lifecycle.js.map +1 -1
- package/file-store.d.ts +7 -0
- package/file-store.d.ts.map +1 -0
- package/package.json +4 -2
- package/packages/run/benchmark-calibration.entry-point.d.ts +1 -0
- package/packages/run/benchmark-calibration.entry-point.d.ts.map +1 -1
- package/packages/run/benchmark-calibration.entry-point.js +1 -0
- package/packages/run/benchmark-calibration.entry-point.js.map +1 -1
- package/packages/run/run.entry-point.d.ts +3 -0
- package/packages/run/run.entry-point.d.ts.map +1 -1
- package/packages/run/run.entry-point.js +3 -0
- package/packages/run/run.entry-point.js.map +1 -1
- package/readme.md +16 -1
- package/run/attachment-eligibility.js +8 -4
- package/run/attachment-eligibility.js.map +1 -1
- package/run/benchmark-definition-schema.js +4 -1
- package/run/benchmark-definition-schema.js.map +1 -1
- package/run/benchmark-placement.js +11 -2
- package/run/benchmark-placement.js.map +1 -1
- package/run/benchmark-result-schema.js +2 -0
- package/run/benchmark-result-schema.js.map +1 -1
- package/run/collected-run-plan.js +6 -13
- package/run/collected-run-plan.js.map +1 -1
- package/run/execution-session-collected.js +10 -3
- package/run/execution-session-collected.js.map +1 -1
- package/run/execution-session-observation.js +9 -3
- package/run/execution-session-observation.js.map +1 -1
- package/run/execution-session-schema.js +8 -2
- package/run/execution-session-schema.js.map +1 -1
- package/run/execution-session-supervised.js +10 -2
- package/run/execution-session-supervised.js.map +1 -1
- package/run/execution-session-types.d.ts +2 -0
- package/run/execution-session-types.d.ts.map +1 -1
- package/run/execution-session.js +4 -4
- package/run/execution-session.js.map +1 -1
- package/run/run-artifact-schema.d.ts +3 -0
- package/run/run-artifact-schema.d.ts.map +1 -0
- package/run/run-artifact-schema.js +3 -0
- package/run/run-artifact-schema.js.map +1 -1
- package/run/run-record-result.d.ts +8 -0
- package/run/run-record-result.d.ts.map +1 -0
- package/run/run-record-result.js +79 -17
- package/run/run-record-result.js.map +1 -1
- package/run/run-result-schema.d.ts.map +1 -1
- package/run/run-result-schema.js +14 -9
- package/run/run-result-schema.js.map +1 -1
- package/software-bill-of-materials.cyclonedx.json +4 -4
- package/engine/infrastructure-resource-observation.js +0 -55
- package/engine/infrastructure-resource-observation.js.map +0 -1
package/run/run-result-schema.js
CHANGED
|
@@ -28,15 +28,8 @@ export const runnerErrorSchema = z.strictObject({
|
|
|
28
28
|
'unhandled-rejection'
|
|
29
29
|
])
|
|
30
30
|
});
|
|
31
|
-
|
|
31
|
+
const diagnosticFields = {
|
|
32
32
|
artifacts: z.array(runArtifactSchema),
|
|
33
|
-
bySuite: z.record(z.string(), z.strictObject({ discovered: z.number(), executed: z.number(), planned: z.number() })),
|
|
34
|
-
orphans: z.array(z.strictObject({
|
|
35
|
-
definitionLocations: sourceLocationsSchema,
|
|
36
|
-
file: z.string().nullable(),
|
|
37
|
-
kind: z.enum(['suite', 'table', 'test']),
|
|
38
|
-
title: z.string()
|
|
39
|
-
})),
|
|
40
33
|
perTest: z.array(z.strictObject({
|
|
41
34
|
benchmark: benchmarkResultSchema.nullable().default(null),
|
|
42
35
|
attempts: z.tuple([testAttemptSchema]).rest(testAttemptSchema),
|
|
@@ -48,9 +41,21 @@ export const runResultSchema = z.strictObject({
|
|
|
48
41
|
workId: workIdSchema,
|
|
49
42
|
durationMicroseconds: z.number()
|
|
50
43
|
})),
|
|
44
|
+
runnerErrors: z.array(runnerErrorSchema)
|
|
45
|
+
};
|
|
46
|
+
export const runDiagnosticsSchema = z
|
|
47
|
+
.strictObject(diagnosticFields);
|
|
48
|
+
export const runResultSchema = z.strictObject({
|
|
49
|
+
...diagnosticFields,
|
|
50
|
+
bySuite: z.record(z.string(), z.strictObject({ discovered: z.number(), executed: z.number(), planned: z.number() })),
|
|
51
|
+
orphans: z.array(z.strictObject({
|
|
52
|
+
definitionLocations: sourceLocationsSchema,
|
|
53
|
+
file: z.string().nullable(),
|
|
54
|
+
kind: z.enum(['suite', 'table', 'test']),
|
|
55
|
+
title: z.string()
|
|
56
|
+
})),
|
|
51
57
|
planStatus: z.enum(['empty-selection', 'empty-shard', 'planned']),
|
|
52
58
|
processUsage: processUsageSchema.nullable(),
|
|
53
|
-
runnerErrors: z.array(runnerErrorSchema),
|
|
54
59
|
status: z.enum(['failed', 'passed']),
|
|
55
60
|
summary: z.strictObject({
|
|
56
61
|
crashed: z.number(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-result-schema.js","sourceRoot":"","sources":["../../../../source/run/run-result-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAClH,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC/F,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAErE,MAAM,CAAC,MAAM,iBAAiB,GAA2B,CAAC,CAAC,YAAY,CAAC;IACpE,mBAAmB,EAAE,eAAe,CAAC,QAAQ,EAAE;IAC/C,YAAY,EAAE,YAAY,CAAC,QAAQ,EAAE;IACrC,gBAAgB,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACvD,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE;IAClB,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC9E,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC;QACZ,UAAU;QACV,mBAAmB;QACnB,UAAU;QACV,OAAO;QACP,SAAS;QACT,QAAQ;QACR,aAAa;QACb,YAAY;QACZ,UAAU;QACV,oBAAoB;QACpB,eAAe;QACf,gBAAgB;QAChB,oBAAoB;QACpB,qBAAqB;KACxB,CAAC;CACL,CAAC,CAAC;AACH,MAAM,
|
|
1
|
+
{"version":3,"file":"run-result-schema.js","sourceRoot":"","sources":["../../../../source/run/run-result-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,9 +16,9 @@
|
|
|
16
16
|
"component": {
|
|
17
17
|
"type": "library",
|
|
18
18
|
"name": "@overkill-dev/run",
|
|
19
|
-
"version": "0.0.
|
|
20
|
-
"bom-ref": "pkg:npm/@overkill-dev/run@0.0.
|
|
21
|
-
"purl": "pkg:npm/@overkill-dev/run@0.0.
|
|
19
|
+
"version": "0.0.83",
|
|
20
|
+
"bom-ref": "pkg:npm/@overkill-dev/run@0.0.83",
|
|
21
|
+
"purl": "pkg:npm/@overkill-dev/run@0.0.83"
|
|
22
22
|
}
|
|
23
23
|
},
|
|
24
24
|
"components": [
|
|
@@ -278,7 +278,7 @@
|
|
|
278
278
|
"ref": "pkg:npm/@jridgewell/trace-mapping@0.3.31"
|
|
279
279
|
},
|
|
280
280
|
{
|
|
281
|
-
"ref": "pkg:npm/@overkill-dev/run@0.0.
|
|
281
|
+
"ref": "pkg:npm/@overkill-dev/run@0.0.83",
|
|
282
282
|
"dependsOn": [
|
|
283
283
|
"pkg:npm/@enormora/clock@0.0.3",
|
|
284
284
|
"pkg:npm/@jridgewell/trace-mapping@0.3.31",
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { observingInfrastructure } from "./execution-observation.js";
|
|
2
|
-
const unreferencedResourceTypes = new Set(['PROMISE', 'TickObject', 'Microtask']);
|
|
3
|
-
const resources = new Map();
|
|
4
|
-
function isReferencedTimer(value) {
|
|
5
|
-
return typeof value === 'object' && value !== null && typeof Reflect.get(value, 'hasRef') === 'function';
|
|
6
|
-
}
|
|
7
|
-
function referencedTimer(reference) {
|
|
8
|
-
return reference.deref()?.hasRef() === true;
|
|
9
|
-
}
|
|
10
|
-
export function recordInfrastructureResource(id, type, resource) {
|
|
11
|
-
if (!observingInfrastructure() || unreferencedResourceTypes.has(type)) {
|
|
12
|
-
return;
|
|
13
|
-
}
|
|
14
|
-
if (type === 'Timeout' && isReferencedTimer(resource)) {
|
|
15
|
-
const reference = new WeakRef(resource);
|
|
16
|
-
resources.set(id, {
|
|
17
|
-
type,
|
|
18
|
-
confirmed: true,
|
|
19
|
-
active() {
|
|
20
|
-
return referencedTimer(reference);
|
|
21
|
-
}
|
|
22
|
-
});
|
|
23
|
-
return;
|
|
24
|
-
}
|
|
25
|
-
resources.set(id, {
|
|
26
|
-
type,
|
|
27
|
-
confirmed: false,
|
|
28
|
-
active() {
|
|
29
|
-
return true;
|
|
30
|
-
}
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
export function forgetInfrastructureResource(id) {
|
|
34
|
-
resources.delete(id);
|
|
35
|
-
}
|
|
36
|
-
export function clearInfrastructureResources() {
|
|
37
|
-
resources.clear();
|
|
38
|
-
}
|
|
39
|
-
export function observeInfrastructureResources() {
|
|
40
|
-
const before = new Set(resources.keys());
|
|
41
|
-
return function infrastructureResourceSnapshot() {
|
|
42
|
-
const active = [];
|
|
43
|
-
const uncertain = [];
|
|
44
|
-
for (const [id, resource] of resources) {
|
|
45
|
-
if (!before.has(id) && resource.active()) {
|
|
46
|
-
(resource.confirmed ? active : uncertain).push(resource.type);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
return { active, uncertain };
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
export function sameNativeResourceType(resourceType, provider) {
|
|
53
|
-
return resourceType.replace('Socket', '').toUpperCase() === provider.toUpperCase();
|
|
54
|
-
}
|
|
55
|
-
//# sourceMappingURL=infrastructure-resource-observation.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"infrastructure-resource-observation.js","sourceRoot":"","sources":["../../../../source/engine/infrastructure-resource-observation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAarE,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAC,CAAE,SAAS,EAAE,YAAY,EAAE,WAAW,CAAE,CAAC,CAAC;AACpF,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkC,CAAC;AAI5D,SAAS,iBAAiB,CAAC,KAAc;IACrC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,UAAU,CAAC;AAC7G,CAAC;AAED,SAAS,eAAe,CAAC,SAAmC;IACxD,OAAO,SAAS,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,EAAU,EAAE,IAAY,EAAE,QAAiB;IACpF,IAAI,CAAC,uBAAuB,EAAE,IAAI,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACpE,OAAO;IACX,CAAC;IACD,IAAI,IAAI,KAAK,SAAS,IAAI,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpD,MAAM,SAAS,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;QACxC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE;YACd,IAAI;YACJ,SAAS,EAAE,IAAI;YACf,MAAM;gBACF,OAAO,eAAe,CAAC,SAAS,CAAC,CAAC;YACtC,CAAC;SACJ,CAAC,CAAC;QACH,OAAO;IACX,CAAC;IACD,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE;QACd,IAAI;QACJ,SAAS,EAAE,KAAK;QAChB,MAAM;YACF,OAAO,IAAI,CAAC;QAChB,CAAC;KACJ,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,EAAU;IACnD,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,4BAA4B;IACxC,SAAS,CAAC,KAAK,EAAE,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,8BAA8B;IAC1C,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IACzC,OAAO,SAAS,8BAA8B;QAC1C,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,KAAK,MAAM,CAAE,EAAE,EAAE,QAAQ,CAAE,IAAI,SAAS,EAAE,CAAC;YACvC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;gBACvC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAClE,CAAC;QACL,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IACjC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,YAAoB,EAAE,QAAgB;IACzE,OAAO,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,WAAW,EAAE,CAAC;AACvF,CAAC"}
|