@overkill-dev/run 0.0.17 → 0.0.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/engine/case-execution.d.ts +22 -0
  2. package/engine/case-execution.d.ts.map +1 -0
  3. package/engine/case-execution.js +10 -1
  4. package/engine/case-execution.js.map +1 -1
  5. package/engine/execution-result.js +4 -0
  6. package/engine/execution-result.js.map +1 -1
  7. package/engine/execution-supervision.d.ts +2 -0
  8. package/engine/execution-supervision.d.ts.map +1 -1
  9. package/engine/execution-supervision.js +28 -21
  10. package/engine/execution-supervision.js.map +1 -1
  11. package/engine/execution.d.ts +4 -1
  12. package/engine/execution.d.ts.map +1 -1
  13. package/engine/execution.js +9 -1
  14. package/engine/execution.js.map +1 -1
  15. package/engine/resource-usage-growth.js +12 -0
  16. package/engine/resource-usage-growth.js.map +1 -0
  17. package/engine/run-result.d.ts +3 -1
  18. package/engine/run-result.d.ts.map +1 -1
  19. package/engine/run-result.js.map +1 -1
  20. package/package.json +6 -3
  21. package/packages/run/run.entry-point.d.ts +2 -2
  22. package/packages/run/run.entry-point.d.ts.map +1 -1
  23. package/packages/run/run.entry-point.js +1 -1
  24. package/packages/run/run.entry-point.js.map +1 -1
  25. package/readme.md +39 -2
  26. package/run/capability-policy.d.ts +47 -0
  27. package/run/capability-policy.d.ts.map +1 -0
  28. package/run/capability-policy.js +395 -0
  29. package/run/capability-policy.js.map +1 -0
  30. package/run/collected-run-plan.js +100 -0
  31. package/run/collected-run-plan.js.map +1 -0
  32. package/run/command-line-runner.d.ts.map +1 -1
  33. package/run/command-line-runner.js +6 -3
  34. package/run/command-line-runner.js.map +1 -1
  35. package/run/node-host-readers.js +13 -0
  36. package/run/node-host-readers.js.map +1 -0
  37. package/run/node-process-capability-restrictions.js +92 -0
  38. package/run/node-process-capability-restrictions.js.map +1 -0
  39. package/run/run-config-schema.d.ts +5 -0
  40. package/run/run-config-schema.d.ts.map +1 -1
  41. package/run/run-config-schema.js +1 -0
  42. package/run/run-config-schema.js.map +1 -1
  43. package/run/run-config.d.ts.map +1 -1
  44. package/run/run-config.js +8 -2
  45. package/run/run-config.js.map +1 -1
  46. package/run/run-engine-selection.js +92 -0
  47. package/run/run-engine-selection.js.map +1 -0
  48. package/run/run-facts.js +103 -0
  49. package/run/run-facts.js.map +1 -0
  50. package/run/run-local-test-plan.js +25 -0
  51. package/run/run-local-test-plan.js.map +1 -0
  52. package/run/run-orchestrator.entry-point.d.ts +2 -0
  53. package/run/run-orchestrator.entry-point.d.ts.map +1 -0
  54. package/run/run-orchestrator.entry-point.js +31 -0
  55. package/run/run-orchestrator.entry-point.js.map +1 -0
  56. package/run/run-orchestrator.js +27 -33
  57. package/run/run-orchestrator.js.map +1 -1
  58. package/run/run-process-engine.js +40 -0
  59. package/run/run-process-engine.js.map +1 -0
  60. package/run/run-support.js +133 -0
  61. package/run/run-support.js.map +1 -0
  62. package/run/run-test-plan.js +20 -0
  63. package/run/run-test-plan.js.map +1 -0
  64. package/run/run-types.d.ts +60 -4
  65. package/run/run-types.d.ts.map +1 -1
  66. package/run/run-types.js.map +1 -1
  67. package/run/run-validation.js +122 -0
  68. package/run/run-validation.js.map +1 -0
  69. package/run/run.js +191 -329
  70. package/run/run.js.map +1 -1
  71. package/run/supervised-child-process.js +127 -0
  72. package/run/supervised-child-process.js.map +1 -0
  73. package/run/supervised-run-resource-policy.js +64 -0
  74. package/run/supervised-run-resource-policy.js.map +1 -0
  75. package/run/supervised-run-runtime.js +257 -0
  76. package/run/supervised-run-runtime.js.map +1 -0
  77. package/run/supervised-run-state.js +109 -0
  78. package/run/supervised-run-state.js.map +1 -0
  79. package/run/supervised-run.js +209 -299
  80. package/run/supervised-run.js.map +1 -1
  81. package/sbom.cdx.json +4 -4
  82. package/run/run-orchestrator.d.ts +0 -3
  83. package/run/run-orchestrator.d.ts.map +0 -1
