@overkill-dev/run 0.0.18 → 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 (49) hide show
  1. package/engine/execution-supervision.d.ts.map +1 -1
  2. package/engine/execution-supervision.js +1 -11
  3. package/engine/execution-supervision.js.map +1 -1
  4. package/engine/resource-usage-growth.js +12 -0
  5. package/engine/resource-usage-growth.js.map +1 -0
  6. package/package.json +2 -1
  7. package/packages/run/run.entry-point.d.ts +1 -1
  8. package/packages/run/run.entry-point.d.ts.map +1 -1
  9. package/readme.md +10 -5
  10. package/run/collected-run-plan.js +100 -0
  11. package/run/collected-run-plan.js.map +1 -0
  12. package/run/command-line-runner.js +1 -1
  13. package/run/command-line-runner.js.map +1 -1
  14. package/run/run-config-schema.d.ts +5 -0
  15. package/run/run-config-schema.d.ts.map +1 -1
  16. package/run/run-config-schema.js +1 -0
  17. package/run/run-config-schema.js.map +1 -1
  18. package/run/run-config.d.ts.map +1 -1
  19. package/run/run-config.js +8 -2
  20. package/run/run-config.js.map +1 -1
  21. package/run/run-engine-selection.js +92 -0
  22. package/run/run-engine-selection.js.map +1 -0
  23. package/run/run-facts.js +103 -0
  24. package/run/run-facts.js.map +1 -0
  25. package/run/run-local-test-plan.js +25 -0
  26. package/run/run-local-test-plan.js.map +1 -0
  27. package/run/run-process-engine.js +40 -0
  28. package/run/run-process-engine.js.map +1 -0
  29. package/run/run-support.js +32 -0
  30. package/run/run-support.js.map +1 -1
  31. package/run/run-test-plan.js +20 -0
  32. package/run/run-test-plan.js.map +1 -0
  33. package/run/run-types.d.ts +54 -3
  34. package/run/run-types.d.ts.map +1 -1
  35. package/run/run-types.js.map +1 -1
  36. package/run/run-validation.js +122 -0
  37. package/run/run-validation.js.map +1 -0
  38. package/run/run.js +129 -227
  39. package/run/run.js.map +1 -1
  40. package/run/supervised-child-process.js +8 -8
  41. package/run/supervised-child-process.js.map +1 -1
  42. package/run/supervised-run-resource-policy.js +64 -0
  43. package/run/supervised-run-resource-policy.js.map +1 -0
  44. package/run/supervised-run-runtime.js +257 -0
  45. package/run/supervised-run-runtime.js.map +1 -0
  46. package/run/supervised-run-state.js.map +1 -1
  47. package/run/supervised-run.js +206 -246
  48. package/run/supervised-run.js.map +1 -1
  49. package/sbom.cdx.json +4 -4
