@overkill-dev/run 0.0.60 → 0.0.62
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/coverage-artifact.d.ts +49 -0
- package/engine/coverage-artifact.d.ts.map +1 -0
- package/engine/execution-options.d.ts +4 -1
- package/engine/execution-options.d.ts.map +1 -1
- package/engine/execution-options.js.map +1 -1
- package/engine/execution-supervision-state.d.ts +30 -0
- package/engine/execution-supervision-state.d.ts.map +1 -0
- package/engine/execution-supervision-state.js +25 -0
- package/engine/execution-supervision-state.js.map +1 -0
- package/engine/execution-supervision.d.ts +5 -25
- package/engine/execution-supervision.d.ts.map +1 -1
- package/engine/execution-supervision.js +9 -19
- package/engine/execution-supervision.js.map +1 -1
- package/engine/execution-test-plan-cases.js +108 -71
- package/engine/execution-test-plan-cases.js.map +1 -1
- package/engine/identity.d.ts +2 -0
- package/engine/identity.d.ts.map +1 -1
- package/engine/identity.js +2 -1
- package/engine/identity.js.map +1 -1
- package/engine/reporter-event-queue.js +1 -1
- package/engine/reporter-event-queue.js.map +1 -1
- package/engine/run-result.d.ts +17 -5
- package/engine/run-result.d.ts.map +1 -1
- package/engine/run-result.js.map +1 -1
- package/engine/run-timings.d.ts +1 -1
- package/engine/run-timings.d.ts.map +1 -1
- package/engine/run-timings.js +3 -0
- package/engine/run-timings.js.map +1 -1
- package/engine/test-plan.d.ts +1 -1
- package/engine/test-plan.d.ts.map +1 -1
- package/package.json +11 -3
- package/packages/engine/engine.entry-point.d.ts +3 -2
- package/packages/engine/engine.entry-point.d.ts.map +1 -1
- package/packages/engine/engine.entry-point.js.map +1 -1
- package/packages/run/config.entry-point.d.ts +3 -2
- package/packages/run/config.entry-point.d.ts.map +1 -1
- package/packages/run/config.entry-point.js +2 -1
- package/packages/run/config.entry-point.js.map +1 -1
- package/packages/run/filters.entry-point.d.ts +2 -2
- package/packages/run/filters.entry-point.d.ts.map +1 -1
- package/packages/run/filters.entry-point.js +1 -1
- package/packages/run/filters.entry-point.js.map +1 -1
- package/packages/run/run.entry-point.d.ts +5 -3
- package/packages/run/run.entry-point.d.ts.map +1 -1
- package/packages/run/run.entry-point.js +2 -8
- package/packages/run/run.entry-point.js.map +1 -1
- package/readme.md +28 -5
- package/reporters/human-reporter-rendering.js +16 -1
- package/reporters/human-reporter-rendering.js.map +1 -1
- package/reporters/line-reporter.js +4 -1
- package/reporters/line-reporter.js.map +1 -1
- package/reporters/run-summary-rendering.js +23 -0
- package/reporters/run-summary-rendering.js.map +1 -1
- package/resources/resources.d.ts +1 -0
- package/resources/resources.d.ts.map +1 -1
- package/resources/resources.js.map +1 -1
- package/resources/runtime-definition.d.ts +2 -0
- package/resources/runtime-definition.d.ts.map +1 -1
- package/resources/runtime-definition.js +1 -0
- package/resources/runtime-definition.js.map +1 -1
- package/run/collected-run-plan.js +13 -0
- package/run/collected-run-plan.js.map +1 -1
- package/run/command-line-command.d.ts +1 -1
- package/run/command-line-command.d.ts.map +1 -1
- package/run/command-line-command.js +1 -2
- package/run/command-line-command.js.map +1 -1
- package/run/command-line-runner.d.ts.map +1 -1
- package/run/command-line-runner.js +2 -0
- package/run/command-line-runner.js.map +1 -1
- package/run/coverage-config-schema.d.ts +50 -0
- package/run/coverage-config-schema.d.ts.map +1 -0
- package/run/coverage-config-schema.js +36 -0
- package/run/coverage-config-schema.js.map +1 -0
- package/run/coverage-paths.js +5 -0
- package/run/coverage-paths.js.map +1 -0
- package/run/coverage-reporting.js +191 -0
- package/run/coverage-reporting.js.map +1 -0
- package/run/coverage-session.js +7 -0
- package/run/coverage-session.js.map +1 -0
- package/run/current-process-run-orchestrator.d.ts +2 -1
- package/run/current-process-run-orchestrator.d.ts.map +1 -1
- package/run/current-process-run-orchestrator.js +30 -1
- package/run/current-process-run-orchestrator.js.map +1 -1
- package/run/direct-entrypoint-collection.js +27 -0
- package/run/direct-entrypoint-collection.js.map +1 -0
- package/run/duration-history-schema.d.ts +251 -0
- package/run/duration-history-schema.d.ts.map +1 -0
- package/run/duration-history-schema.js +121 -0
- package/run/duration-history-schema.js.map +1 -0
- package/run/duration-history.d.ts +2 -2
- package/run/duration-history.d.ts.map +1 -1
- package/run/duration-history.js +3 -82
- package/run/duration-history.js.map +1 -1
- package/run/path-containment.js +2 -0
- package/run/path-containment.js.map +1 -0
- package/run/profile-config-normalization.js +136 -0
- package/run/profile-config-normalization.js.map +1 -0
- package/run/profile-file-glob.js +18 -0
- package/run/profile-file-glob.js.map +1 -1
- package/run/resource-lifecycle-boundaries.js +20 -5
- package/run/resource-lifecycle-boundaries.js.map +1 -1
- package/run/resource-lifecycle-cache-identity.js +4 -0
- package/run/resource-lifecycle-cache-identity.js.map +1 -1
- package/run/resource-lifecycle-composition.d.ts +1 -1
- package/run/resource-lifecycle-composition.d.ts.map +1 -1
- package/run/resource-lifecycle-composition.js +4 -4
- package/run/resource-lifecycle-composition.js.map +1 -1
- package/run/run-collected-planning.js +1 -1
- package/run/run-collected-planning.js.map +1 -1
- package/run/run-collection-source-types.d.ts +12 -0
- package/run/run-collection-source-types.d.ts.map +1 -0
- package/run/run-collection-source.d.ts +9 -0
- package/run/run-collection-source.d.ts.map +1 -0
- package/run/run-collection-source.js +9 -0
- package/run/run-collection-source.js.map +1 -0
- package/run/run-config-defaults.js +26 -4
- package/run/run-config-defaults.js.map +1 -1
- package/run/run-config-schema.d.ts +63 -0
- package/run/run-config-schema.d.ts.map +1 -1
- package/run/run-config-schema.js +7 -0
- package/run/run-config-schema.js.map +1 -1
- package/run/run-config.d.ts +7 -5
- package/run/run-config.d.ts.map +1 -1
- package/run/run-config.js +14 -95
- package/run/run-config.js.map +1 -1
- package/run/run-coverage.js +47 -0
- package/run/run-coverage.js.map +1 -0
- package/run/run-discovery.js +1 -2
- package/run/run-discovery.js.map +1 -1
- package/run/run-empty-shard.js +3 -4
- package/run/run-empty-shard.js.map +1 -1
- package/run/run-engine-selection.d.ts +1 -1
- package/run/run-engine-selection.d.ts.map +1 -1
- package/run/run-errors.d.ts +3 -0
- package/run/run-errors.d.ts.map +1 -1
- package/run/run-errors.js +6 -0
- package/run/run-errors.js.map +1 -1
- package/run/run-execution-config.d.ts +28 -0
- package/run/run-execution-config.d.ts.map +1 -0
- package/run/run-facts.js +2 -0
- package/run/run-facts.js.map +1 -1
- package/run/run-filter-grammar.d.ts +1 -1
- package/run/run-filter-grammar.d.ts.map +1 -1
- package/run/run-if-main-options.d.ts +0 -5
- package/run/run-if-main-options.d.ts.map +1 -1
- package/run/run-if-main-options.js +0 -16
- package/run/run-if-main-options.js.map +1 -1
- package/run/run-if-main-profile.d.ts +1 -1
- package/run/run-if-main-profile.d.ts.map +1 -1
- package/run/run-if-main-profile.js +1 -11
- package/run/run-if-main-profile.js.map +1 -1
- package/run/run-if-main.d.ts +2 -10
- package/run/run-if-main.d.ts.map +1 -1
- package/run/run-if-main.js +56 -62
- package/run/run-if-main.js.map +1 -1
- package/run/run-in-process-execution.js +3 -3
- package/run/run-in-process-execution.js.map +1 -1
- package/run/run-input-resolution.js +11 -2
- package/run/run-input-resolution.js.map +1 -1
- package/run/run-isolated-command.js +46 -20
- package/run/run-isolated-command.js.map +1 -1
- package/run/run-isolated-process.js +68 -101
- package/run/run-isolated-process.js.map +1 -1
- package/run/run-local-command.js +132 -0
- package/run/run-local-command.js.map +1 -0
- package/run/run-local-execution.js +7 -10
- package/run/run-local-execution.js.map +1 -1
- package/run/run-local-resolution.js +10 -5
- package/run/run-local-resolution.js.map +1 -1
- package/run/run-local-test-plan.js +6 -1
- package/run/run-local-test-plan.js.map +1 -1
- package/run/run-orchestrator.d.ts +6 -0
- package/run/run-orchestrator.d.ts.map +1 -1
- package/run/run-orchestrator.entry-point.d.ts +1 -2
- package/run/run-orchestrator.entry-point.d.ts.map +1 -1
- package/run/run-orchestrator.entry-point.js +4 -4
- package/run/run-orchestrator.entry-point.js.map +1 -1
- package/run/run-orchestrator.js +11 -4
- package/run/run-orchestrator.js.map +1 -1
- package/run/run-ordering.js +36 -0
- package/run/run-ordering.js.map +1 -0
- package/run/run-request-types.d.ts +89 -0
- package/run/run-request-types.d.ts.map +1 -0
- package/run/run-selection-filters.d.ts +7 -2
- package/run/run-selection-filters.d.ts.map +1 -1
- package/run/run-selection-filters.js +114 -15
- package/run/run-selection-filters.js.map +1 -1
- package/run/run-selection.js +10 -50
- package/run/run-selection.js.map +1 -1
- package/run/run-supervised-process.js +109 -0
- package/run/run-supervised-process.js.map +1 -0
- package/run/run-support.js +28 -0
- package/run/run-support.js.map +1 -1
- package/run/run-test-plan.js +13 -5
- package/run/run-test-plan.js.map +1 -1
- package/run/run-types.d.ts +33 -96
- package/run/run-types.d.ts.map +1 -1
- package/run/run-types.js +0 -18
- package/run/run-types.js.map +1 -1
- package/run/run-validation.js +1 -1
- package/run/run-validation.js.map +1 -1
- package/run/run.d.ts +10 -0
- package/run/run.d.ts.map +1 -0
- package/run/run.js +27 -54
- package/run/run.js.map +1 -1
- package/run/runtime-matrix-expansion.js +7 -0
- package/run/runtime-matrix-expansion.js.map +1 -1
- package/run/supervised-child-process.d.ts +24 -2
- package/run/supervised-child-process.d.ts.map +1 -1
- package/run/supervised-child-process.js +40 -1
- package/run/supervised-child-process.js.map +1 -1
- package/run/supervised-child-test-plan.js +1 -0
- package/run/supervised-child-test-plan.js.map +1 -1
- package/run/supervised-child.js +2 -5
- package/run/supervised-child.js.map +1 -1
- package/run/supervised-protocol.js +2 -7
- package/run/supervised-protocol.js.map +1 -1
- package/run/supervised-run-collection.js +2 -0
- package/run/supervised-run-collection.js.map +1 -1
- package/run/supervised-run-runtime.js +4 -105
- package/run/supervised-run-runtime.js.map +1 -1
- package/run/supervised-run-state.d.ts +4 -0
- package/run/supervised-run-state.d.ts.map +1 -1
- package/run/supervised-run-state.js +22 -0
- package/run/supervised-run-state.js.map +1 -1
- package/run/supervised-run.js +11 -79
- package/run/supervised-run.js.map +1 -1
- package/run/work-distribution-config.js +1 -1
- package/run/work-distribution-config.js.map +1 -1
- package/run/work-unit-planning.js +1 -1
- package/run/work-unit-planning.js.map +1 -1
- package/run/worker-pool-command.js +3 -0
- package/run/worker-pool-command.js.map +1 -1
- package/run/worker-pool-hedged-arbitration.js +3 -1
- package/run/worker-pool-hedged-arbitration.js.map +1 -1
- package/run/worker-pool-protocol.js.map +1 -1
- package/run/worker-pool-task-events.js +7 -5
- package/run/worker-pool-task-events.js.map +1 -1
- package/run/worker-pool-worker-plan.js +1 -0
- package/run/worker-pool-worker-plan.js.map +1 -1
- package/run/worker-pool-worker.js +2 -5
- package/run/worker-pool-worker.js.map +1 -1
- package/sbom.cdx.json +72 -4
- package/run/default-run-engine.d.ts +0 -3
- package/run/default-run-engine.d.ts.map +0 -1
- package/run/direct-runtime-policy.js +0 -24
- package/run/direct-runtime-policy.js.map +0 -1
- package/run/resource-usage.d.ts +0 -17
- package/run/resource-usage.d.ts.map +0 -1
- package/run/run-if-main-facts.js +0 -95
- package/run/run-if-main-facts.js.map +0 -1
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { NonEmptyReadonlyArray } from '../assertion-protocol/assertion-node-shape.ts';
|
|
2
|
+
import type { RuntimeId, WorkloadId } from './identity.ts';
|
|
3
|
+
export type CoverageMetric = {
|
|
4
|
+
readonly covered: number;
|
|
5
|
+
readonly total: number;
|
|
6
|
+
};
|
|
7
|
+
export type CoverageReportFile = {
|
|
8
|
+
readonly format: 'html' | 'json' | 'lcov' | 'text' | 'v8';
|
|
9
|
+
readonly path: string;
|
|
10
|
+
};
|
|
11
|
+
export type CoverageThresholdFailure = {
|
|
12
|
+
readonly actualPercentage: number;
|
|
13
|
+
readonly metric: 'branches' | 'functions' | 'lines';
|
|
14
|
+
readonly requiredPercentage: number;
|
|
15
|
+
};
|
|
16
|
+
export type CoverageRunnerErrorCause = {
|
|
17
|
+
readonly error: unknown;
|
|
18
|
+
readonly kind: 'coverage-operation';
|
|
19
|
+
readonly phase: 'collect' | 'dispose' | 'report' | 'setup';
|
|
20
|
+
} | {
|
|
21
|
+
readonly failures: NonEmptyReadonlyArray<CoverageThresholdFailure>;
|
|
22
|
+
readonly kind: 'coverage-threshold';
|
|
23
|
+
};
|
|
24
|
+
export type CoverageArtifactPayload = {
|
|
25
|
+
readonly completeness: 'complete';
|
|
26
|
+
readonly directory: string;
|
|
27
|
+
readonly kind: 'coverage';
|
|
28
|
+
readonly rawDataDirectory: string;
|
|
29
|
+
readonly reports: readonly CoverageReportFile[];
|
|
30
|
+
readonly summary: {
|
|
31
|
+
readonly branches: CoverageMetric;
|
|
32
|
+
readonly functions: CoverageMetric;
|
|
33
|
+
readonly lines: CoverageMetric;
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
export type CoverageArtifact = {
|
|
37
|
+
readonly id: {
|
|
38
|
+
readonly runtimes: readonly RuntimeId[];
|
|
39
|
+
readonly scope: {
|
|
40
|
+
readonly kind: 'run';
|
|
41
|
+
};
|
|
42
|
+
readonly sequence: number;
|
|
43
|
+
readonly subtype: 'coverage';
|
|
44
|
+
readonly workload: WorkloadId | null;
|
|
45
|
+
};
|
|
46
|
+
readonly payload: CoverageArtifactPayload;
|
|
47
|
+
readonly source: 'v8-native';
|
|
48
|
+
};
|
|
49
|
+
//# sourceMappingURL=coverage-artifact.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coverage-artifact.d.ts","sourceRoot":"","sources":["../../../../source/engine/coverage-artifact.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AAC3F,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3D,MAAM,MAAM,cAAc,GAAG;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC1D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACnC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,WAAW,GAAG,OAAO,CAAC;IACpD,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACnC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;CAC9D,GAAG;IACA,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,CAAC,wBAAwB,CAAC,CAAC;IACnE,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IAClC,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAChD,QAAQ,CAAC,OAAO,EAAE;QACd,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;QAClC,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;QACnC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;KAClC,CAAC;CACL,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC3B,QAAQ,CAAC,EAAE,EAAE;QACT,QAAQ,CAAC,QAAQ,EAAE,SAAS,SAAS,EAAE,CAAC;QACxC,QAAQ,CAAC,KAAK,EAAE;YAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;SAAE,CAAC;QAC1C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;QAC7B,QAAQ,CAAC,QAAQ,EAAE,UAAU,GAAG,IAAI,CAAC;KACxC,CAAC;IACF,QAAQ,CAAC,OAAO,EAAE,uBAAuB,CAAC;IAC1C,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;CAChC,CAAC"}
|
|
@@ -4,7 +4,10 @@ import type { RunResourceUsageTracker, RunResult } from './run-result.ts';
|
|
|
4
4
|
import type { ExecuteTimeoutPolicy, ExecutionSupervisionDependencies } from './execution-supervision.ts';
|
|
5
5
|
import type { ExecuteResourceBudgets } from './execution-resource-budget-breach.ts';
|
|
6
6
|
export type ExecuteExecution = {
|
|
7
|
-
readonly
|
|
7
|
+
readonly maxConcurrency: number | 'unlimited';
|
|
8
|
+
readonly mode: 'concurrent-in-process';
|
|
9
|
+
} | {
|
|
10
|
+
readonly mode: 'serial-in-process';
|
|
8
11
|
};
|
|
9
12
|
export type ExecuteResultFinalizer = (result: RunResult) => Promise<RunResult>;
|
|
10
13
|
export type ExecuteOptions = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution-options.d.ts","sourceRoot":"","sources":["../../../../source/engine/execution-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7F,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,KAAK,EAAE,uBAAuB,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,KAAK,EACR,oBAAoB,EACpB,gCAAgC,EACnC,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAEpF,MAAM,MAAM,gBAAgB,GAAG;IAC3B,QAAQ,CAAC,IAAI,EAAE,uBAAuB,GAAG,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"execution-options.d.ts","sourceRoot":"","sources":["../../../../source/engine/execution-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7F,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,KAAK,EAAE,uBAAuB,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,KAAK,EACR,oBAAoB,EACpB,gCAAgC,EACnC,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAEpF,MAAM,MAAM,gBAAgB,GAAG;IAC3B,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW,CAAC;IAC9C,QAAQ,CAAC,IAAI,EAAE,uBAAuB,CAAC;CAC1C,GAAG;IACA,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,CAAC,MAAM,EAAE,SAAS,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;AAE/E,MAAM,MAAM,cAAc,GAAG;IACzB,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;IACrC,QAAQ,CAAC,cAAc,CAAC,EAAE,sBAAsB,CAAC;IACjD,QAAQ,CAAC,cAAc,CAAC,EAAE,qBAAqB,CAAC;IAChD,QAAQ,CAAC,SAAS,EAAE,SAAS,eAAe,EAAE,CAAC;IAC/C,QAAQ,CAAC,eAAe,CAAC,EAAE,sBAAsB,GAAG,IAAI,CAAC;IACzD,QAAQ,CAAC,oBAAoB,CAAC,EAAE,uBAAuB,GAAG,IAAI,CAAC;IAC/D,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IAC9C,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;CACxD,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,cAAc,GAAG;IACpD,QAAQ,CAAC,cAAc,EAAE,sBAAsB,CAAC;IAChD,QAAQ,CAAC,cAAc,EAAE,qBAAqB,CAAC;IAC/C,QAAQ,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;CAChD,CAAC;AAEF,KAAK,aAAa,GAAG,WAAW,CAAC,gCAAgC,CAAC,eAAe,CAAC,CAAC,CAAC;AAiCpF,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,cAAc,GAAG,SAAS,GAAG,wBAAwB,CAExG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution-options.js","sourceRoot":"","sources":["../../../../source/engine/execution-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAA8B,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"execution-options.js","sourceRoot":"","sources":["../../../../source/engine/execution-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAA8B,MAAM,sBAAsB,CAAC;AAuC7F,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;AAC1B,MAAM,UAAU,GAA2B,KAAK,UAAU,UAAU,CAAC,MAAM;IACvE,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC;AAEF,SAAS,qBAAqB;IAC1B,OAAO;QACH,SAAS,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE;QACxC,cAAc,EAAE,UAAU;QAC1B,cAAc,EAAE,yBAAyB,EAAE;QAC3C,SAAS,EAAE,EAAE;QACb,eAAe,EAAE,IAAI;QACrB,oBAAoB,EAAE,IAAI;QAC1B,aAAa,EAAE,IAAI;QACnB,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,KAAK,CAAC,WAAW,EAAE;QAC9B,aAAa,EAAE,IAAI;KACtB,CAAC;AACN,CAAC;AAED,SAAS,kCAAkC,CAAC,OAAuB;IAC/D,OAAO;QACH,GAAG,OAAO;QACV,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,UAAU;QACpD,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,yBAAyB,EAAE;QACrE,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,IAAI;QAChD,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,IAAI;QAC5C,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,IAAI;KAC/C,CAAC;AACN,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,OAAmC;IAC1E,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,kCAAkC,CAAC,OAAO,CAAC,CAAC;AACzG,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { Clock } from '@enormora/clock';
|
|
2
|
+
import type { PerTestResult, RunnerError } from './run-result.ts';
|
|
3
|
+
import type { TestPlanCase } from './test-plan.ts';
|
|
4
|
+
export type ExecutionConcurrentCase = {
|
|
5
|
+
readonly result: PerTestResult;
|
|
6
|
+
readonly runnerErrors: readonly RunnerError[];
|
|
7
|
+
readonly durationMicroseconds: number;
|
|
8
|
+
};
|
|
9
|
+
export type CaseCompletion = {
|
|
10
|
+
readonly complete: (executedCase: ExecutionConcurrentCase) => void;
|
|
11
|
+
readonly promise: Promise<ExecutionConcurrentCase>;
|
|
12
|
+
};
|
|
13
|
+
export type ActiveCase = {
|
|
14
|
+
readonly abort: () => void;
|
|
15
|
+
readonly completion: CaseCompletion;
|
|
16
|
+
readonly hardTimeout: ReturnType<Clock['setTimeout']> | null;
|
|
17
|
+
readonly startedAtMicroseconds: number;
|
|
18
|
+
readonly testCase: TestPlanCase;
|
|
19
|
+
};
|
|
20
|
+
export type ExecutionSupervision = {
|
|
21
|
+
readonly acceptsNewCases: () => boolean;
|
|
22
|
+
readonly activeCases: ReadonlyMap<string, ActiveCase>;
|
|
23
|
+
readonly addActiveCase: (key: string, activeCase: ActiveCase) => void;
|
|
24
|
+
readonly recordRunnerError: (error: RunnerError) => void;
|
|
25
|
+
readonly removeActiveCase: (key: string) => void;
|
|
26
|
+
readonly runnerErrors: readonly RunnerError[];
|
|
27
|
+
readonly stopAcceptingCases: () => void;
|
|
28
|
+
};
|
|
29
|
+
export declare function createExecutionSupervision(): ExecutionSupervision;
|
|
30
|
+
//# sourceMappingURL=execution-supervision-state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution-supervision-state.d.ts","sourceRoot":"","sources":["../../../../source/engine/execution-supervision-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,MAAM,MAAM,uBAAuB,GAAG;IAClC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,SAAS,WAAW,EAAE,CAAC;IAC9C,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IACzB,QAAQ,CAAC,QAAQ,EAAE,CAAC,YAAY,EAAE,uBAAuB,KAAK,IAAI,CAAC;IACnE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAC;CACtD,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;IACpC,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,GAAG,IAAI,CAAC;IAC7D,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IAC/B,QAAQ,CAAC,eAAe,EAAE,MAAM,OAAO,CAAC;IACxC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACtD,QAAQ,CAAC,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;IACtE,QAAQ,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IACzD,QAAQ,CAAC,gBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,QAAQ,CAAC,YAAY,EAAE,SAAS,WAAW,EAAE,CAAC;IAC9C,QAAQ,CAAC,kBAAkB,EAAE,MAAM,IAAI,CAAC;CAC3C,CAAC;AAEF,wBAAgB,0BAA0B,IAAI,oBAAoB,CAwBjE"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export function createExecutionSupervision() {
|
|
2
|
+
const activeCases = new Map();
|
|
3
|
+
const runnerErrors = [];
|
|
4
|
+
let acceptsNewCases = true;
|
|
5
|
+
return {
|
|
6
|
+
acceptsNewCases() {
|
|
7
|
+
return acceptsNewCases;
|
|
8
|
+
},
|
|
9
|
+
activeCases,
|
|
10
|
+
addActiveCase(key, activeCase) {
|
|
11
|
+
activeCases.set(key, activeCase);
|
|
12
|
+
},
|
|
13
|
+
recordRunnerError(error) {
|
|
14
|
+
runnerErrors.push(error);
|
|
15
|
+
},
|
|
16
|
+
removeActiveCase(key) {
|
|
17
|
+
activeCases.delete(key);
|
|
18
|
+
},
|
|
19
|
+
runnerErrors,
|
|
20
|
+
stopAcceptingCases() {
|
|
21
|
+
acceptsNewCases = false;
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=execution-supervision-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution-supervision-state.js","sourceRoot":"","sources":["../../../../source/engine/execution-supervision-state.ts"],"names":[],"mappings":"AAiCA,MAAM,UAAU,0BAA0B;IACtC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAsB,CAAC;IAClD,MAAM,YAAY,GAAmD,EAAE,CAAC;IACxE,IAAI,eAAe,GAAG,IAAI,CAAC;IAE3B,OAAO;QACH,eAAe;YACX,OAAO,eAAe,CAAC;QAC3B,CAAC;QACD,WAAW;QACX,aAAa,CAAC,GAAG,EAAE,UAAU;YACzB,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACrC,CAAC;QACD,iBAAiB,CAAC,KAAK;YACnB,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;QACD,gBAAgB,CAAC,GAAG;YAChB,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC;QACD,YAAY;QACZ,kBAAkB;YACd,eAAe,GAAG,KAAK,CAAC;QAC5B,CAAC;KACJ,CAAC;AACN,CAAC"}
|
|
@@ -1,41 +1,21 @@
|
|
|
1
1
|
import type { Clock } from '@enormora/clock';
|
|
2
2
|
import { type TestRuntimePolicy } from './case-execution.ts';
|
|
3
|
-
import { type
|
|
3
|
+
import { type ResourceUsageSnapshot } from './run-result.ts';
|
|
4
4
|
import type { TestPlanCase } from './test-plan.ts';
|
|
5
5
|
import { type ExecuteResourceBudgets } from './execution-resource-budget-breach.ts';
|
|
6
6
|
import type { ExecutionGlobalErrorObserver } from './execution-global-error-observer.ts';
|
|
7
|
+
import { type ExecutionConcurrentCase, type ExecutionSupervision as ExecutionSupervisionState } from './execution-supervision-state.ts';
|
|
7
8
|
export type ExecuteTimeoutPolicy = {
|
|
8
9
|
readonly hardTimeoutMilliseconds: number;
|
|
9
10
|
readonly timeoutMilliseconds: number;
|
|
10
11
|
};
|
|
11
|
-
export type ConcurrentCase =
|
|
12
|
-
readonly result: PerTestResult;
|
|
13
|
-
readonly runnerErrors: readonly RunnerError[];
|
|
14
|
-
readonly durationMicroseconds: number;
|
|
15
|
-
};
|
|
12
|
+
export type ConcurrentCase = ExecutionConcurrentCase;
|
|
16
13
|
export type ExecutionSupervisionDependencies = {
|
|
17
14
|
readonly globalErrorObserver: ExecutionGlobalErrorObserver;
|
|
18
15
|
readonly runtimePolicy?: TestRuntimePolicy | null;
|
|
19
16
|
readonly wallClock: Clock;
|
|
20
17
|
};
|
|
21
|
-
type
|
|
22
|
-
readonly complete: (executedCase: ConcurrentCase) => void;
|
|
23
|
-
readonly promise: Promise<ConcurrentCase>;
|
|
24
|
-
};
|
|
25
|
-
type ActiveCase = {
|
|
26
|
-
readonly abort: () => void;
|
|
27
|
-
readonly completion: CaseCompletion;
|
|
28
|
-
readonly hardTimeout: ReturnType<Clock['setTimeout']> | null;
|
|
29
|
-
readonly startedAtMicroseconds: number;
|
|
30
|
-
readonly testCase: TestPlanCase;
|
|
31
|
-
};
|
|
32
|
-
export type ExecutionSupervision = {
|
|
33
|
-
readonly activeCases: ReadonlyMap<string, ActiveCase>;
|
|
34
|
-
readonly addActiveCase: (key: string, activeCase: ActiveCase) => void;
|
|
35
|
-
readonly recordRunnerError: (error: RunnerError) => void;
|
|
36
|
-
readonly removeActiveCase: (key: string) => void;
|
|
37
|
-
readonly runnerErrors: readonly RunnerError[];
|
|
38
|
-
};
|
|
18
|
+
export type ExecutionSupervision = ExecutionSupervisionState;
|
|
39
19
|
type ResourceUsageSampleInput = {
|
|
40
20
|
readonly budgets: ExecuteResourceBudgets | null | undefined;
|
|
41
21
|
readonly dependencies: ExecutionSupervisionDependencies;
|
|
@@ -43,7 +23,7 @@ type ResourceUsageSampleInput = {
|
|
|
43
23
|
readonly sample: ResourceUsageSnapshot;
|
|
44
24
|
readonly supervision: ExecutionSupervision;
|
|
45
25
|
};
|
|
46
|
-
export declare
|
|
26
|
+
export declare const createExecutionSupervision: () => ExecutionSupervision;
|
|
47
27
|
export declare function recordResourceUsageSample(input: ResourceUsageSampleInput): boolean;
|
|
48
28
|
export declare function executeCaseBody(testCase: TestPlanCase, timeoutPolicy: ExecuteTimeoutPolicy | null | undefined, supervision: ExecutionSupervision, dependencies: ExecutionSupervisionDependencies): Promise<ConcurrentCase>;
|
|
49
29
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution-supervision.d.ts","sourceRoot":"","sources":["../../../../source/engine/execution-supervision.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAIH,KAAK,iBAAiB,EACzB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,
|
|
1
|
+
{"version":3,"file":"execution-supervision.d.ts","sourceRoot":"","sources":["../../../../source/engine/execution-supervision.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAIH,KAAK,iBAAiB,EACzB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAIH,KAAK,qBAAqB,EAG7B,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAEH,KAAK,sBAAsB,EAE9B,MAAM,uCAAuC,CAAC;AAC/C,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AACzF,OAAO,EAIH,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,IAAI,yBAAyB,EACzD,MAAM,kCAAkC,CAAC;AAI1C,MAAM,MAAM,oBAAoB,GAAG;IAC/B,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;IACzC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;CACxC,CAAC;AACF,MAAM,MAAM,cAAc,GAAG,uBAAuB,CAAC;AACrD,MAAM,MAAM,gCAAgC,GAAG;IAC3C,QAAQ,CAAC,mBAAmB,EAAE,4BAA4B,CAAC;IAC3D,QAAQ,CAAC,aAAa,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAClD,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC;CAC7B,CAAC;AAeF,MAAM,MAAM,oBAAoB,GAAG,yBAAyB,CAAC;AAwB7D,KAAK,wBAAwB,GAAG;IAC5B,QAAQ,CAAC,OAAO,EAAE,sBAAsB,GAAG,IAAI,GAAG,SAAS,CAAC;IAC5D,QAAQ,CAAC,YAAY,EAAE,gCAAgC,CAAC;IACxD,QAAQ,CAAC,cAAc,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACtD,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;IACvC,QAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAC;CAC9C,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,MAAM,oBAAsD,CAAC;AA2atG,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAUlF;AAED,wBAAsB,eAAe,CACjC,QAAQ,EAAE,YAAY,EACtB,aAAa,EAAE,oBAAoB,GAAG,IAAI,GAAG,SAAS,EACtD,WAAW,EAAE,oBAAoB,EACjC,YAAY,EAAE,gCAAgC,GAC/C,OAAO,CAAC,cAAc,CAAC,CAezB"}
|
|
@@ -2,23 +2,9 @@ import { invalidTimeoutControlFailure, runTestCase, timeoutFailure } from "./cas
|
|
|
2
2
|
import { workIdentityKey } from "./identity.js";
|
|
3
3
|
import { isPermissionDeniedRunnerError, verdictFromOutcome } from "./run-result.js";
|
|
4
4
|
import { findResourceBudgetBreach } from "./execution-resource-budget-breach.js";
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
return {
|
|
9
|
-
activeCases,
|
|
10
|
-
addActiveCase(key, activeCase) {
|
|
11
|
-
activeCases.set(key, activeCase);
|
|
12
|
-
},
|
|
13
|
-
recordRunnerError(error) {
|
|
14
|
-
runnerErrors.push(error);
|
|
15
|
-
},
|
|
16
|
-
removeActiveCase(key) {
|
|
17
|
-
activeCases.delete(key);
|
|
18
|
-
},
|
|
19
|
-
runnerErrors
|
|
20
|
-
};
|
|
21
|
-
}
|
|
5
|
+
import { createExecutionSupervision as createExecutionSupervisionState } from "./execution-supervision-state.js";
|
|
6
|
+
const microsecondsPerMillisecond = 1000;
|
|
7
|
+
export const createExecutionSupervision = createExecutionSupervisionState;
|
|
22
8
|
function createCaseCompletion() {
|
|
23
9
|
const { promise, resolve } = Promise.withResolvers();
|
|
24
10
|
return {
|
|
@@ -162,6 +148,7 @@ function crashError(cause) {
|
|
|
162
148
|
};
|
|
163
149
|
}
|
|
164
150
|
function completeActiveCasesAs(supervision, verdict, dependencies) {
|
|
151
|
+
supervision.stopAcceptingCases();
|
|
165
152
|
for (const [key, activeCase] of supervision.activeCases) {
|
|
166
153
|
supervision.removeActiveCase(key);
|
|
167
154
|
activeCase.abort();
|
|
@@ -181,11 +168,13 @@ function completeActiveCasesWithCrash(supervision, dependencies) {
|
|
|
181
168
|
}
|
|
182
169
|
}
|
|
183
170
|
function completeActiveCasesAfterGlobalError(supervision, dependencies) {
|
|
171
|
+
supervision.stopAcceptingCases();
|
|
184
172
|
if (supervision.activeCases.size > 0) {
|
|
185
173
|
completeActiveCasesAs(supervision, 'crashed', dependencies);
|
|
186
174
|
}
|
|
187
175
|
}
|
|
188
176
|
function completeActiveCasesWithResourceExhaustion(breach, supervision, dependencies) {
|
|
177
|
+
supervision.stopAcceptingCases();
|
|
189
178
|
const cause = {
|
|
190
179
|
...breach,
|
|
191
180
|
activeCases: activeCaseIds(supervision.activeCases),
|
|
@@ -213,8 +202,9 @@ async function runCaseWithSoftTimeout(input) {
|
|
|
213
202
|
}, input.timeoutMilliseconds);
|
|
214
203
|
const executedCase = await runTestCaseWithPolicy(input.testCase, input.controller, input.supervision, input.dependencies);
|
|
215
204
|
clearTimer(input.dependencies.wallClock, softTimeout);
|
|
216
|
-
|
|
217
|
-
|
|
205
|
+
const deadlineMicroseconds = input.timeoutMilliseconds * microsecondsPerMillisecond;
|
|
206
|
+
if (timing.timedOut || executedCase.durationMicroseconds >= deadlineMicroseconds) {
|
|
207
|
+
return resultWithTimeoutFailure(executedCase, input.timeoutMilliseconds, executedCase.durationMicroseconds / microsecondsPerMillisecond);
|
|
218
208
|
}
|
|
219
209
|
return executedCase;
|
|
220
210
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution-supervision.js","sourceRoot":"","sources":["../../../../source/engine/execution-supervision.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"execution-supervision.js","sourceRoot":"","sources":["../../../../source/engine/execution-supervision.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import pLimit from 'p-limit';
|
|
1
2
|
import { caseWithAsyncLeakPolicy, concurrentRunActiveResourceLeak } from "./execution-async-leak-policy.js";
|
|
2
3
|
import { executeCaseBody } from "./execution-supervision.js";
|
|
3
4
|
import { createReporterEventQueue, reportSuiteTransition } from "./reporter-event-queue.js";
|
|
4
5
|
import { reportRunnerErrorEvents, unreportedRunnerErrors } from "./runner-error-reporting.js";
|
|
5
|
-
async function reportTestStart(testCase, attempt,
|
|
6
|
-
return await
|
|
6
|
+
async function reportTestStart(testCase, attempt, reporter) {
|
|
7
|
+
return await reporter.reportEvent({
|
|
7
8
|
attempt,
|
|
8
9
|
case: testCase.id,
|
|
9
10
|
definitionLocations: testCase.definitionLocations,
|
|
@@ -48,7 +49,7 @@ async function executeTimedLeakCheckedCase(input) {
|
|
|
48
49
|
};
|
|
49
50
|
}
|
|
50
51
|
async function executeCase(input) {
|
|
51
|
-
const startErrors = await reportTestStart(input.testCase, input.attempt, input.context);
|
|
52
|
+
const startErrors = await reportTestStart(input.testCase, input.attempt, input.context.reporterDelivery);
|
|
52
53
|
const { endedAtMicroseconds, leakCheckedCase, startedAtMicroseconds } = await executeTimedLeakCheckedCase(input);
|
|
53
54
|
const caseRunnerErrors = [
|
|
54
55
|
...input.context.dependencies.globalErrorObserver.takeErrors(),
|
|
@@ -122,7 +123,8 @@ async function serialTestPlanReporterErrors(input, state) {
|
|
|
122
123
|
async function executeTestPlanCases(input) {
|
|
123
124
|
let state = initialSerialCaseExecutionState();
|
|
124
125
|
for (const testCase of input.testPlan.cases) {
|
|
125
|
-
if (input.context.dependencies.globalErrorObserver.hasFatalError()
|
|
126
|
+
if (input.context.dependencies.globalErrorObserver.hasFatalError() ||
|
|
127
|
+
!input.supervision.acceptsNewCases()) {
|
|
126
128
|
break;
|
|
127
129
|
}
|
|
128
130
|
state = await executeSerialTestPlanCase(input, state, testCase);
|
|
@@ -133,22 +135,48 @@ async function executeTestPlanCases(input) {
|
|
|
133
135
|
testExecutionWallTimeMicroseconds: testExecutionWallTimeMicroseconds(state.timingWindows)
|
|
134
136
|
};
|
|
135
137
|
}
|
|
136
|
-
|
|
137
|
-
let reporterErrors = [];
|
|
138
|
+
function createConcurrentCaseStartReporter(reportQueue) {
|
|
138
139
|
let currentSuitePath = [];
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
140
|
+
const admitStartReport = pLimit(1);
|
|
141
|
+
const reporterErrors = [];
|
|
142
|
+
return {
|
|
143
|
+
async finish() {
|
|
144
|
+
await admitStartReport(async function waitForStartReports() {
|
|
145
|
+
return undefined;
|
|
146
|
+
});
|
|
147
|
+
reporterErrors.push(...await reportSuiteTransition(reportQueue, currentSuitePath, []));
|
|
148
|
+
return reporterErrors;
|
|
149
|
+
},
|
|
150
|
+
async start(testCase, canStart) {
|
|
151
|
+
return await admitStartReport(async function reportAdmittedCaseStart() {
|
|
152
|
+
if (!canStart()) {
|
|
153
|
+
return false;
|
|
154
|
+
}
|
|
155
|
+
const previousSuitePath = currentSuitePath;
|
|
156
|
+
currentSuitePath = testCase.suitePath;
|
|
157
|
+
const errors = [
|
|
158
|
+
...await reportSuiteTransition(reportQueue, previousSuitePath, testCase.suitePath),
|
|
159
|
+
...await reportTestStart(testCase, 0, reportQueue)
|
|
160
|
+
];
|
|
161
|
+
reporterErrors.push(...errors);
|
|
162
|
+
return true;
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
function createCaseAdmission(maxConcurrency) {
|
|
168
|
+
if (maxConcurrency === 'unlimited') {
|
|
169
|
+
return async function admitEveryCase(run) {
|
|
170
|
+
return await run();
|
|
171
|
+
};
|
|
144
172
|
}
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
173
|
+
const admit = pLimit(maxConcurrency);
|
|
174
|
+
return async function admitBoundedCase(run) {
|
|
175
|
+
return await admit(run);
|
|
176
|
+
};
|
|
149
177
|
}
|
|
150
178
|
async function reportConcurrentCaseEnd(testCase, executedCase, reportQueue) {
|
|
151
|
-
return await reportQueue.
|
|
179
|
+
return await reportQueue.reportEvent({
|
|
152
180
|
attempt: 0,
|
|
153
181
|
artifacts: [],
|
|
154
182
|
case: testCase.id,
|
|
@@ -166,7 +194,7 @@ async function reportConcurrentCaseRunnerErrors(runnerErrors, reportQueue) {
|
|
|
166
194
|
for (const error of runnerErrors) {
|
|
167
195
|
reporterErrors = [
|
|
168
196
|
...reporterErrors,
|
|
169
|
-
...await reportQueue.
|
|
197
|
+
...await reportQueue.reportEvent({
|
|
170
198
|
error,
|
|
171
199
|
kind: 'runner-error'
|
|
172
200
|
})
|
|
@@ -174,74 +202,83 @@ async function reportConcurrentCaseRunnerErrors(runnerErrors, reportQueue) {
|
|
|
174
202
|
}
|
|
175
203
|
return reporterErrors;
|
|
176
204
|
}
|
|
205
|
+
function concurrentCaseRunnerErrors(input, leakCheckedCase) {
|
|
206
|
+
return [
|
|
207
|
+
...input.context.dependencies.globalErrorObserver.takeErrors(),
|
|
208
|
+
...leakCheckedCase.executedCase.runnerErrors,
|
|
209
|
+
...leakCheckedCase.runnerErrors
|
|
210
|
+
];
|
|
211
|
+
}
|
|
212
|
+
async function executeStartedConcurrentCase(input, testCase) {
|
|
213
|
+
const timedCase = await executeTimedLeakCheckedCase({
|
|
214
|
+
attempt: 0,
|
|
215
|
+
context: input.context,
|
|
216
|
+
options: input.options,
|
|
217
|
+
supervision: input.supervision,
|
|
218
|
+
testCase
|
|
219
|
+
});
|
|
220
|
+
const runnerErrors = concurrentCaseRunnerErrors(input, timedCase.leakCheckedCase);
|
|
221
|
+
for (const runnerError of runnerErrors) {
|
|
222
|
+
input.supervision.recordRunnerError(runnerError);
|
|
223
|
+
}
|
|
224
|
+
return {
|
|
225
|
+
executionWindow: {
|
|
226
|
+
endedAtMicroseconds: timedCase.endedAtMicroseconds,
|
|
227
|
+
startedAtMicroseconds: timedCase.startedAtMicroseconds
|
|
228
|
+
},
|
|
229
|
+
reporterErrors: [
|
|
230
|
+
...await reportConcurrentCaseRunnerErrors(runnerErrors, input.reportQueue),
|
|
231
|
+
...await reportConcurrentCaseEnd(testCase, timedCase.leakCheckedCase.executedCase, input.reportQueue)
|
|
232
|
+
],
|
|
233
|
+
result: timedCase.leakCheckedCase.executedCase.result,
|
|
234
|
+
runnerErrors
|
|
235
|
+
};
|
|
236
|
+
}
|
|
237
|
+
function canStartConcurrentCase(input) {
|
|
238
|
+
const blocked = [
|
|
239
|
+
input.context.dependencies.globalErrorObserver.hasFatalError(),
|
|
240
|
+
!input.supervision.acceptsNewCases()
|
|
241
|
+
];
|
|
242
|
+
return !blocked.includes(true);
|
|
243
|
+
}
|
|
177
244
|
async function executeConcurrentCases(input) {
|
|
178
|
-
const
|
|
179
|
-
const
|
|
180
|
-
const
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
return
|
|
245
|
+
const { execution } = input.options;
|
|
246
|
+
const admitCase = createCaseAdmission(execution.maxConcurrency);
|
|
247
|
+
const startReporter = createConcurrentCaseStartReporter(input.reportQueue);
|
|
248
|
+
const caseExecutions = input.testPlan.cases.map(async function scheduleConcurrentCase(testCase) {
|
|
249
|
+
return admitCase(async function executeAdmittedCase() {
|
|
250
|
+
const started = await startReporter.start(testCase, function checkCaseAdmission() {
|
|
251
|
+
return canStartConcurrentCase(input);
|
|
185
252
|
});
|
|
253
|
+
return started ? await executeStartedConcurrentCase(input, testCase) : null;
|
|
186
254
|
});
|
|
187
|
-
const leakCheckedCase = await caseWithAsyncLeakPolicy({
|
|
188
|
-
activeResourceTypesBefore: [],
|
|
189
|
-
dependencies: input.context.dependencies,
|
|
190
|
-
executedCase,
|
|
191
|
-
includeActiveResourceLeaks: false,
|
|
192
|
-
testCase
|
|
193
|
-
});
|
|
194
|
-
const endedAtMicroseconds = Number(input.context.dependencies.wallClock.currentMonotonicMicroseconds);
|
|
195
|
-
const caseRunnerErrors = [
|
|
196
|
-
...input.context.dependencies.globalErrorObserver.takeErrors(),
|
|
197
|
-
...leakCheckedCase.executedCase.runnerErrors,
|
|
198
|
-
...leakCheckedCase.runnerErrors
|
|
199
|
-
];
|
|
200
|
-
for (const runnerError of caseRunnerErrors) {
|
|
201
|
-
input.supervision.recordRunnerError(runnerError);
|
|
202
|
-
}
|
|
203
|
-
endReporterErrors.push(...await reportConcurrentCaseRunnerErrors(caseRunnerErrors, input.reportQueue), ...await reportConcurrentCaseEnd(testCase, leakCheckedCase.executedCase, input.reportQueue));
|
|
204
|
-
reportedRunnerErrors.push(...caseRunnerErrors);
|
|
205
|
-
return {
|
|
206
|
-
executedCase: leakCheckedCase.executedCase,
|
|
207
|
-
executionWindow: { endedAtMicroseconds, startedAtMicroseconds }
|
|
208
|
-
};
|
|
209
255
|
});
|
|
210
|
-
const
|
|
256
|
+
const scheduledCases = await Promise.all(caseExecutions);
|
|
257
|
+
const executedCases = scheduledCases.filter(function isExecutedCase(executedCase) {
|
|
258
|
+
return executedCase !== null;
|
|
259
|
+
});
|
|
211
260
|
return {
|
|
212
|
-
endReporterErrors
|
|
261
|
+
endReporterErrors: executedCases.flatMap(function toReporterErrors(executedCase) {
|
|
262
|
+
return executedCase.reporterErrors;
|
|
263
|
+
}),
|
|
213
264
|
perTest: executedCases.map(function toPerTest(executedCase) {
|
|
214
|
-
return executedCase.
|
|
265
|
+
return executedCase.result;
|
|
266
|
+
}),
|
|
267
|
+
reportedRunnerErrors: executedCases.flatMap(function toRunnerErrors(executedCase) {
|
|
268
|
+
return executedCase.runnerErrors;
|
|
215
269
|
}),
|
|
216
|
-
reportedRunnerErrors,
|
|
217
270
|
runnerErrors: input.supervision.runnerErrors,
|
|
271
|
+
startReporterErrors: await startReporter.finish(),
|
|
218
272
|
testExecutionWallTimeMicroseconds: testExecutionWallTimeMicroseconds(executedCases.map(function toWindow(executedCase) {
|
|
219
273
|
return executedCase.executionWindow;
|
|
220
274
|
}))
|
|
221
275
|
};
|
|
222
276
|
}
|
|
223
|
-
async function
|
|
224
|
-
const pendingRunnerErrors = input.context.dependencies.globalErrorObserver.takeErrors();
|
|
225
|
-
const pendingRunnerErrorNotifications = await reportRunnerErrorEvents(input.context.reporterDelivery, pendingRunnerErrors);
|
|
226
|
-
return {
|
|
227
|
-
perTest: [],
|
|
228
|
-
reporterErrors: [
|
|
229
|
-
...reporterErrors,
|
|
230
|
-
...pendingRunnerErrors,
|
|
231
|
-
...pendingRunnerErrorNotifications
|
|
232
|
-
],
|
|
233
|
-
testExecutionWallTimeMicroseconds: 0
|
|
234
|
-
};
|
|
235
|
-
}
|
|
236
|
-
async function executeConcurrentTestPlanCases(input) {
|
|
237
|
-
const reporterErrors = await reportConcurrentCaseStarts(input);
|
|
238
|
-
if (input.context.dependencies.globalErrorObserver.hasFatalError()) {
|
|
239
|
-
return await fatalConcurrentStartResult(input, reporterErrors);
|
|
240
|
-
}
|
|
277
|
+
async function executeConcurrentTestPlanCases(input, execution) {
|
|
241
278
|
const activeResourceTypesBefore = input.context.dependencies.readActiveResourceTypes();
|
|
242
279
|
const concurrentCaseExecution = await executeConcurrentCases({
|
|
243
280
|
context: input.context,
|
|
244
|
-
options: input.options,
|
|
281
|
+
options: { ...input.options, execution },
|
|
245
282
|
reportQueue: createReporterEventQueue(input.context.reporterDelivery),
|
|
246
283
|
supervision: input.supervision,
|
|
247
284
|
testPlan: input.testPlan
|
|
@@ -255,7 +292,7 @@ async function executeConcurrentTestPlanCases(input) {
|
|
|
255
292
|
return {
|
|
256
293
|
perTest: concurrentCaseExecution.perTest,
|
|
257
294
|
reporterErrors: [
|
|
258
|
-
...
|
|
295
|
+
...concurrentCaseExecution.startReporterErrors,
|
|
259
296
|
...runnerErrors,
|
|
260
297
|
...pendingRunnerErrorNotifications,
|
|
261
298
|
...concurrentCaseExecution.endReporterErrors
|
|
@@ -265,7 +302,7 @@ async function executeConcurrentTestPlanCases(input) {
|
|
|
265
302
|
}
|
|
266
303
|
export async function executeTestPlanCasesWithMode(input) {
|
|
267
304
|
if (input.options.execution.mode === 'concurrent-in-process') {
|
|
268
|
-
return await executeConcurrentTestPlanCases(input);
|
|
305
|
+
return await executeConcurrentTestPlanCases(input, input.options.execution);
|
|
269
306
|
}
|
|
270
307
|
return await executeTestPlanCases(input);
|
|
271
308
|
}
|