@@ -0,0 +1,40 @@
1
+ import path from 'node:path';
2
+ import { fileURLToPath } from 'node:url';
3
+ import { invalidRequest } from "./run-errors.js";
4
+ function supervisedProcess(profile) {
5
+ return profile.execution.processModel === 'supervised-process';
6
+ }
7
+ function assertSupportedSupervisedEngine(command) {
8
+ if (command.engine.kind === 'instance') {
9
+ invalidRequest('Instance engines are not supported with supervised-process execution. Use a module engine.');
10
+ }
11
+ }
12
+ function modulePath(moduleUrl) {
13
+ try {
14
+ return fileURLToPath(moduleUrl);
15
+ }
16
+ catch {
17
+ invalidRequest('Supervised custom engine moduleUrl must be a file URL under cwd.');
18
+ }
19
+ throw new Error('Unreachable module URL validation state.');
20
+ }
21
+ function insideCwd(cwd, filePath) {
22
+ const relativeModulePath = path.relative(cwd, filePath);
23
+ return !relativeModulePath.startsWith('..') && !path.isAbsolute(relativeModulePath);
24
+ }
25
+ function assertSupportedSupervisedModule(command) {
26
+ if (command.engine.kind !== 'module') {
27
+ return;
28
+ }
29
+ if (!insideCwd(command.cwd, modulePath(command.engine.moduleUrl))) {
30
+ invalidRequest('Supervised custom engine moduleUrl must be under cwd.');
31
+ }
32
+ }
33
+ export function assertSupportedProcessEngine(command, profile) {
34
+ if (!supervisedProcess(profile)) {
35
+ return;
36
+ }
37
+ assertSupportedSupervisedEngine(command);
38
+ assertSupportedSupervisedModule(command);
39
+ }
40
+ //# sourceMappingURL=run-process-engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-process-engine.js","sourceRoot":"","sources":["../../../../source/run/run-process-engine.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGjD,SAAS,iBAAiB,CAAC,OAAkC;IACzD,OAAO,OAAO,CAAC,SAAS,CAAC,YAAY,KAAK,oBAAoB,CAAC;AACnE,CAAC;AAED,SAAS,+BAA+B,CAAC,OAAmB;IACxD,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACrC,cAAc,CAAC,4FAA4F,CAAC,CAAC;IACjH,CAAC;AACL,CAAC;AAED,SAAS,UAAU,CAAC,SAAiB;IACjC,IAAI,CAAC;QACD,OAAO,aAAa,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACL,cAAc,CAAC,kEAAkE,CAAC,CAAC;IACvF,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,SAAS,CAAC,GAAW,EAAE,QAAgB;IAC5C,MAAM,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAExD,OAAO,CAAC,kBAAkB,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;AACxF,CAAC;AAED,SAAS,+BAA+B,CAAC,OAAmB;IACxD,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACnC,OAAO;IACX,CAAC;IAED,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QAChE,cAAc,CAAC,uDAAuD,CAAC,CAAC;IAC5E,CAAC;AACL,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,OAAmB,EAAE,OAAkC;IAChG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9B,OAAO;IACX,CAAC;IAED,+BAA+B,CAAC,OAAO,CAAC,CAAC;IACzC,+BAA+B,CAAC,OAAO,CAAC,CAAC;AAC7C,CAAC"}
@@ -0,0 +1,133 @@
1
+ import { createRuntimeCapabilityPolicy } from "./capability-policy.js";
2
+ function copyLoaderConfig(loader) {
3
+ return {
4
+ sourceMaps: loader.sourceMaps,
5
+ stripMode: loader.stripMode
6
+ };
7
+ }
8
+ function copyRunShard(shard) {
9
+ return {
10
+ index: shard.index,
11
+ total: shard.total
12
+ };
13
+ }
14
+ export function copyResourceBudgets(resourceBudgets) {
15
+ return {
16
+ activeResourceCount: resourceBudgets.activeResourceCount,
17
+ javaScriptEngineHeapBytes: resourceBudgets.javaScriptEngineHeapBytes,
18
+ residentSetBytes: resourceBudgets.residentSetBytes,
19
+ residentSetGrowthBytesPerSecond: resourceBudgets.residentSetGrowthBytesPerSecond
20
+ };
21
+ }
22
+ function copyResourceBudgetOverrides(overrides) {
23
+ if (overrides === null) {
24
+ return null;
25
+ }
26
+ return copyResourceBudgets(overrides);
27
+ }
28
+ function copyResourceUsagePolicy(policy) {
29
+ return {
30
+ budgets: copyResourceBudgets(policy.budgets),
31
+ measure: policy.measure,
32
+ samplingIntervalMilliseconds: policy.samplingIntervalMilliseconds
33
+ };
34
+ }
35
+ function copyTimeoutPolicy(policy) {
36
+ return {
37
+ collectionMilliseconds: policy.collectionMilliseconds,
38
+ hardMilliseconds: policy.hardMilliseconds,
39
+ softMilliseconds: policy.softMilliseconds
40
+ };
41
+ }
42
+ function copyExecution(execution) {
43
+ return {
44
+ processModel: execution.processModel,
45
+ scheduling: execution.scheduling
46
+ };
47
+ }
48
+ function copyProfileConfig(profile) {
49
+ return {
50
+ execution: copyExecution(profile.execution),
51
+ reporters: profile.reporters === null ? null : Array.from(profile.reporters),
52
+ resourceUsage: copyResourceUsagePolicy(profile.resourceUsage),
53
+ testFamily: profile.testFamily,
54
+ timeouts: copyTimeoutPolicy(profile.timeouts)
55
+ };
56
+ }
57
+ function copyRunProfilesConfig(profiles) {
58
+ return Object.fromEntries(Object.entries(profiles).map(function copyProfileEntry([name, profile]) {
59
+ return [name, copyProfileConfig(profile)];
60
+ }));
61
+ }
62
+ export function copyRunRequest(request) {
63
+ return {
64
+ baselineUpdateMode: request.baselineUpdateMode,
65
+ capabilityRestrictions: { mode: request.capabilityRestrictions.mode },
66
+ capture: request.capture,
67
+ debug: {
68
+ mode: request.debug.mode,
69
+ selectors: []
70
+ },
71
+ execution: { mode: request.execution.mode },
72
+ measureResourceUsage: request.measureResourceUsage,
73
+ order: request.order,
74
+ paths: Array.from(request.paths),
75
+ profile: request.profile,
76
+ resourceBudgetOverrides: copyResourceBudgetOverrides(request.resourceBudgetOverrides),
77
+ resourceUsageSamplingIntervalMilliseconds: request.resourceUsageSamplingIntervalMilliseconds,
78
+ seed: { value: request.seed.value },
79
+ selection: { kind: request.selection.kind },
80
+ shard: copyRunShard(request.shard),
81
+ verbose: request.verbose
82
+ };
83
+ }
84
+ export function copyRunConfig(config) {
85
+ return {
86
+ loader: copyLoaderConfig(config.loader),
87
+ outputRenderer: config.outputRenderer,
88
+ profiles: copyRunProfilesConfig(config.profiles),
89
+ reporters: Array.from(config.reporters),
90
+ runtimeStateDir: config.runtimeStateDir
91
+ };
92
+ }
93
+ export function copyRunEngineSelection(engine) {
94
+ if (engine.kind === 'instance') {
95
+ return {
96
+ engine: engine.engine,
97
+ kind: 'instance'
98
+ };
99
+ }
100
+ if (engine.kind === 'module') {
101
+ return {
102
+ exportKind: engine.exportKind,
103
+ exportName: engine.exportName,
104
+ kind: 'module',
105
+ moduleUrl: engine.moduleUrl
106
+ };
107
+ }
108
+ return { kind: 'default' };
109
+ }
110
+ export function runEngineFacts(engine) {
111
+ if (engine.kind === 'instance') {
112
+ return { kind: 'instance' };
113
+ }
114
+ if (engine.kind === 'module') {
115
+ return {
116
+ exportKind: engine.exportKind,
117
+ exportName: engine.exportName,
118
+ kind: 'module',
119
+ moduleUrl: engine.moduleUrl
120
+ };
121
+ }
122
+ return { kind: 'default' };
123
+ }
124
+ export function createRunRuntimePolicy(request, dependencies) {
125
+ return request.capabilityRestrictions.mode === 'enabled'
126
+ ? createRuntimeCapabilityPolicy({
127
+ dependencies: dependencies.runtimeCapabilityPolicy,
128
+ observedStderr: false,
129
+ observedStdout: false
130
+ })
131
+ : null;
132
+ }
133
+ //# sourceMappingURL=run-support.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-support.js","sourceRoot":"","sources":["../../../../source/run/run-support.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { discoverRunFiles } from "./run-discovery.js";
2
+ import { RunCollectionError } from "./run-errors.js";
3
+ import { loadRunTestModules } from "./run-test-modules.js";
4
+ export async function createRunTestPlan(input) {
5
+ const files = await discoverRunFiles({ cwd: input.cwd, paths: input.paths });
6
+ const testFiles = await loadRunTestModules(files, input.engine);
7
+ try {
8
+ return input.engine.createTestPlanFromTestFiles({
9
+ files: testFiles,
10
+ root: {
11
+ metadata: {},
12
+ name: input.cwd
13
+ }
14
+ });
15
+ }
16
+ catch (error) {
17
+ throw new RunCollectionError('Failed to collect tests from explicit run inputs.', { cause: error }, 'loader');
18
+ }
19
+ }
20
+ //# sourceMappingURL=run-test-plan.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-test-plan.js","sourceRoot":"","sources":["../../../../source/run/run-test-plan.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAQ3D,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,KAAuB;IAC3D,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IAC7E,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAEhE,IAAI,CAAC;QACD,OAAO,KAAK,CAAC,MAAM,CAAC,2BAA2B,CAAC;YAC5C,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE;gBACF,QAAQ,EAAE,EAAE;gBACZ,IAAI,EAAE,KAAK,CAAC,GAAG;aAClB;SACJ,CAAC,CAAC;IACP,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACtB,MAAM,IAAI,kBAAkB,CAAC,mDAAmD,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,QAAQ,CAAC,CAAC;IAClH,CAAC;AACL,CAAC"}
@@ -3,13 +3,25 @@ import type { SerializedValue as SerializedValueShape } from '../compare/seriali
3
3
  import type { Execute } from '../engine/execution.ts';