@@ -0,0 +1,103 @@
1
+ import { serializeValue } from "../compare/serialized-value.js";
2
+ import { invalidRequest } from "./run-errors.js";
3
+ import { copyResourceBudgets, runEngineFacts } from "./run-support.js";
4
+ function disabledResourceBudgets() {
5
+ return {
6
+ activeResourceCount: null,
7
+ javaScriptEngineHeapBytes: null,
8
+ residentSetBytes: null,
9
+ residentSetGrowthBytesPerSecond: null
10
+ };
11
+ }
12
+ function readBudgetOverride(configValue, requestValue) {
13
+ return requestValue ?? configValue;
14
+ }
15
+ function resolveResourceBudgets(configBudgets, requestOverrides) {
16
+ if (requestOverrides === null) {
17
+ return copyResourceBudgets(configBudgets);
18
+ }
19
+ return {
20
+ activeResourceCount: readBudgetOverride(configBudgets.activeResourceCount, requestOverrides.activeResourceCount),
21
+ javaScriptEngineHeapBytes: readBudgetOverride(configBudgets.javaScriptEngineHeapBytes, requestOverrides.javaScriptEngineHeapBytes),
22
+ residentSetBytes: readBudgetOverride(configBudgets.residentSetBytes, requestOverrides.residentSetBytes),
23
+ residentSetGrowthBytesPerSecond: readBudgetOverride(configBudgets.residentSetGrowthBytesPerSecond, requestOverrides.residentSetGrowthBytesPerSecond)
24
+ };
25
+ }
26
+ function hasResourceBudgets(resourceBudgets) {
27
+ return resourceBudgets.activeResourceCount !== null ||
28
+ resourceBudgets.javaScriptEngineHeapBytes !== null ||
29
+ resourceBudgets.residentSetBytes !== null ||
30
+ resourceBudgets.residentSetGrowthBytesPerSecond !== null;
31
+ }
32
+ function assertResourceBudgetOverridesAllowed(measureResourceUsage, requestOverrides) {
33
+ if (!measureResourceUsage && requestOverrides !== null && hasResourceBudgets(requestOverrides)) {
34
+ invalidRequest('Resource budget overrides require resource usage measurement.');
35
+ }
36
+ }
37
+ export function selectedProfile(request, config) {
38
+ const profile = config.profiles[request.profile];
39
+ if (profile === undefined) {
40
+ invalidRequest(`Unknown run profile: ${request.profile}`);
41
+ }
42
+ return profile;
43
+ }
44
+ export function resolveResourceUsagePolicy(request, profile) {
45
+ const configuredPolicy = profile.resourceUsage;
46
+ const measureResourceUsage = request.measureResourceUsage ?? configuredPolicy.measure;
47
+ const resourceUsageSamplingIntervalMilliseconds = request.resourceUsageSamplingIntervalMilliseconds ??
48
+ configuredPolicy.samplingIntervalMilliseconds;
49
+ const resourceBudgets = measureResourceUsage
50
+ ? resolveResourceBudgets(configuredPolicy.budgets, request.resourceBudgetOverrides)
51
+ : disabledResourceBudgets();
52
+ assertResourceBudgetOverridesAllowed(measureResourceUsage, request.resourceBudgetOverrides);
53
+ return {
54
+ budgets: resourceBudgets,
55
+ measure: measureResourceUsage,
56
+ samplingIntervalMilliseconds: resourceUsageSamplingIntervalMilliseconds
57
+ };
58
+ }
59
+ function resolvedSeed(request, dependencies) {
60
+ return request.seed.value ?? dependencies.createSeed();
61
+ }
62
+ function runCaseFacts(metadata, id) {
63
+ return { id, metadata };
64
+ }
65
+ export function runCaseFactsFromTestPlan(testPlan) {
66
+ return testPlan.cases.map(function toRunCaseFacts(testCase) {
67
+ return runCaseFacts(serializeValue(testCase.metadata), testCase.id);
68
+ });
69
+ }
70
+ export function createRunFacts(input) {
71
+ const profile = selectedProfile(input.request, input.config);
72
+ return {
73
+ cases: input.cases,
74
+ environment: {
75
+ node: {
76
+ arch: input.dependencies.node.arch,
77
+ platform: input.dependencies.node.platform,
78
+ version: input.dependencies.node.version
79
+ },
80
+ runtimeStateDir: input.config.runtimeStateDir
81
+ },
82
+ execution: {
83
+ baselineUpdateMode: input.request.baselineUpdateMode,
84
+ capture: input.request.capture,
85
+ debug: input.request.debug,
86
+ engine: runEngineFacts(input.engine),
87
+ order: input.request.order,
88
+ processModel: profile.execution.processModel,
89
+ profile: input.request.profile,
90
+ resourceUsagePolicy: resolveResourceUsagePolicy(input.request, profile),
91
+ scheduling: profile.execution.scheduling,
92
+ testFamily: profile.testFamily,
93
+ timeoutPolicy: profile.timeouts,
94
+ verbose: input.request.verbose
95
+ },
96
+ loader: input.config.loader,
97
+ reproducibility: {
98
+ seed: resolvedSeed(input.request, input.dependencies).toString(),
99
+ shard: input.request.shard
100
+ }
101
+ };
102
+ }
103
+ //# sourceMappingURL=run-facts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-facts.js","sourceRoot":"","sources":["../../../../source/run/run-facts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { RunCollectionError } from "./run-errors.js";
2
+ import { resolveRunEngine } from "./run-engine-selection.js";
3
+ import { createRunTestPlan } from "./run-test-plan.js";
4
+ async function createTestPlan(command, dependencies) {
5
+ const engine = await resolveRunEngine(command.engine, dependencies);
6
+ return await createRunTestPlan({ cwd: command.cwd, engine, paths: command.request.paths });
7
+ }
8
+ export async function createLocalTestPlan(command, profile, dependencies) {
9
+ let rejectCollection = function ignoreReject() {
10
+ return undefined;
11
+ };
12
+ const collectionTimeout = new Promise(function rejectOnCollectionTimeout(_resolve, reject) {
13
+ rejectCollection = reject;
14
+ });
15
+ const timeout = dependencies.wallClock.setTimeout(function failTimedOutCollection() {
16
+ rejectCollection(new RunCollectionError('Collection exceeded collection timeout.', { cause: null }, 'loader'));
17
+ }, profile.timeouts.collectionMilliseconds);
18
+ try {
19
+ return await Promise.race([createTestPlan(command, dependencies), collectionTimeout]);
20
+ }
21
+ finally {
22
+ dependencies.wallClock.clearTimeout(timeout);
23
+ }
24
+ }
25
+ //# sourceMappingURL=run-local-test-plan.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-local-test-plan.js","sourceRoot":"","sources":["../../../../source/run/run-local-test-plan.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAGvD,KAAK,UAAU,cAAc,CAAC,OAAmB,EAAE,YAAyC;IACxF,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAEpE,OAAO,MAAM,iBAAiB,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;AAC/F,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACrC,OAAmB,EACnB,OAAkC,EAClC,YAAyC;IAEzC,IAAI,gBAAgB,GAAwC,SAAS,YAAY;QAC7E,OAAO,SAAS,CAAC;IACrB,CAAC,CAAC;IACF,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,YAAY,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,sBAAsB;QAC7E,gBAAgB,CACZ,IAAI,kBAAkB,CAClB,yCAAyC,EACzC,EAAE,KAAK,EAAE,IAAI,EAAE,EACf,QAAQ,CACX,CACJ,CAAC;IACN,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;IAE5C,IAAI,CAAC;QACD,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAE,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,iBAAiB,CAAE,CAAC,CAAC;IAC5F,CAAC;YAAS,CAAC;QACP,YAAY,CAAC,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;AACL,CAAC"}
@@ -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"}
@@ -34,6 +34,7 @@ function copyResourceUsagePolicy(policy) {
34
34
  }
