@overkill-dev/run 0.0.59 → 0.0.61
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 +36 -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 +12 -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-body-resource-attachment.d.ts +1 -0
- package/engine/test-body-resource-attachment.d.ts.map +1 -1
- package/engine/test-body-resource-attachment.js +1 -0
- package/engine/test-body-resource-attachment.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 +2 -1
- package/packages/engine/engine.entry-point.d.ts.map +1 -1
- package/packages/engine/engine.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 +7 -4
- package/packages/run/run.entry-point.d.ts.map +1 -1
- package/packages/run/run.entry-point.js +3 -9
- package/packages/run/run.entry-point.js.map +1 -1
- package/readme.md +35 -6
- package/reporters/human-reporter-rendering.js +16 -1
- package/reporters/human-reporter-rendering.js.map +1 -1
- package/reporters/line-reporter.js +9 -0
- package/reporters/line-reporter.js.map +1 -1
- package/resources/resource-graph.d.ts +1 -0
- package/resources/resource-graph.d.ts.map +1 -1
- package/resources/resource-graph.js +2 -2
- package/resources/resource-graph.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-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-reporting.js +142 -0
- package/run/coverage-reporting.js.map +1 -0
- package/run/coverage-session.js +8 -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/execution-plan-resolution.js +356 -0
- package/run/execution-plan-resolution.js.map +1 -0
- package/run/path-containment.js +2 -0
- package/run/path-containment.js.map +1 -0
- package/run/permission-denial-runtime-policy.js +12 -2
- package/run/permission-denial-runtime-policy.js.map +1 -1
- package/run/profile-file-glob.js +18 -0
- package/run/profile-file-glob.js.map +1 -1
- package/run/resource-lifecycle-boundaries.js +28 -9
- 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/resource-lifecycle-state.d.ts +9 -1
- package/run/resource-lifecycle-state.d.ts.map +1 -1
- package/run/resource-lifecycle-state.js.map +1 -1
- package/run/resource-lifecycle.js +37 -5
- package/run/resource-lifecycle.js.map +1 -1
- package/run/resource-ownership-plan.d.ts +30 -0
- package/run/resource-ownership-plan.d.ts.map +1 -0
- package/run/run-collected-planning.js +9 -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 +13 -4
- package/run/run-config-defaults.js.map +1 -1
- package/run/run-config-schema.d.ts +12 -0
- package/run/run-config-schema.d.ts.map +1 -1
- package/run/run-config-schema.js +5 -0
- package/run/run-config-schema.js.map +1 -1
- package/run/run-config.d.ts +1 -1
- package/run/run-config.d.ts.map +1 -1
- package/run/run-config.js +4 -9
- package/run/run-config.js.map +1 -1
- package/run/run-coverage.js +36 -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 +54 -0
- package/run/run-errors.d.ts.map +1 -1
- package/run/run-errors.js +61 -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.map +1 -1
- package/run/run-if-main-profile.js +0 -10
- 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 +131 -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 +108 -0
- package/run/run-supervised-process.js.map +1 -0
- package/run/run-support.js +9 -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 +12 -95
- package/run/run-types.d.ts.map +1 -1
- package/run/run-types.js +0 -19
- 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 +17 -4
- 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-execution.js +15 -19
- package/run/worker-pool-execution.js.map +1 -1
- package/run/worker-pool-hedged-arbitration.js +25 -7
- package/run/worker-pool-hedged-arbitration.js.map +1 -1
- package/run/worker-pool-host-protocol.js.map +1 -1
- package/run/worker-pool-host-task.js +9 -0
- package/run/worker-pool-host-task.js.map +1 -1
- package/run/worker-pool-host.entry-point.js +13 -13
- package/run/worker-pool-host.entry-point.js.map +1 -1
- package/run/worker-pool-lanes.js +16 -9
- package/run/worker-pool-lanes.js.map +1 -1
- package/run/worker-pool-placement-planning.js +24 -3
- package/run/worker-pool-placement-planning.js.map +1 -1
- package/run/worker-pool-protocol.js +19 -0
- package/run/worker-pool-protocol.js.map +1 -1
- package/run/worker-pool-resource-lifecycle-execution.js +143 -12
- package/run/worker-pool-resource-lifecycle-execution.js.map +1 -1
- package/run/worker-pool-routing.js +13 -1
- package/run/worker-pool-routing.js.map +1 -1
- package/run/worker-pool-runtime.js +12 -16
- package/run/worker-pool-runtime.js.map +1 -1
- package/run/worker-pool-task-events.js +13 -6
- package/run/worker-pool-task-events.js.map +1 -1
- package/run/worker-pool-task-validation.js +1 -0
- package/run/worker-pool-task-validation.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-resources.js +9 -2
- package/run/worker-pool-worker-resources.js.map +1 -1
- package/run/worker-pool-worker.js +11 -6
- 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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-local-execution.js","sourceRoot":"","sources":["../../../../source/run/run-local-execution.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,
|
|
1
|
+
{"version":3,"file":"run-local-execution.js","sourceRoot":"","sources":["../../../../source/run/run-local-execution.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,8BAA8B,EAC9B,eAAe,EAGlB,MAAM,kBAAkB,CAAC;AAO1B,OAAO,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AAiB/E,SAAS,mBAAmB,CAAC,YAAyC;IAClE,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAC;IAEhF,OAAO,SAAS,CAAC,WAAW,EAAE,CAAC;AACnC,CAAC;AAED,SAAS,mCAAmC,CACxC,MAA8B,EAC9B,YAAyC;IAEzC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,YAAY,CAAC,0BAA0B,CAAC;QAC3C,4BAA4B,EAAE,MAAM,CAAC,4BAA4B;KACpE,CAAC,CAAC;AACP,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CACzC,WAA6B,EAC7B,YAAyC,EACzC,OAA8B;IAE9B,MAAM,EAAE,mBAAmB,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC;IAC5D,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,KAAK,IAAI;QAC1C,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,6BAA6B,CAAC;YAC5B,KAAK,EAAE,YAAY,CAAC,SAAS;YAC7B,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;YAC9B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;YACzD,QAAQ,EAAE,IAAI;SACjB,CAAC,CAAC;IAEP,OAAO,MAAM,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE;QACzD,SAAS,EAAE,eAAe,CACtB,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,EACtC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,CAC7C;QACD,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,cAAc;QACjD,KAAK,CAAC,cAAc,CAAC,MAAM;YACvB,OAAO,MAAM,OAAO,CAAC,cAAc,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC7D,CAAC;QACD,SAAS,EAAE,WAAW,CAAC,SAAS;QAChC,eAAe,EAAE,mBAAmB,CAAC,OAAO;QAC5C,oBAAoB,EAAE,mCAAmC,CAAC,mBAAmB,EAAE,YAAY,CAAC;QAC5F,aAAa,EAAE,8BAA8B,CACzC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAC/B,OAAO,CAAC,aAAa,EACrB,cAAc,CACjB;QACD,QAAQ,EAAE,WAAW,CAAC,KAAK;QAC3B,SAAS,EAAE,mBAAmB,CAAC,YAAY,CAAC;QAC5C,aAAa,EAAE;YACX,uBAAuB,EAAE,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,gBAAgB;YACnF,mBAAmB,EAAE,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,gBAAgB;SAClF;KACJ,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -89,19 +89,19 @@ async function createShardedLocalResolvedRunFromTestPlan(command, dependencies,
|
|
|
89
89
|
const orderedPlan = orderedTestPlan({ ...selectedPlan, cases: [firstCase, ...plannedCases.slice(1)] }, input.request.order, input.request.seed);
|
|
90
90
|
return createLocalResolvedRunFromTestPlan(command, dependencies, input, orderedPlan);
|
|
91
91
|
}
|
|
92
|
-
export async function createLocalResolvedRun(command, dependencies, input) {
|
|
92
|
+
export async function createLocalResolvedRun(command, dependencies, input, source) {
|
|
93
93
|
const testPlan = await createLocalTestPlan({
|
|
94
94
|
command,
|
|
95
95
|
definitionLocationCapture: 'enabled',
|
|
96
96
|
dependencies,
|
|
97
97
|
files: input.files,
|
|
98
|
-
profile: input.profile
|
|
98
|
+
profile: input.profile,
|
|
99
|
+
source
|
|
99
100
|
});
|
|
100
101
|
const selectedPlan = selectedTestPlan(testPlan, input.request.selection);
|
|
101
102
|
return await createShardedLocalResolvedRunFromTestPlan(command, dependencies, input, selectedPlan);
|
|
102
103
|
}
|
|
103
|
-
export async function
|
|
104
|
-
const input = await readResolvedRunInput(command, dependencies);
|
|
104
|
+
export async function createLocalRunOrEmptySelectionResultFromInput(command, dependencies, input, source) {
|
|
105
105
|
if (input.profile.execution.processModel !== 'in-process') {
|
|
106
106
|
throw new Error('Expected in-process profile.');
|
|
107
107
|
}
|
|
@@ -110,7 +110,8 @@ export async function createLocalRunOrEmptySelectionResult(command, dependencies
|
|
|
110
110
|
definitionLocationCapture: 'disabled',
|
|
111
111
|
dependencies,
|
|
112
112
|
files: input.files,
|
|
113
|
-
profile: input.profile
|
|
113
|
+
profile: input.profile,
|
|
114
|
+
source
|
|
114
115
|
});
|
|
115
116
|
const plannedCases = selectedNonEmptyTestPlanCases(testPlan, input.request.selection);
|
|
116
117
|
if (plannedCases === null) {
|
|
@@ -121,4 +122,8 @@ export async function createLocalRunOrEmptySelectionResult(command, dependencies
|
|
|
121
122
|
cases: plannedCases
|
|
122
123
|
});
|
|
123
124
|
}
|
|
125
|
+
export async function createLocalRunOrEmptySelectionResult(command, dependencies, source) {
|
|
126
|
+
const input = await readResolvedRunInput(command, dependencies);
|
|
127
|
+
return await createLocalRunOrEmptySelectionResultFromInput(command, dependencies, input, source);
|
|
128
|
+
}
|
|
124
129
|
//# sourceMappingURL=run-local-resolution.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-local-resolution.js","sourceRoot":"","sources":["../../../../source/run/run-local-resolution.ts"],"names":[],"mappings":"AACA,OAAO,EACH,cAAc,EACd,wBAAwB,EAC3B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACH,gCAAgC,EAChC,iCAAiC,EACpC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACH,oBAAoB,EAEvB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,mBAAmB,
|
|
1
|
+
{"version":3,"file":"run-local-resolution.js","sourceRoot":"","sources":["../../../../source/run/run-local-resolution.ts"],"names":[],"mappings":"AACA,OAAO,EACH,cAAc,EACd,wBAAwB,EAC3B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACH,gCAAgC,EAChC,iCAAiC,EACpC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACH,oBAAoB,EAEvB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,mBAAmB,EAA2B,MAAM,0BAA0B,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EACH,eAAe,EACf,+BAA+B,EAC/B,qCAAqC,EACrC,6BAA6B,EAC7B,gBAAgB,EACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACH,WAAW,EACX,mBAAmB,EACtB,MAAM,kBAAkB,CAAC;AAU1B,SAAS,yBAAyB,CAAC,KAAgC;IAC/D,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,cAAc,CAAC,IAAI;QAC3D,OAAO,CAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAE,CAAC;IACvC,CAAC,CAAC,CAAC,CAAC;IAEJ,OAAO,SAAS,cAAc,CAAC,IAAI;QAC/B,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;IAC7D,CAAC,CAAC;AACN,CAAC;AAED,SAAS,kCAAkC,CACvC,OAAmB,EACnB,YAAyC,EACzC,KAAuB,EACvB,eAAgE;IAEhE,+BAA+B,CAAC,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3E,qCAAqC,CAAC,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAEtE,MAAM,KAAK,GAAG,WAAW,CAAC,cAAc,CAAC;QACrC,KAAK,EAAE,wBAAwB,CAAC,eAAe,EAAE,yBAAyB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACxF,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,YAAY;QACZ,eAAe,EAAE,IAAI;QACrB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU;QAC9C,WAAW,EAAE,IAAI;KACpB,CAAC,CAAC,CAAC;IAEJ,OAAO,WAAW,CAAC;QACf,sBAAsB,EAAE,EAAE;QAC1B,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,KAAK;QACL,IAAI,EAAE;YACF,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,eAAe;SAC5B;QACD,SAAS,EAAE,mBAAmB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC;QACrE,OAAO,EAAE,KAAK,CAAC,OAAO;KACzB,CAAC,CAAC;AACP,CAAC;AAED,SAAS,0BAA0B,CAC/B,QAAkB,EAClB,YAAyC;IAEzC,MAAM,qBAAqB,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAC;IAE1F,OAAO,WAAW,CAAC,gCAAgC,CAC/C,iCAAiC,CAAC,QAAQ,EAAE,EAAE,CAAC,EAC/C,EAAE,EACF,EAAE,EACF;QACI,uBAAuB,EAAE,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,4BAA4B,CAAC;QACpF,UAAU,EAAE,iBAAiB;QAC7B,aAAa,EAAE,IAAI;QACnB,qBAAqB;QACrB,iCAAiC,EAAE,CAAC;KACvC,CACJ,CAAC,CAAC;AACP,CAAC;AAED,SAAS,uCAAuC,CAC5C,OAAmB,EACnB,YAAyC,EACzC,KAAuB,EACvB,YAAsB;IAEtB,MAAM,aAAa,GAAG,iCAAiC,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IAC1E,MAAM,KAAK,GAAG,WAAW,CAAC,cAAc,CAAC;QACrC,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,YAAY;QACZ,eAAe,EAAE,IAAI;QACrB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU;QAC9C,WAAW,EAAE,IAAI;KACpB,CAAC,CAAC,CAAC;IAEJ,OAAO,WAAW,CAAC;QACf,sBAAsB,EAAE,EAAE;QAC1B,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,KAAK;QACL,IAAI,EAAE;YACF,aAAa;YACb,IAAI,EAAE,aAAa;SACtB;QACD,SAAS,EAAE,mBAAmB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC;QACrE,OAAO,EAAE,KAAK,CAAC,OAAO;KACzB,CAAC,CAAC;AACP,CAAC;AAED,KAAK,UAAU,yCAAyC,CACpD,OAAmB,EACnB,YAAyC,EACzC,KAAuB,EACvB,YAAsB;IAEtB,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAClE,MAAM,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IAElC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,uCAAuC,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IAC/F,CAAC;IAED,MAAM,WAAW,GAAG,eAAe,CAC/B,EAAE,GAAG,YAAY,EAAE,KAAK,EAAE,CAAE,SAAS,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAE,EAAE,EACnE,KAAK,CAAC,OAAO,CAAC,KAAK,EACnB,KAAK,CAAC,OAAO,CAAC,IAAI,CACrB,CAAC;IAEF,OAAO,kCAAkC,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;AACzF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CACxC,OAAmB,EACnB,YAAyC,EACzC,KAAuB,EACvB,MAAoC;IAEpC,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC;QACvC,OAAO;QACP,yBAAyB,EAAE,SAAS;QACpC,YAAY;QACZ,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,MAAM;KACT,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,gBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEzE,OAAO,MAAM,yCAAyC,CAClD,OAAO,EACP,YAAY,EACZ,KAAK,EACL,YAAY,CACf,CAAC;AACN,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,6CAA6C,CAC/D,OAAmB,EACnB,YAAyC,EACzC,KAAuB,EACvB,MAAoC;IAEpC,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,KAAK,YAAY,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC;QACvC,OAAO;QACP,yBAAyB,EAAE,UAAU;QACrC,YAAY;QACZ,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,MAAM;KACT,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,6BAA6B,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEtF,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QACxB,OAAO,0BAA0B,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO,MAAM,yCAAyC,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE;QACjF,GAAG,QAAQ;QACX,KAAK,EAAE,YAAY;KACtB,CAAC,CAAC;AACP,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oCAAoC,CACtD,OAAmB,EACnB,YAAyC,EACzC,MAAoC;IAEpC,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAEhE,OAAO,MAAM,6CAA6C,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AACrG,CAAC"}
|
|
@@ -1,15 +1,20 @@
|
|
|
1
1
|
import { createExecutionGlobalErrorObserver } from "../engine/execution-global-error-observer.js";
|
|
2
2
|
import { RunCollectionError } from "./run-errors.js";
|
|
3
3
|
import { resolveRunEngine } from "./run-engine-selection.js";
|
|
4
|
-
import { createRunTestPlanFromFiles } from "./run-test-plan.js";
|
|
4
|
+
import { createRunTestPlanFromDirectEntrypoint, createRunTestPlanFromFiles } from "./run-test-plan.js";
|
|
5
5
|
async function createTestPlan(input) {
|
|
6
6
|
const engine = await resolveRunEngine(input.command.engine, input.dependencies);
|
|
7
|
+
if (input.source.kind === 'direct-entrypoint') {
|
|
8
|
+
const [file] = input.files;
|
|
9
|
+
return createRunTestPlanFromDirectEntrypoint(engine, file, input.source);
|
|
10
|
+
}
|
|
7
11
|
return await createRunTestPlanFromFiles({
|
|
8
12
|
cwd: input.command.cwd,
|
|
9
13
|
definitionLocationCapture: input.definitionLocationCapture,
|
|
10
14
|
engine,
|
|
11
15
|
files: input.files,
|
|
12
16
|
loadRunTestModules: input.dependencies.loadRunTestModules,
|
|
17
|
+
root: { annotations: {}, controls: {}, title: input.command.cwd },
|
|
13
18
|
testFamily: input.profile.testFamily
|
|
14
19
|
});
|
|
15
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-local-test-plan.js","sourceRoot":"","sources":["../../../../source/run/run-local-test-plan.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,kCAAkC,EAErC,MAAM,8CAA8C,CAAC;AAEtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,
|
|
1
|
+
{"version":3,"file":"run-local-test-plan.js","sourceRoot":"","sources":["../../../../source/run/run-local-test-plan.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,kCAAkC,EAErC,MAAM,8CAA8C,CAAC;AAEtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EACH,qCAAqC,EACrC,0BAA0B,EAE7B,MAAM,oBAAoB,CAAC;AAe5B,KAAK,UAAU,cAAc,CAAC,KAAyB;IACnD,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IAEhF,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;QAC5C,MAAM,CAAE,IAAI,CAAE,GAAG,KAAK,CAAC,KAAK,CAAC;QAE7B,OAAO,qCAAqC,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7E,CAAC;IAED,OAAO,MAAM,0BAA0B,CAAC;QACpC,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG;QACtB,yBAAyB,EAAE,KAAK,CAAC,yBAAyB;QAC1D,MAAM;QACN,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,kBAAkB,EAAE,KAAK,CAAC,YAAY,CAAC,kBAAkB;QACzD,IAAI,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACjE,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU;KACvC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,4BAA4B,CAAC,QAAsC;IACxE,MAAM,CAAE,KAAK,CAAE,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAC;IAExC,OAAO,IAAI,kBAAkB,CACzB,KAAK,EAAE,OAAO,IAAI,wDAAwD,EAC1E,EAAE,KAAK,EAAE,KAAK,IAAI,IAAI,EAAE,EACxB,KAAK,EAAE,OAAO,IAAI,OAAO,CAC5B,CAAC;AACN,CAAC;AAED,KAAK,UAAU,8BAA8B,CAAC,QAAsC;IAChF,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;IAC7B,MAAM,4BAA4B,CAAC,QAAQ,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,KAAyB;IAC/D,IAAI,gBAAgB,GAAwC,SAAS,YAAY;QAC7E,OAAO,SAAS,CAAC;IACrB,CAAC,CAAC;IACF,MAAM,mBAAmB,GAAG,kCAAkC,CAAC,YAAY,CAAC,CAAC;IAC7E,MAAM,iBAAiB,GAAG,IAAI,OAAO,CAAQ,SAAS,yBAAyB,CAAC,QAAQ,EAAE,MAAM;QAC5F,gBAAgB,GAAG,MAAM,CAAC;IAC9B,CAAC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,sBAAsB;QACnF,gBAAgB,CACZ,IAAI,kBAAkB,CAClB,yCAAyC,EACzC,EAAE,KAAK,EAAE,IAAI,EAAE,EACf,QAAQ,CACX,CACJ,CAAC;IACN,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;IAElD,IAAI,CAAC;QACD,OAAO,MAAM,mBAAmB,CAAC,WAAW,CAAC,KAAK,UAAU,qBAAqB;YAC7E,OAAO,MAAM,mBAAmB,CAAC,QAAQ,CAAC,YAAY,EAAE,KAAK,UAAU,uBAAuB;gBAC1F,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC;oBACtB,cAAc,CAAC,KAAK,CAAC;oBACrB,iBAAiB;oBACjB,8BAA8B,CAAC,mBAAmB,CAAC;iBACtD,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;YAAS,CAAC;QACP,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACnD,mBAAmB,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;AACL,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type DirectEntrypointRunner } from './run.ts';
|
|
1
2
|
import type { RunOrchestratorDependencies, WorkerPoolHostProcessStarter } from './run-orchestrator-dependencies.ts';
|
|
2
3
|
import type { RunOrchestrator } from './run-types.ts';
|
|
3
4
|
type RuntimeCapabilityPolicyInput = RunOrchestratorDependencies['runtimeCapabilityPolicy'];
|
|
@@ -22,6 +23,11 @@ export type NodeRunOrchestratorInput = {
|
|
|
22
23
|
readonly writeLine: (line: string) => void;
|
|
23
24
|
};
|
|
24
25
|
};
|
|
26
|
+
export type NodeRunCoordinator = {
|
|
27
|
+
readonly orchestrator: RunOrchestrator;
|
|
28
|
+
readonly runDirectEntrypoint: DirectEntrypointRunner;
|
|
29
|
+
};
|
|
30
|
+
export declare function createNodeRunCoordinator(input: NodeRunOrchestratorInput): NodeRunCoordinator;
|
|
25
31
|
export declare function createNodeRunOrchestrator(input: NodeRunOrchestratorInput): RunOrchestrator;
|
|
26
32
|
export {};
|
|
27
33
|
//# sourceMappingURL=run-orchestrator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-orchestrator.d.ts","sourceRoot":"","sources":["../../../../source/run/run-orchestrator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"run-orchestrator.d.ts","sourceRoot":"","sources":["../../../../source/run/run-orchestrator.ts"],"names":[],"mappings":"AASA,OAAO,EAGH,KAAK,sBAAsB,EAC9B,MAAM,UAAU,CAAC;AAElB,OAAO,KAAK,EACR,2BAA2B,EAC3B,4BAA4B,EAC/B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAMtD,KAAK,4BAA4B,GAAG,2BAA2B,CAAC,yBAAyB,CAAC,CAAC;AAE3F,MAAM,MAAM,wBAAwB,GAAG;IACnC,QAAQ,CAAC,aAAa,EAAE,2BAA2B,CAAC,eAAe,CAAC,CAAC;IACrE,QAAQ,CAAC,+BAA+B,EAAE,2BAA2B,CAAC,iCAAiC,CAAC,CAAC;IACzG,QAAQ,CAAC,qBAAqB,EAAE,4BAA4B,CAAC,uBAAuB,CAAC,CAAC;IACtF,QAAQ,CAAC,kCAAkC,EAAE,4BAA4B,CAAC,oCAAoC,CAAC,CAAC;IAChH,QAAQ,CAAC,IAAI,EAAE,2BAA2B,CAAC,MAAM,CAAC,CAAC;IACnD,QAAQ,CAAC,eAAe,EAAE,4BAA4B,CAAC,iBAAiB,CAAC,CAAC;IAC1E,QAAQ,CAAC,WAAW,EAAE,4BAA4B,CAAC,aAAa,CAAC,CAAC;IAClE,QAAQ,CAAC,mBAAmB,EAAE,2BAA2B,CAAC,qBAAqB,CAAC,CAAC;IACjF,QAAQ,CAAC,kBAAkB,EAAE,2BAA2B,CAAC,oBAAoB,CAAC,CAAC;IAC/E,QAAQ,CAAC,oBAAoB,EAAE,2BAA2B,CAAC,sBAAsB,CAAC,CAAC;IACnF,QAAQ,CAAC,mBAAmB,EAAE,4BAA4B,CAAC;IAC3D,QAAQ,CAAC,MAAM,EAAE;QACb,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;QAC5C,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;KAC9C,CAAC;IACF,QAAQ,CAAC,MAAM,EAAE;QACb,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;QAC5C,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;KAC9C,CAAC;CACL,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC7B,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;IACvC,QAAQ,CAAC,mBAAmB,EAAE,sBAAsB,CAAC;CACxD,CAAC;AAEF,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,wBAAwB,GAAG,kBAAkB,CAiD5F;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,wBAAwB,GAAG,eAAe,CAE1F"}
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const orchestrator: RunOrchestrator;
|
|
1
|
+
export declare const orchestrator: import("./run-types.ts").RunOrchestrator, runDirectEntrypoint: import("./run.ts").DirectEntrypointRunner;
|
|
3
2
|
//# sourceMappingURL=run-orchestrator.entry-point.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-orchestrator.entry-point.d.ts","sourceRoot":"","sources":["../../../../source/run/run-orchestrator.entry-point.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"run-orchestrator.entry-point.d.ts","sourceRoot":"","sources":["../../../../source/run/run-orchestrator.entry-point.ts"],"names":[],"mappings":"AA+BA,eAAO,MACH,YAAY,4CACZ,mBAAmB,2CAKrB,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { createCurrentProcessRunCoordinator } from "./current-process-run-orchestrator.js";
|
|
2
2
|
import { defaultRunEngine } from "./default-run-engine.js";
|
|
3
3
|
import { loadRunEngineModule, loadRunTestModules, runDiscovery } from "./node-run-dependencies.entry-point.js";
|
|
4
4
|
import { startSupervisedChild, startWorkerPoolHost } from "./node-child-process-starters.js";
|
|
5
|
-
function
|
|
6
|
-
return
|
|
5
|
+
function createCommandLineCoordinator(dependencies) {
|
|
6
|
+
return createCurrentProcessRunCoordinator(defaultRunEngine, {
|
|
7
7
|
discoverRunFilesWithProjectRoot: dependencies.discoverRunFilesWithProjectRoot,
|
|
8
8
|
loadRunEngineModule: dependencies.loadRunEngineModule,
|
|
9
9
|
loadRunTestModules: dependencies.loadRunTestModules,
|
|
@@ -11,7 +11,7 @@ function createCommandLineOrchestrator(dependencies) {
|
|
|
11
11
|
startWorkerPoolHost
|
|
12
12
|
});
|
|
13
13
|
}
|
|
14
|
-
export const orchestrator =
|
|
14
|
+
export const { orchestrator, runDirectEntrypoint } = createCommandLineCoordinator({
|
|
15
15
|
discoverRunFilesWithProjectRoot: runDiscovery.discoverRunFilesWithProjectRoot,
|
|
16
16
|
loadRunEngineModule,
|
|
17
17
|
loadRunTestModules
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-orchestrator.entry-point.js","sourceRoot":"","sources":["../../../../source/run/run-orchestrator.entry-point.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"run-orchestrator.entry-point.js","sourceRoot":"","sources":["../../../../source/run/run-orchestrator.entry-point.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kCAAkC,EAAE,MAAM,uCAAuC,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EACH,mBAAmB,EACnB,kBAAkB,EAClB,YAAY,EACf,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACH,oBAAoB,EACpB,mBAAmB,EACtB,MAAM,kCAAkC,CAAC;AAS1C,SAAS,4BAA4B,CACjC,YAAiD;IAEjD,OAAO,kCAAkC,CAAC,gBAAgB,EAAE;QACxD,+BAA+B,EAAE,YAAY,CAAC,+BAA+B;QAC7E,mBAAmB,EAAE,YAAY,CAAC,mBAAmB;QACrD,kBAAkB,EAAE,YAAY,CAAC,kBAAkB;QACnD,oBAAoB;QACpB,mBAAmB;KACtB,CAAC,CAAC;AACP,CAAC;AAED,MAAM,CAAC,MAAM,EACT,YAAY,EACZ,mBAAmB,EACtB,GAAG,4BAA4B,CAAC;IAC7B,+BAA+B,EAAE,YAAY,CAAC,+BAA+B;IAC7E,mBAAmB;IACnB,kBAAkB;CACrB,CAAC,CAAC"}
|
package/run/run-orchestrator.js
CHANGED
|
@@ -4,19 +4,19 @@ import { createExecute } from "../engine/execution.js";
|
|
|
4
4
|
import { createReporterDispatcher } from "../engine/reporter-dispatcher.js";
|
|
5
5
|
import { createNodeResourceUsageTracker } from "./resource-usage.js";
|
|
6
6
|
import { createNodeDurationHistoryStore, createWorkerPoolWithHostProcess } from "./node-worker-pool-factory.js";
|
|
7
|
-
import { createRunOrchestrator } from "./run.js";
|
|
7
|
+
import { createDirectEntrypointRunner, createRunOrchestrator } from "./run.js";
|
|
8
8
|
import { createRandomRunSeed } from "./run-seed.js";
|
|
9
9
|
function readActiveResourceTypes() {
|
|
10
10
|
return process.getActiveResourcesInfo();
|
|
11
11
|
}
|
|
12
|
-
export function
|
|
12
|
+
export function createNodeRunCoordinator(input) {
|
|
13
13
|
const wallClock = createClock();
|
|
14
14
|
const reporterDispatcher = createReporterDispatcher({
|
|
15
15
|
stderr: input.stderr,
|
|
16
16
|
stdout: input.stdout,
|
|
17
17
|
wallClock
|
|
18
18
|
});
|
|
19
|
-
|
|
19
|
+
const dependencies = {
|
|
20
20
|
availableParallelism: os.availableParallelism(),
|
|
21
21
|
createSeed: createRandomRunSeed,
|
|
22
22
|
createResourceUsageTracker(options) {
|
|
@@ -51,6 +51,13 @@ export function createNodeRunOrchestrator(input) {
|
|
|
51
51
|
readStorage: input.readStorage
|
|
52
52
|
},
|
|
53
53
|
wallClock
|
|
54
|
-
}
|
|
54
|
+
};
|
|
55
|
+
return {
|
|
56
|
+
orchestrator: createRunOrchestrator(dependencies),
|
|
57
|
+
runDirectEntrypoint: createDirectEntrypointRunner(dependencies)
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
export function createNodeRunOrchestrator(input) {
|
|
61
|
+
return createNodeRunCoordinator(input).orchestrator;
|
|
55
62
|
}
|
|
56
63
|
//# sourceMappingURL=run-orchestrator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-orchestrator.js","sourceRoot":"","sources":["../../../../source/run/run-orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,8BAA8B,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EACH,8BAA8B,EAC9B,+BAA+B,EAClC,MAAM,+BAA+B,CAAC;AACvC,OAAO,
|
|
1
|
+
{"version":3,"file":"run-orchestrator.js","sourceRoot":"","sources":["../../../../source/run/run-orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,8BAA8B,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EACH,8BAA8B,EAC9B,+BAA+B,EAClC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACH,4BAA4B,EAC5B,qBAAqB,EAExB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAOpD,SAAS,uBAAuB;IAC5B,OAAO,OAAO,CAAC,sBAAsB,EAAE,CAAC;AAC5C,CAAC;AA+BD,MAAM,UAAU,wBAAwB,CAAC,KAA+B;IACpE,MAAM,SAAS,GAAG,WAAW,EAAE,CAAC;IAChC,MAAM,kBAAkB,GAAG,wBAAwB,CAAC;QAChD,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,SAAS;KACZ,CAAC,CAAC;IAEH,MAAM,YAAY,GAAgC;QAC9C,oBAAoB,EAAE,EAAE,CAAC,oBAAoB,EAAE;QAC/C,UAAU,EAAE,mBAAmB;QAC/B,0BAA0B,CAAC,OAAO;YAC9B,OAAO,8BAA8B,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC9D,CAAC;QACD,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,oBAAoB,EAAE,8BAA8B,EAAE;QACtD,gBAAgB,CAAC,OAAO;YACpB,OAAO,+BAA+B,CAAC,OAAO,EAAE,KAAK,CAAC,eAAe,EAAE,EAAE,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACxG,CAAC;QACD,+BAA+B,EAAE,KAAK,CAAC,+BAA+B;QACtE,OAAO,EAAE,aAAa,CAAC;YACnB,oBAAoB,EAAE,SAAS;YAC/B,uBAAuB;YACvB,kBAAkB;YAClB,SAAS;SACZ,CAAC;QACF,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;QAC9C,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;QAC5C,UAAU,EAAE;YACR,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE;YACrC,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE;SACxC;QACD,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,kBAAkB;QAClB,oBAAoB,EAAE,KAAK,CAAC,oBAAoB;QAChD,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;QAC9C,uBAAuB,EAAE;YACrB,qBAAqB,EAAE,KAAK,CAAC,qBAAqB;YAClD,kCAAkC,EAAE,KAAK,CAAC,kCAAkC;YAC5E,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,WAAW,EAAE,KAAK,CAAC,WAAW;SACjC;QACD,SAAS;KACZ,CAAC;IAEF,OAAO;QACH,YAAY,EAAE,qBAAqB,CAAC,YAAY,CAAC;QACjD,mBAAmB,EAAE,4BAA4B,CAAC,YAAY,CAAC;KAClE,CAAC;AACN,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,KAA+B;IACrE,OAAO,wBAAwB,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC;AACxD,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { uniformInt } from 'pure-rand/distribution/uniformInt';
|
|
2
|
+
import { xoroshiro128plus } from 'pure-rand/generator/xoroshiro128plus';
|
|
3
|
+
const randomSeedRange = 4294967296n;
|
|
4
|
+
function resolvedSeed(seed) {
|
|
5
|
+
if (seed.value === null) {
|
|
6
|
+
throw new Error('Seeded ordering requires a resolved run seed.');
|
|
7
|
+
}
|
|
8
|
+
return seed.value;
|
|
9
|
+
}
|
|
10
|
+
function generatorSeed(seed) {
|
|
11
|
+
const normalizedSeed = (seed % randomSeedRange + randomSeedRange) % randomSeedRange;
|
|
12
|
+
return Number(normalizedSeed);
|
|
13
|
+
}
|
|
14
|
+
function arrayEntry(values, index) {
|
|
15
|
+
const value = values[index];
|
|
16
|
+
if (value === undefined) {
|
|
17
|
+
throw new Error('Seeded ordering selected an invalid case index.');
|
|
18
|
+
}
|
|
19
|
+
return value;
|
|
20
|
+
}
|
|
21
|
+
function seededOrder(values, seed) {
|
|
22
|
+
const random = xoroshiro128plus(generatorSeed(seed));
|
|
23
|
+
const ordered = Array.from(values);
|
|
24
|
+
for (let index = ordered.length - 1; index > 0; index -= 1) {
|
|
25
|
+
const swapIndex = uniformInt(random, 0, index);
|
|
26
|
+
const leftValue = arrayEntry(ordered, index);
|
|
27
|
+
const rightValue = arrayEntry(ordered, swapIndex);
|
|
28
|
+
ordered[index] = rightValue;
|
|
29
|
+
ordered[swapIndex] = leftValue;
|
|
30
|
+
}
|
|
31
|
+
return ordered;
|
|
32
|
+
}
|
|
33
|
+
export function orderedRunItems(items, order, seed) {
|
|
34
|
+
return order === 'seeded' ? seededOrder(items, resolvedSeed(seed)) : items;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=run-ordering.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-ordering.js","sourceRoot":"","sources":["../../../../source/run/run-ordering.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAIxE,MAAM,eAAe,GAAG,WAAc,CAAC;AAEvC,SAAS,YAAY,CAAC,IAAa;IAC/B,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACrE,CAAC;IAED,OAAO,IAAI,CAAC,KAAK,CAAC;AACtB,CAAC;AAED,SAAS,aAAa,CAAC,IAAY;IAC/B,MAAM,cAAc,GAAG,CAAC,IAAI,GAAG,eAAe,GAAG,eAAe,CAAC,GAAG,eAAe,CAAC;IAEpF,OAAO,MAAM,CAAC,cAAc,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,UAAU,CAAQ,MAAwB,EAAE,KAAa;IAC9D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAE5B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACvE,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAID,SAAS,WAAW,CAAQ,MAAwB,EAAE,IAAY;IAC9D,MAAM,MAAM,GAAG,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEnC,KAAK,IAAI,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACzD,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;QAC/C,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAElD,OAAO,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC;QAC5B,OAAO,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IACnC,CAAC;IAED,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,eAAe,CAAO,KAAsB,EAAE,KAAe,EAAE,IAAa;IACxF,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAC/E,CAAC"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import type { NonEmptyReadonlyArray } from '../assertion-protocol/assertion-node-shape.ts';
|
|
2
|
+
import type { Engine } from '../engine/engine.ts';
|
|
3
|
+
import type { CaseId } from '../engine/identity.ts';
|
|
4
|
+
export type RunEngineSelection = {
|
|
5
|
+
readonly engine: Engine;
|
|
6
|
+
readonly kind: 'instance';
|
|
7
|
+
} | {
|
|
8
|
+
readonly exportKind: 'getter' | 'value';
|
|
9
|
+
readonly exportName: string;
|
|
10
|
+
readonly kind: 'module';
|
|
11
|
+
readonly moduleUrl: string;
|
|
12
|
+
} | {
|
|
13
|
+
readonly kind: 'default';
|
|
14
|
+
};
|
|
15
|
+
export type RunStringFilterField = keyof {
|
|
16
|
+
readonly file: true;
|
|
17
|
+
readonly owner: true;
|
|
18
|
+
readonly params: true;
|
|
19
|
+
readonly suite: true;
|
|
20
|
+
readonly tag: true;
|
|
21
|
+
readonly title: true;
|
|
22
|
+
};
|
|
23
|
+
export type RunRuntimeScenarioFilter = {
|
|
24
|
+
readonly kind: 'runtime-scenario';
|
|
25
|
+
readonly runtime: string;
|
|
26
|
+
readonly scenario: string;
|
|
27
|
+
readonly value: string;
|
|
28
|
+
};
|
|
29
|
+
export type RunRuntimeFilter = {
|
|
30
|
+
readonly kind: 'runtime';
|
|
31
|
+
readonly runtime: string;
|
|
32
|
+
};
|
|
33
|
+
export type RunRuntimeVariantFilter = {
|
|
34
|
+
readonly kind: 'runtime-variant';
|
|
35
|
+
readonly runtime: string;
|
|
36
|
+
readonly variantId: string;
|
|
37
|
+
};
|
|
38
|
+
export type RunRuntimeDimensionFilter = {
|
|
39
|
+
readonly dimension: string;
|
|
40
|
+
readonly kind: 'runtime-dimension';
|
|
41
|
+
readonly runtime: string;
|
|
42
|
+
readonly value: string;
|
|
43
|
+
};
|
|
44
|
+
type RunFilterByKind = {
|
|
45
|
+
readonly all: {
|
|
46
|
+
readonly filters: NonEmptyReadonlyArray<RunFilter>;
|
|
47
|
+
readonly kind: 'all';
|
|
48
|
+
};
|
|
49
|
+
readonly any: {
|
|
50
|
+
readonly filters: NonEmptyReadonlyArray<RunFilter>;
|
|
51
|
+
readonly kind: 'any';
|
|
52
|
+
};
|
|
53
|
+
readonly 'case-id': {
|
|
54
|
+
readonly id: CaseId;
|
|
55
|
+
readonly kind: 'case-id';
|
|
56
|
+
};
|
|
57
|
+
readonly contains: {
|
|
58
|
+
readonly field: RunStringFilterField;
|
|
59
|
+
readonly kind: 'contains';
|
|
60
|
+
readonly value: string;
|
|
61
|
+
};
|
|
62
|
+
readonly equals: {
|
|
63
|
+
readonly field: RunStringFilterField;
|
|
64
|
+
readonly kind: 'equals';
|
|
65
|
+
readonly value: string;
|
|
66
|
+
};
|
|
67
|
+
readonly glob: {
|
|
68
|
+
readonly field: RunStringFilterField;
|
|
69
|
+
readonly kind: 'glob';
|
|
70
|
+
readonly pattern: string;
|
|
71
|
+
};
|
|
72
|
+
readonly not: {
|
|
73
|
+
readonly filter: RunFilter;
|
|
74
|
+
readonly kind: 'not';
|
|
75
|
+
};
|
|
76
|
+
readonly runtime: RunRuntimeFilter;
|
|
77
|
+
readonly 'runtime-dimension': RunRuntimeDimensionFilter;
|
|
78
|
+
readonly 'runtime-scenario': RunRuntimeScenarioFilter;
|
|
79
|
+
readonly 'runtime-variant': RunRuntimeVariantFilter;
|
|
80
|
+
};
|
|
81
|
+
export type RunFilter = RunFilterByKind[keyof RunFilterByKind];
|
|
82
|
+
export type RunSelection = {
|
|
83
|
+
readonly filter: RunFilter;
|
|
84
|
+
readonly kind: 'filter';
|
|
85
|
+
} | {
|
|
86
|
+
readonly kind: 'all';
|
|
87
|
+
};
|
|
88
|
+
export {};
|
|
89
|
+
//# sourceMappingURL=run-request-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-request-types.d.ts","sourceRoot":"","sources":["../../../../source/run/run-request-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import type { NonEmptyReadonlyArray } from '../assertion-protocol/assertion-node-shape.ts';
|
|
2
|
-
import { type CaseId } from '../engine/identity.ts';
|
|
2
|
+
import { type CaseId, type WorkId } from '../engine/identity.ts';
|
|
3
3
|
import type { TestPlanCase } from '../engine/test-plan.ts';
|
|
4
|
-
import type { RunFilter, RunSelection, RunStringFilterField } from './run-types.ts';
|
|
4
|
+
import type { RunFilter, RunSelection, RunStringFilterField } from './run-request-types.ts';
|
|
5
5
|
type RunFilterCandidate = {
|
|
6
6
|
readonly annotations: TestPlanCase['annotations'];
|
|
7
7
|
readonly id: CaseId;
|
|
8
|
+
readonly workId: WorkId;
|
|
8
9
|
};
|
|
9
10
|
export declare function all(filters: NonEmptyReadonlyArray<RunFilter>): RunFilter;
|
|
10
11
|
export declare function any(filters: NonEmptyReadonlyArray<RunFilter>): RunFilter;
|
|
@@ -19,6 +20,10 @@ export declare function params(value: string): RunFilter;
|
|
|
19
20
|
export declare function suite(value: string): RunFilter;
|
|
20
21
|
export declare function tag(value: string): RunFilter;
|
|
21
22
|
export declare function title(value: string): RunFilter;
|
|
23
|
+
export declare function runtime(name: string): RunFilter;
|
|
24
|
+
export declare function runtimeVariant(name: string, variantId: string): RunFilter;
|
|
25
|
+
export declare function runtimeDimension(name: string, dimension: string, value: string): RunFilter;
|
|
26
|
+
export declare function runtimeScenario(name: string, scenario: string, value: string): RunFilter;
|
|
22
27
|
export declare function invalidRunSelectionMessage(selection: unknown): string | null;
|
|
23
28
|
export declare function copyRunSelection(selection: RunSelection): RunSelection;
|
|
24
29
|
export declare function matchesRunFilter(filter: RunFilter, candidate: RunFilterCandidate): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-selection-filters.d.ts","sourceRoot":"","sources":["../../../../source/run/run-selection-filters.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AAC3F,OAAO,EAAmB,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"run-selection-filters.d.ts","sourceRoot":"","sources":["../../../../source/run/run-selection-filters.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AAC3F,OAAO,EAAmB,KAAK,MAAM,EAAE,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAClF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE5F,KAAK,kBAAkB,GAAG;IACtB,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC,aAAa,CAAC,CAAC;IAClD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CAC3B,CAAC;AAmDF,wBAAgB,GAAG,CAAC,OAAO,EAAE,qBAAqB,CAAC,SAAS,CAAC,GAAG,SAAS,CAKxE;AAED,wBAAgB,GAAG,CAAC,OAAO,EAAE,qBAAqB,CAAC,SAAS,CAAC,GAAG,SAAS,CAKxE;AAED,wBAAgB,GAAG,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,CAEhD;AAED,wBAAgB,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,CAK5C;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,CAI5E;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,CAI9E;AAED,wBAAgB,IAAI,CAAC,KAAK,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,CAI5E;AAED,wBAAgB,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAE/C;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAE9C;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAE/C;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAE9C;AAED,wBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAE5C;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAE9C;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAI/C;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,CAKzE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,CAM1F;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,CAMxF;AAkMD,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAc5E;AAwED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,YAAY,GAAG,YAAY,CAStE;AA+GD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,kBAAkB,GAAG,OAAO,CAkB1F"}
|
|
@@ -85,6 +85,27 @@ export function tag(value) {
|
|
|
85
85
|
export function title(value) {
|
|
86
86
|
return contains('title', value);
|
|
87
87
|
}
|
|
88
|
+
export function runtime(name) {
|
|
89
|
+
assertNonEmptyString(name, 'Runtime filter name');
|
|
90
|
+
return { kind: 'runtime', runtime: name };
|
|
91
|
+
}
|
|
92
|
+
export function runtimeVariant(name, variantId) {
|
|
93
|
+
assertNonEmptyString(name, 'Runtime variant filter name');
|
|
94
|
+
assertNonEmptyString(variantId, 'Runtime variant filter variant id');
|
|
95
|
+
return { kind: 'runtime-variant', runtime: name, variantId };
|
|
96
|
+
}
|
|
97
|
+
export function runtimeDimension(name, dimension, value) {
|
|
98
|
+
assertNonEmptyString(name, 'Runtime dimension filter name');
|
|
99
|
+
assertNonEmptyString(dimension, 'Runtime dimension filter dimension');
|
|
100
|
+
assertNonEmptyString(value, 'Runtime dimension filter value');
|
|
101
|
+
return { dimension, kind: 'runtime-dimension', runtime: name, value };
|
|
102
|
+
}
|
|
103
|
+
export function runtimeScenario(name, scenario, value) {
|
|
104
|
+
assertNonEmptyString(name, 'Runtime scenario filter runtime');
|
|
105
|
+
assertNonEmptyString(scenario, 'Runtime scenario filter scenario');
|
|
106
|
+
assertNonEmptyString(value, 'Runtime scenario filter value');
|
|
107
|
+
return { kind: 'runtime-scenario', runtime: name, scenario, value };
|
|
108
|
+
}
|
|
88
109
|
function hasInvalidSuiteItem(value) {
|
|
89
110
|
return !Array.isArray(value) || value.some(function emptySuiteItem(item) {
|
|
90
111
|
return typeof item !== 'string' || item.trim().length === 0;
|
|
@@ -146,6 +167,22 @@ function invalidCompositeFilterMessage(filter) {
|
|
|
146
167
|
}
|
|
147
168
|
return null;
|
|
148
169
|
}
|
|
170
|
+
const runtimeFilterLabels = {
|
|
171
|
+
runtime: 'Runtime filter',
|
|
172
|
+
'runtime-dimension': 'Runtime dimension filter',
|
|
173
|
+
'runtime-scenario': 'Runtime scenario filter',
|
|
174
|
+
'runtime-variant': 'Runtime variant filter'
|
|
175
|
+
};
|
|
176
|
+
function invalidRuntimeFieldsMessage(filter, fields) {
|
|
177
|
+
const label = typeof filter.kind === 'string' ? runtimeFilterLabels[filter.kind] : undefined;
|
|
178
|
+
for (const field of fields) {
|
|
179
|
+
const value = filter[field];
|
|
180
|
+
if (typeof value !== 'string' || value.trim().length === 0) {
|
|
181
|
+
return `${label ?? 'Runtime filter'} ${field} must be a non-empty string.`;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
return null;
|
|
185
|
+
}
|
|
149
186
|
const filterNodeValidators = {
|
|
150
187
|
all: invalidCompositeFilterMessage,
|
|
151
188
|
any: invalidCompositeFilterMessage,
|
|
@@ -163,6 +200,18 @@ const filterNodeValidators = {
|
|
|
163
200
|
},
|
|
164
201
|
not: function invalidNotFilter(filter) {
|
|
165
202
|
return isRecord(filter.filter) ? null : 'Run filter must be an object.';
|
|
203
|
+
},
|
|
204
|
+
runtime: function invalidRuntimeFilter(filter) {
|
|
205
|
+
return invalidRuntimeFieldsMessage(filter, ['runtime']);
|
|
206
|
+
},
|
|
207
|
+
'runtime-dimension': function invalidRuntimeDimensionFilter(filter) {
|
|
208
|
+
return invalidRuntimeFieldsMessage(filter, ['runtime', 'dimension', 'value']);
|
|
209
|
+
},
|
|
210
|
+
'runtime-scenario': function invalidRuntimeScenarioFilter(filter) {
|
|
211
|
+
return invalidRuntimeFieldsMessage(filter, ['runtime', 'scenario', 'value']);
|
|
212
|
+
},
|
|
213
|
+
'runtime-variant': function invalidRuntimeVariantFilter(filter) {
|
|
214
|
+
return invalidRuntimeFieldsMessage(filter, ['runtime', 'variantId']);
|
|
166
215
|
}
|
|
167
216
|
};
|
|
168
217
|
function invalidKnownFilterMessage(filter) {
|
|
@@ -218,31 +267,58 @@ export function invalidRunSelectionMessage(selection) {
|
|
|
218
267
|
}
|
|
219
268
|
return 'Run selection kind is unknown.';
|
|
220
269
|
}
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
270
|
+
const runtimeRunFilterKinds = new Set([
|
|
271
|
+
'runtime',
|
|
272
|
+
'runtime-dimension',
|
|
273
|
+
'runtime-scenario',
|
|
274
|
+
'runtime-variant'
|
|
275
|
+
]);
|
|
276
|
+
function isRuntimeRunFilter(filter) {
|
|
277
|
+
return runtimeRunFilterKinds.has(filter.kind);
|
|
278
|
+
}
|
|
279
|
+
function copyRuntimeRunFilter(filter) {
|
|
280
|
+
if (filter.kind === 'runtime') {
|
|
281
|
+
return runtime(filter.runtime);
|
|
227
282
|
}
|
|
228
|
-
if (filter.kind === '
|
|
229
|
-
return
|
|
230
|
-
filter: copyRunFilter(filter.filter),
|
|
231
|
-
kind: 'not'
|
|
232
|
-
};
|
|
283
|
+
if (filter.kind === 'runtime-variant') {
|
|
284
|
+
return runtimeVariant(filter.runtime, filter.variantId);
|
|
233
285
|
}
|
|
286
|
+
if (filter.kind === 'runtime-dimension') {
|
|
287
|
+
return runtimeDimension(filter.runtime, filter.dimension, filter.value);
|
|
288
|
+
}
|
|
289
|
+
return runtimeScenario(filter.runtime, filter.scenario, filter.value);
|
|
290
|
+
}
|
|
291
|
+
function copyLeafRunFilter(filter) {
|
|
234
292
|
if (filter.kind === 'case-id') {
|
|
235
293
|
return caseId(filter.id);
|
|
236
294
|
}
|
|
237
295
|
if (filter.kind === 'glob') {
|
|
238
296
|
return glob(filter.field, filter.pattern);
|
|
239
297
|
}
|
|
298
|
+
if (isRuntimeRunFilter(filter)) {
|
|
299
|
+
return copyRuntimeRunFilter(filter);
|
|
300
|
+
}
|
|
240
301
|
return {
|
|
241
302
|
field: filter.field,
|
|
242
303
|
kind: filter.kind,
|
|
243
304
|
value: filter.value
|
|
244
305
|
};
|
|
245
306
|
}
|
|
307
|
+
function copyRunFilter(filter) {
|
|
308
|
+
if (filter.kind === 'all' || filter.kind === 'any') {
|
|
309
|
+
return {
|
|
310
|
+
filters: assertNonEmptyFilters(filter.filters.map(copyRunFilter)),
|
|
311
|
+
kind: filter.kind
|
|
312
|
+
};
|
|
313
|
+
}
|
|
314
|
+
if (filter.kind === 'not') {
|
|
315
|
+
return {
|
|
316
|
+
filter: copyRunFilter(filter.filter),
|
|
317
|
+
kind: 'not'
|
|
318
|
+
};
|
|
319
|
+
}
|
|
320
|
+
return copyLeafRunFilter(filter);
|
|
321
|
+
}
|
|
246
322
|
export function copyRunSelection(selection) {
|
|
247
323
|
if (selection.kind === 'all') {
|
|
248
324
|
return { kind: 'all' };
|
|
@@ -310,6 +386,32 @@ function matchesTextFilter(filter, candidate) {
|
|
|
310
386
|
}
|
|
311
387
|
return false;
|
|
312
388
|
}
|
|
389
|
+
function matchesRuntimeRunFilter(filter, candidate) {
|
|
390
|
+
return candidate.workId.runtimes.some(function runtimeMatches(candidateRuntime) {
|
|
391
|
+
if (candidateRuntime.name !== filter.runtime) {
|
|
392
|
+
return false;
|
|
393
|
+
}
|
|
394
|
+
if (filter.kind === 'runtime') {
|
|
395
|
+
return true;
|
|
396
|
+
}
|
|
397
|
+
if (filter.kind === 'runtime-variant') {
|
|
398
|
+
return candidateRuntime.variantId === filter.variantId;
|
|
399
|
+
}
|
|
400
|
+
if (filter.kind === 'runtime-dimension') {
|
|
401
|
+
return candidateRuntime.dimensions[filter.dimension] === filter.value;
|
|
402
|
+
}
|
|
403
|
+
return candidateRuntime.scenarios[filter.scenario] === filter.value;
|
|
404
|
+
});
|
|
405
|
+
}
|
|
406
|
+
function matchesLeafRunFilter(filter, candidate) {
|
|
407
|
+
if (filter.kind === 'case-id') {
|
|
408
|
+
return caseIdentityKey(filter.id) === caseIdentityKey(candidate.id);
|
|
409
|
+
}
|
|
410
|
+
if (isRuntimeRunFilter(filter)) {
|
|
411
|
+
return matchesRuntimeRunFilter(filter, candidate);
|
|
412
|
+
}
|
|
413
|
+
return matchesTextFilter(filter, candidate);
|
|
414
|
+
}
|
|
313
415
|
export function matchesRunFilter(filter, candidate) {
|
|
314
416
|
if (filter.kind === 'all') {
|
|
315
417
|
return filter.filters.every(function childMatches(childFilter) {
|
|
@@ -324,9 +426,6 @@ export function matchesRunFilter(filter, candidate) {
|
|
|
324
426
|
if (filter.kind === 'not') {
|
|
325
427
|
return !matchesRunFilter(filter.filter, candidate);
|
|
326
428
|
}
|
|
327
|
-
|
|
328
|
-
return caseIdentityKey(filter.id) === caseIdentityKey(candidate.id);
|
|
329
|
-
}
|
|
330
|
-
return matchesTextFilter(filter, candidate);
|
|
429
|
+
return matchesLeafRunFilter(filter, candidate);
|
|
331
430
|
}
|
|
332
431
|
//# sourceMappingURL=run-selection-filters.js.map
|