4
4
  import type { Engine } from '../engine/engine.ts';
5
5
  import type { ReporterDispatcher } from '../engine/reporter-dispatcher.ts';
6
- import type { RunResourceUsageTracker, RunResult } from '../engine/run-result.ts';
6
+ import type { OrphanedNode, RunResourceUsageTracker, RunResult } from '../engine/run-result.ts';
7
7
  import type { TestPlan } from '../engine/test-plan.ts';
8
+ import type { RuntimeCapabilityPolicyDependencies } from './capability-policy.ts';
8
9
  import type { ResourceUsageTrackerOptions } from './resource-usage.ts';
9
10
  export type SerializedValue = SerializedValueShape;
10
11
  type RunExecuteOptions = NonNullable<Parameters<Execute>[1]>;
11
12
  type RunOutputRenderer = NonNullable<RunExecuteOptions['outputRenderer']>;
12
13
  type RunReporters = RunExecuteOptions['reporters'];
14
+ export type RunEngineSelection = {
15
+ readonly engine: Engine;
16
+ readonly kind: 'instance';
17
+ } | {
18
+ readonly exportKind: 'getter' | 'value';
19
+ readonly exportName: string;
20
+ readonly kind: 'module';
21
+ readonly moduleUrl: string;
22
+ } | {
23
+ readonly kind: 'default';
24
+ };
13
25
  export type RunSelection = {
14
26
  readonly kind: 'all';
15
27
  };