35
35
  function copyTimeoutPolicy(policy) {
36
36
  return {
37
+ collectionMilliseconds: policy.collectionMilliseconds,
37
38
  hardMilliseconds: policy.hardMilliseconds,
38
39
  softMilliseconds: policy.softMilliseconds
39
40
  };
@@ -89,6 +90,37 @@ export function copyRunConfig(config) {
89
90
  runtimeStateDir: config.runtimeStateDir
90
91
  };
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
+ }
92
124
  export function createRunRuntimePolicy(request, dependencies) {
93
125
  return request.capabilityRestrictions.mode === 'enabled'
94
126
  ? createRuntimeCapabilityPolicy({
@@ -1 +1 @@
1
- {"version":3,"file":"run-support.js","sourceRoot":"","sources":["../../../../source/run/run-support.ts"],"names":[],"mappings":"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"}
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,7 +3,7 @@ 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
8
  import type { RuntimeCapabilityPolicyDependencies } from './capability-policy.ts';
9
9
  import type { ResourceUsageTrackerOptions } from './resource-usage.ts';
@@ -11,6 +11,17 @@ export type SerializedValue = SerializedValueShape;
11
11
  type RunExecuteOptions = NonNullable<Parameters<Execute>[1]>;
12
12
  type RunOutputRenderer = NonNullable<RunExecuteOptions['outputRenderer']>;
13
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
+ };
14
25
  export type RunSelection = {
15
26
  readonly kind: 'all';
16
27
  };
@@ -54,6 +65,7 @@ export type RunResourceUsagePolicy = {
54
65
  readonly samplingIntervalMilliseconds: number;
55
66
  };
56
67
  export type RunTimeoutPolicy = {
68
+ readonly collectionMilliseconds: number;
57
69
  readonly hardMilliseconds: number;
58
70
  readonly softMilliseconds: number;
59
71
  };
@@ -95,7 +107,7 @@ export type RunRequest = {
95
107
  export type RunCommand = {
96
108
  readonly config: RunConfig;
97
109
  readonly cwd: string;
98
- readonly engine: Engine | null;
110
+ readonly engine: RunEngineSelection;
99
111
  readonly request: RunRequest;
100
112
  };
101
113
  export type RunFacts = {
@@ -121,6 +133,7 @@ export type RunExecutionFacts = {
121
133
  readonly baselineUpdateMode: 'none';
122
134
  readonly capture: 'buffered' | 'live';
123
135
  readonly debug: RunDebugRequest;
136
+ readonly engine: RunEngineFacts;
124
137
  readonly order: 'plan';
125
138
  readonly processModel: RunProcessModel;
126
139
  readonly profile: string;
@@ -134,13 +147,51 @@ export type RunReproducibilityFacts = {
134
147
  readonly seed: string;
135
148
  readonly shard: RunShard;
136
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
+ };
137
186
  export type ResolvedRun = {
187
+ readonly collectionRunnerErrors: readonly RunResult['runnerErrors'][number][];
138
188
  readonly config: RunConfig;
139
189
  readonly cwd: string;
190
+ readonly engine: RunEngineSelection;
140
191
  readonly facts: RunFacts;
192
+ readonly plan: ResolvedRunPlan;
141
193
  readonly reporters: RunReporters;
142
194
  readonly request: RunRequest;
143
- readonly testPlan: TestPlan;
144
195
  };
145
196
  export type RunOrchestratorDependencies = {
146
197
  readonly createSeed: () => bigint;
@@ -1 +1 @@
1
- {"version":3,"file":"run-types.d.ts","sourceRoot":"","sources":["../../../../source/run/run-types.ts"],"names":[],"mappings":"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"}
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":"AAqDA,MAAM,qBAAqB,GAAG,oBAAoB,CAAC;AACnD,MAAM,4BAA4B,GAAG,WAAW,CAAC;AA+IjD,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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"}