@@ -20,6 +32,9 @@ export type RunShard = {
20
32
  export type RunExecutionRequest = {
21
33
  readonly mode: 'profile-default';
22
34
  };
35
+ type RunCapabilityRestrictionsRequest = {
36
+ readonly mode: 'disabled' | 'enabled';
37
+ };
23
38
  export type RunSeed = {
24
39
  readonly value: bigint | null;
25
40
  };
@@ -50,6 +65,7 @@ export type RunResourceUsagePolicy = {
50
65
  readonly samplingIntervalMilliseconds: number;
51
66
  };
52
67
  export type RunTimeoutPolicy = {
68
+ readonly collectionMilliseconds: number;
53
69
  readonly hardMilliseconds: number;
54
70
  readonly softMilliseconds: number;
55
71
  };
@@ -73,6 +89,7 @@ export type RunConfig = {
73
89
  };
74
90
  export type RunRequest = {
75
91
  readonly baselineUpdateMode: 'none';
92
+ readonly capabilityRestrictions: RunCapabilityRestrictionsRequest;
76
93
  readonly capture: 'buffered' | 'live';
77
94
  readonly debug: RunDebugRequest;
78
95
  readonly execution: RunExecutionRequest;
@@ -90,7 +107,7 @@ export type RunRequest = {
90
107
  export type RunCommand = {
91
108
  readonly config: RunConfig;
92
109
  readonly cwd: string;
93
- readonly engine: Engine | null;
110
+ readonly engine: RunEngineSelection;
94
111
  readonly request: RunRequest;
95
112
  };
96
113
  export type RunFacts = {
@@ -116,6 +133,7 @@ export type RunExecutionFacts = {
116
133
  readonly baselineUpdateMode: 'none';
117
134
  readonly capture: 'buffered' | 'live';
118
135
  readonly debug: RunDebugRequest;
136
+ readonly engine: RunEngineFacts;
119
137
  readonly order: 'plan';
120
138
  readonly processModel: RunProcessModel;
121
139
  readonly profile: string;
@@ -129,26 +147,64 @@ export type RunReproducibilityFacts = {
129
147
  readonly seed: string;
130
148
  readonly shard: RunShard;
131
149
  };
150
+ export type RunEngineFacts = {
151
+ readonly exportKind: 'getter' | 'value';
152
+ readonly exportName: string;
153
+ readonly kind: 'module';
154
+ readonly moduleUrl: string;
155
+ } | {
156
+ readonly kind: 'default';
157
+ } | {
158
+ readonly kind: 'instance';
159
+ };
160
+ export type CollectedRunCase = {
161
+ readonly metadata: SerializedValue;
162
+ readonly name: string;
163
+ readonly params: string | null;
164
+ readonly suite: readonly string[];
165
+ };
166
+ export type CollectedRunFile = {
167
+ readonly cases: readonly CollectedRunCase[];
168
+ readonly file: string;
169
+ };
170
+ export type CollectedRunPlan = {
171
+ readonly defined: number;
172
+ readonly files: readonly CollectedRunFile[];
173
+ readonly orphans: readonly OrphanedNode[];
174
+ readonly root: {
175
+ readonly metadata: SerializedValue;
176
+ readonly name: string;
177
+ };
178
+ };
179
+ export type ResolvedRunPlan = {
180
+ readonly collectedPlan: CollectedRunPlan;
181
+ readonly kind: 'supervised';
182
+ } | {
183
+ readonly kind: 'local';
184
+ readonly testPlan: TestPlan;
185
+ };
132
186
  export type ResolvedRun = {
187
+ readonly collectionRunnerErrors: readonly RunResult['runnerErrors'][number][];
133
188
  readonly config: RunConfig;
134
189
  readonly cwd: string;
190
+ readonly engine: RunEngineSelection;
135
191
  readonly facts: RunFacts;
192
+ readonly plan: ResolvedRunPlan;
136
193
  readonly reporters: RunReporters;
137
194
  readonly request: RunRequest;
138
- readonly testPlan: TestPlan;
139
195
  };
140
196
  export type RunOrchestratorDependencies = {
141
197
  readonly createSeed: () => bigint;
142
198
  readonly createResourceUsageTracker: (options: ResourceUsageTrackerOptions) => RunResourceUsageTracker;
143
199
  readonly defaultEngine: Engine;
144
200
  readonly execute: Execute;
201
+ readonly runtimeCapabilityPolicy: RuntimeCapabilityPolicyDependencies;
145
202
  readonly node: {
146
203
  readonly arch: string;
147
204
  readonly platform: string;
148
205
  readonly version: string;
149
206
  };
150
207
  readonly reporterDispatcher: ReporterDispatcher;
151
- readonly readStartedAt: () => string;
152
208
  readonly wallClock: WallClock;
153
209
  };
154
210
  export type RunOrchestrator = {
@@ -1 +1 @@
1
- {"version":3,"file":"run-types.d.ts","sourceRoot":"","sources":["../../../../source/run/run-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,IAAI,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAC9F,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,KAAK,EAAE,uBAAuB,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAClF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAEvE,MAAM,MAAM,eAAe,GAAG,oBAAoB,CAAC;AACnD,KAAK,iBAAiB,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7D,KAAK,iBAAiB,GAAG,WAAW,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAC1E,KAAK,YAAY,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;AAEnD,MAAM,MAAM,YAAY,GAAG;IACvB,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAC9B,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IAClB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC1B,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IACrB,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC1B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC7B,QAAQ,CAAC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,QAAQ,CAAC,yBAAyB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClD,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,+BAA+B,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3D,CAAC;AAKF,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC;AAExC,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,oBAAoB,CAAC;AAElE,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,QAAQ,CAAC;AAEpD,MAAM,MAAM,qBAAqB,GAAG;IAChC,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;IACvC,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACjC,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,4BAA4B,EAAE,MAAM,CAAC;CACjD,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC3B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACpC,QAAQ,CAAC,SAAS,EAAE,qBAAqB,CAAC;IAC1C,QAAQ,CAAC,SAAS,EAAE,YAAY,GAAG,IAAI,CAAC;IACxC,QAAQ,CAAC,aAAa,EAAE,sBAAsB,CAAC;IAC/C,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CACnC;KACK,QAAQ,IAAI,MAAM,yBAAyB,GAAG,yBAAyB,CAAC,QAAQ,CAAC;CACrF,CACJ,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;AAE3E,MAAM,MAAM,SAAS,GAAG;IACpB,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,cAAc,EAAE,iBAAiB,CAAC;IAC3C,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;IACjC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACrB,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC;IACxC,QAAQ,CAAC,oBAAoB,EAAE,OAAO,GAAG,IAAI,CAAC;IAC9C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,uBAAuB,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC5D,QAAQ,CAAC,yCAAyC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACrB,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACnB,QAAQ,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,CAAC;IACxC,QAAQ,CAAC,WAAW,EAAE,mBAAmB,CAAC;IAC1C,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,eAAe,EAAE,uBAAuB,CAAC;CACrD,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACvB,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;IAC7C,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAC9B,QAAQ,CAAC,IAAI,EAAE;QACX,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;KAC5B,CAAC;IACF,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC5B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,mBAAmB,EAAE,sBAAsB,CAAC;IACrD,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;IACnC,QAAQ,CAAC,aAAa,EAAE,gBAAgB,CAAC;IACzC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACtB,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACtC,QAAQ,CAAC,UAAU,EAAE,MAAM,MAAM,CAAC;IAClC,QAAQ,CAAC,0BAA0B,EAAE,CAAC,OAAO,EAAE,2BAA2B,KAAK,uBAAuB,CAAC;IACvG,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE;QACX,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;KAC5B,CAAC;IACF,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAChD,QAAQ,CAAC,aAAa,EAAE,MAAM,MAAM,CAAC;IACrC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC1B,QAAQ,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;IAChE,QAAQ,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;CAC7D,CAAC;AAEF,wBAAgB,4BAA4B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAW/E"}
1
+ {"version":3,"file":"run-types.d.ts","sourceRoot":"","sources":["../../../../source/run/run-types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"run-types.js","sourceRoot":"","sources":["../../../../source/run/run-types.ts"],"names":[],"mappings":"AAgDA,MAAM,qBAAqB,GAAG,oBAAoB,CAAC;AACnD,MAAM,4BAA4B,GAAG,WAAW,CAAC;AA8IjD,MAAM,UAAU,4BAA4B,CAAC,WAAmB;IAC5D,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC3C,OAAO,yBAAyB,WAAW,KAAK;YAC5C,kFAAkF,CAAC;IAC3F,CAAC;IAED,IAAI,WAAW,KAAK,4BAA4B,EAAE,CAAC;QAC/C,OAAO,oGAAoG,CAAC;IAChH,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"run-types.js","sourceRoot":"","sources":["../../../../source/run/run-types.ts"],"names":[],"mappings":"AAiEA,MAAM,qBAAqB,GAAG,oBAAoB,CAAC;AACnD,MAAM,4BAA4B,GAAG,WAAW,CAAC;AA4LjD,MAAM,UAAU,4BAA4B,CAAC,WAAmB;IAC5D,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC3C,OAAO,yBAAyB,WAAW,KAAK;YAC5C,kFAAkF,CAAC;IAC3F,CAAC;IAED,IAAI,WAAW,KAAK,4BAA4B,EAAE,CAAC;QAC/C,OAAO,oGAAoG,CAAC;IAChH,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC"}
@@ -0,0 +1,122 @@
1
+ import { discoverRunFiles } from "./run-discovery.js";
2
+ import { assertSupportedProcessEngine as assertSupportedProcessEngineSelection } from "./run-process-engine.js";
3
+ import { invalidRequest, noTestsCollected, unsupportedRequest } from "./run-errors.js";
4
+ import { validateRunEngineSelection } from "./run-engine-selection.js";
5
+ import { invalidRunProfileNameMessage } from "./run-types.js";
6
+ const minimumSeedValue = 0n;
7
+ function validateRunShard(request) {
8
+ if (request.shard.index !== 0 || request.shard.total !== 1) {
9
+ unsupportedRequest('Sharding is not implemented yet.');
10
+ }
11
+ }
12
+ function validateRunSeed(request) {
13
+ if (request.seed.value !== null && request.seed.value < minimumSeedValue) {
14
+ invalidRequest('Run seed must be a nonnegative bigint.');
15
+ }
16
+ }
17
+ function validatePositiveSafeInteger(value, label) {
18
+ if (value !== null && (!Number.isSafeInteger(value) || value <= 0)) {
19
+ invalidRequest(`${label} must be a positive safe integer.`);
20
+ }
21
+ }
22
+ function validateResourceBudgets(resourceBudgets) {
23
+ validatePositiveSafeInteger(resourceBudgets.activeResourceCount, 'Active resource count budget');
24
+ validatePositiveSafeInteger(resourceBudgets.javaScriptEngineHeapBytes, 'JavaScript engine heap budget');
25
+ validatePositiveSafeInteger(resourceBudgets.residentSetBytes, 'Resident set budget');
26
+ validatePositiveSafeInteger(resourceBudgets.residentSetGrowthBytesPerSecond, 'Resident set growth budget');
27
+ }
28
+ function validateSamplingInterval(value) {
29
+ validatePositiveSafeInteger(value, 'Resource usage sampling interval');
30
+ }
31
+ function validateTimeoutPolicy(policy) {
32
+ validatePositiveSafeInteger(policy.collectionMilliseconds, 'Collection timeout');
33
+ validatePositiveSafeInteger(policy.softMilliseconds, 'Soft timeout');
34
+ validatePositiveSafeInteger(policy.hardMilliseconds, 'Hard timeout');
35
+ if (policy.softMilliseconds > policy.hardMilliseconds) {
36
+ invalidRequest('Soft timeout must not exceed hard timeout.');
37
+ }
38
+ }
39
+ function hasResourceBudgets(resourceBudgets) {
40
+ return resourceBudgets.activeResourceCount !== null ||
41
+ resourceBudgets.javaScriptEngineHeapBytes !== null ||
42
+ resourceBudgets.residentSetBytes !== null ||
43
+ resourceBudgets.residentSetGrowthBytesPerSecond !== null;
44
+ }
45
+ function validateRunResourceUsageRequest(request) {
46
+ if (request.resourceBudgetOverrides !== null) {
47
+ validateResourceBudgets(request.resourceBudgetOverrides);
48
+ }
49
+ validateSamplingInterval(request.resourceUsageSamplingIntervalMilliseconds);
50
+ if (request.measureResourceUsage === false &&
51
+ request.resourceBudgetOverrides !== null &&
52
+ hasResourceBudgets(request.resourceBudgetOverrides)) {
53
+ invalidRequest('Resource budget overrides require resource usage measurement.');
54
+ }
55
+ }
56
+ function assertValidRunProfileName(profileName) {
57
+ const message = invalidRunProfileNameMessage(profileName);
58
+ if (message !== null) {
59
+ invalidRequest(message);
60
+ }
61
+ }
62
+ function validateRunRequest(request) {
63
+ assertValidRunProfileName(request.profile);
64
+ if (request.paths.length === 0) {
65
+ noTestsCollected('No explicit run paths were provided.');
66
+ }
67
+ validateRunShard(request);
68
+ validateRunSeed(request);
69
+ validateRunResourceUsageRequest(request);
70
+ }
71
+ async function validateRunPaths(command) {
72
+ await discoverRunFiles({
73
+ cwd: command.cwd,
74
+ paths: command.request.paths
75
+ });
76
+ }
77
+ function validateRunCommand(command) {
78
+ validateRunEngineSelection(command.engine);
79
+ }
80
+ export function validateRunResourceUsagePolicy(policy) {
81
+ validateResourceBudgets(policy.budgets);
82
+ validateSamplingInterval(policy.samplingIntervalMilliseconds);
83
+ if (!policy.measure && hasResourceBudgets(policy.budgets)) {
84
+ invalidRequest('Resource budgets require resource usage measurement.');
85
+ }
86
+ }
87
+ function validateRunMicrotestProfile(profile) {
88
+ validateRunResourceUsagePolicy(profile.resourceUsage);
89
+ validateTimeoutPolicy(profile.timeouts);
90
+ }
91
+ const runProfileValidators = {
92
+ microtest: validateRunMicrotestProfile
93
+ };
94
+ function readProfileTestFamily(profile) {
95
+ return profile.testFamily;
96
+ }
97
+ function isRunTestFamily(value) {
98
+ return value === 'microtest';
99
+ }
100
+ function validateRunProfile(profileName, profile) {
101
+ const testFamily = readProfileTestFamily(profile);
102
+ if (!isRunTestFamily(testFamily)) {
103
+ invalidRequest(`Invalid run profile "${profileName}": testFamily must be "microtest".`);
104
+ }
105
+ runProfileValidators[testFamily](profile);
106
+ }
107
+ function validateRunConfig(config) {
108
+ for (const [profileName, profile] of Object.entries(config.profiles)) {
109
+ assertValidRunProfileName(profileName);
110
+ validateRunProfile(profileName, profile);
111
+ }
112
+ }
113
+ export async function validateRunInput(command) {
114
+ validateRunCommand(command);
115
+ validateRunRequest(command.request);
116
+ validateRunConfig(command.config);
117
+ await validateRunPaths(command);
118
+ }
119
+ export function assertSupportedProcessEngine(command, profile) {
120
+ assertSupportedProcessEngineSelection(command, profile);
121
+ }
122
+ //# sourceMappingURL=run-validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-validation.js","sourceRoot":"","sources":["../../../../source/run/run-validation.ts"],"names":[],"mappings":"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"}