@overkill-dev/run 0.0.9 → 0.0.11

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 (76) hide show
  1. package/engine/engine.d.ts +27 -0
  2. package/engine/engine.d.ts.map +1 -0
  3. package/engine/engine.js +40 -0
  4. package/engine/engine.js.map +1 -0
  5. package/engine/execution-result.js +77 -0
  6. package/engine/execution-result.js.map +1 -0
  7. package/engine/execution.d.ts +2 -1
  8. package/engine/execution.d.ts.map +1 -1
  9. package/engine/execution.js +23 -76
  10. package/engine/execution.js.map +1 -1
  11. package/engine/identity.d.ts +1 -1
  12. package/engine/identity.d.ts.map +1 -1
  13. package/engine/identity.js +16 -1
  14. package/engine/identity.js.map +1 -1
  15. package/engine/run-if-main.d.ts +28 -0
  16. package/engine/run-if-main.d.ts.map +1 -0
  17. package/engine/run-if-main.js +46 -0
  18. package/engine/run-if-main.js.map +1 -0
  19. package/engine/run-result.d.ts +22 -0
  20. package/engine/run-result.d.ts.map +1 -1
  21. package/engine/run-result.js.map +1 -1
  22. package/engine/test-node.d.ts +1 -0
  23. package/engine/test-node.d.ts.map +1 -1
  24. package/engine/test-node.js +137 -0
  25. package/engine/test-node.js.map +1 -0
  26. package/engine/test-plan.d.ts +11 -1
  27. package/engine/test-plan.d.ts.map +1 -1
  28. package/engine/test-plan.js +174 -0
  29. package/engine/test-plan.js.map +1 -0
  30. package/package.json +6 -2
  31. package/packages/engine/engine.entry-point.js +67 -0
  32. package/packages/engine/engine.entry-point.js.map +1 -0
  33. package/packages/run/command-line.entry-point.d.ts +1 -1
  34. package/packages/run/command-line.entry-point.d.ts.map +1 -1
  35. package/packages/run/run.entry-point.d.ts +4 -2
  36. package/packages/run/run.entry-point.d.ts.map +1 -1
  37. package/packages/run/run.entry-point.js +2 -1
  38. package/packages/run/run.entry-point.js.map +1 -1
  39. package/readme.md +23 -5
  40. package/run/command-line-command.d.ts +1 -3
  41. package/run/command-line-command.d.ts.map +1 -1
  42. package/run/command-line-command.js +4 -1
  43. package/run/command-line-command.js.map +1 -1
  44. package/run/command-line-runner.d.ts +1 -1
  45. package/run/command-line-runner.d.ts.map +1 -1
  46. package/run/command-line-runner.js +5 -3
  47. package/run/command-line-runner.js.map +1 -1
  48. package/run/command-line-unimplemented-commands.js +1 -1
  49. package/run/command-line-unimplemented-commands.js.map +1 -1
  50. package/run/default-run-engine.js +14 -0
  51. package/run/default-run-engine.js.map +1 -0
  52. package/run/resource-usage.d.ts +15 -0
  53. package/run/resource-usage.d.ts.map +1 -0
  54. package/run/resource-usage.js +107 -0
  55. package/run/resource-usage.js.map +1 -0
  56. package/run/run-config.d.ts +30 -5
  57. package/run/run-config.d.ts.map +1 -1
  58. package/run/run-config.js +62 -1
  59. package/run/run-config.js.map +1 -1
  60. package/run/run-discovery.js +75 -0
  61. package/run/run-discovery.js.map +1 -0
  62. package/run/run-errors.d.ts +16 -0
  63. package/run/run-errors.d.ts.map +1 -0
  64. package/run/run-errors.js +37 -0
  65. package/run/run-errors.js.map +1 -0
  66. package/run/run-orchestrator.d.ts +3 -0
  67. package/run/run-orchestrator.d.ts.map +1 -0
  68. package/run/run-orchestrator.js +43 -0
  69. package/run/run-orchestrator.js.map +1 -0
  70. package/run/run-test-modules.js +53 -0
  71. package/run/run-test-modules.js.map +1 -0
  72. package/run/run.d.ts +35 -13
  73. package/run/run.d.ts.map +1 -1
  74. package/run/run.js +200 -66
  75. package/run/run.js.map +1 -1
  76. package/sbom.cdx.json +4 -4
@@ -0,0 +1,53 @@
1
+ var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) {
2
+ if (typeof path === "string" && /^\.\.?\//.test(path)) {
3
+ return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
4
+ return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
5
+ });
6
+ }
7
+ return path;
8
+ };
9
+ import { invalidRequest, RunCollectionError } from "./run-errors.js";
10
+ async function importUnknownModule(href) {
11
+ return await import(__rewriteRelativeImportExtension(href));
12
+ }
13
+ function isTestModuleNamespace(value) {
14
+ return typeof value === 'object' && value !== null;
15
+ }
16
+ async function importRawTestModule(file) {
17
+ try {
18
+ return await importUnknownModule(file.href);
19
+ }
20
+ catch (error) {
21
+ throw new RunCollectionError(`Failed to load test module: ${file.file}`, { cause: error }, 'loader');
22
+ }
23
+ }
24
+ async function importTestModule(file) {
25
+ const moduleNamespace = await importRawTestModule(file);
26
+ if (!isTestModuleNamespace(moduleNamespace)) {
27
+ throw new RunCollectionError(`Test module namespace must be an object: ${file.file}`, { cause: null }, 'loader');
28
+ }
29
+ return moduleNamespace;
30
+ }
31
+ function readTestNode(moduleNamespace, file, engine) {
32
+ if (!Object.hasOwn(moduleNamespace, 'testNode')) {
33
+ invalidRequest(`Test module must export testNode: ${file.file}`);
34
+ }
35
+ const { testNode } = moduleNamespace;
36
+ if (!engine.ownsTestNode(testNode)) {
37
+ invalidRequest(`Test module testNode must be created by the selected engine: ${file.file}`);
38
+ }
39
+ return {
40
+ file: file.file,
41
+ testNode
42
+ };
43
+ }
44
+ export async function loadRunTestModules(files, engine) {
45
+ const [firstFile, ...remainingFiles] = files;
46
+ const firstTestFile = readTestNode(await importTestModule(firstFile), firstFile, engine);
47
+ const remainingTestFiles = [];
48
+ for (const file of remainingFiles) {
49
+ remainingTestFiles.push(readTestNode(await importTestModule(file), file, engine));
50
+ }
51
+ return [firstTestFile, ...remainingTestFiles];
52
+ }
53
+ //# sourceMappingURL=run-test-modules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-test-modules.js","sourceRoot":"","sources":["../../../../source/run/run-test-modules.ts"],"names":[],"mappings":";;;;;;;;AAIA,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAIrE,KAAK,UAAU,mBAAmB,CAAC,IAAY;IAC3C,OAAO,MAAM,MAAM,kCAAC,IAAI,EAAY,CAAC;AACzC,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAc;IACzC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AACvD,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,IAAuB;IACtD,IAAI,CAAC;QACD,OAAO,MAAM,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACtB,MAAM,IAAI,kBAAkB,CAAC,+BAA+B,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,QAAQ,CAAC,CAAC;IACzG,CAAC;AACL,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,IAAuB;IACnD,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAExD,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,kBAAkB,CACxB,4CAA4C,IAAI,CAAC,IAAI,EAAE,EACvD,EAAE,KAAK,EAAE,IAAI,EAAE,EACf,QAAQ,CACX,CAAC;IACN,CAAC;IAED,OAAO,eAAe,CAAC;AAC3B,CAAC;AAED,SAAS,YAAY,CAAC,eAAoC,EAAE,IAAuB,EAAE,MAAc;IAC/F,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,UAAU,CAAC,EAAE,CAAC;QAC9C,cAAc,CAAC,qCAAqC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,EAAE,QAAQ,EAAE,GAAG,eAAe,CAAC;IAErC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjC,cAAc,CAAC,gEAAgE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAChG,CAAC;IAED,OAAO;QACH,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,QAAQ;KACX,CAAC;AACN,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACpC,KAA+C,EAC/C,MAAc;IAEd,MAAM,CAAE,SAAS,EAAE,GAAG,cAAc,CAAE,GAAG,KAAK,CAAC;IAC/C,MAAM,aAAa,GAAG,YAAY,CAAC,MAAM,gBAAgB,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACzF,MAAM,kBAAkB,GAAmB,EAAE,CAAC;IAE9C,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;QAChC,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,gBAAgB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACtF,CAAC;IAED,OAAO,CAAE,aAAa,EAAE,GAAG,kBAAkB,CAAE,CAAC;AACpD,CAAC"}
package/run/run.d.ts CHANGED
@@ -1,8 +1,9 @@
1
1
  import { type SerializedValue as SerializedValueShape } from '../compare/serialized-value.ts';
2
- import { type Execute } from '../engine/execution.ts';
3
- import type { CaseId } from '../engine/identity.ts';
4
- import type { RunResult } from '../engine/run-result.ts';
2
+ import type { Execute } from '../engine/execution.ts';
3
+ import type { RunResourceUsageTracker, RunResult } from '../engine/run-result.ts';
4
+ import type { Engine } from '../engine/engine.ts';
5
5
  import type { TestPlan } from '../engine/test-plan.ts';
6
+ import type { ResourceUsageTrackerOptions } from './resource-usage.ts';
6
7
  export type SerializedValue = SerializedValueShape;
7
8
  type RunExecuteOptions = NonNullable<Parameters<Execute>[1]>;
8
9
  type RunOutputRenderer = NonNullable<RunExecuteOptions['outputRenderer']>;
@@ -26,11 +27,32 @@ export type RunDebugRequest = {
26
27
  };
27
28
  export type RunLoaderConfig = {
28
29
  readonly sourceMaps: boolean;
29
- readonly stripMode: 'strip-only' | 'transform';
30
+ readonly stripMode: 'strip-only';
31
+ };
32
+ export type RunResourceBudgets = {
33
+ readonly activeResourceCount: number | null;
34
+ readonly javaScriptEngineHeapBytes: number | null;
35
+ readonly residentSetBytes: number | null;
36
+ readonly residentSetGrowthBytesPerSecond: number | null;
37
+ };
38
+ export type ResourceBudgetOverrides = {
39
+ readonly activeResourceCount: number | null;
40
+ readonly javaScriptEngineHeapBytes: number | null;
41
+ readonly residentSetBytes: number | null;
42
+ readonly residentSetGrowthBytesPerSecond: number | null;
43
+ };
44
+ export type RunResourceUsagePolicy = {
45
+ readonly measureResourceUsage: boolean;
46
+ readonly resourceBudgets: RunResourceBudgets;
47
+ readonly resourceUsageSamplingIntervalMilliseconds: number;
48
+ };
49
+ export type RunProfilesConfig = {
50
+ readonly microtest: RunResourceUsagePolicy;
30
51
  };
31
52
  export type RunConfig = {
32
53
  readonly loader: RunLoaderConfig;
33
54
  readonly outputRenderer: RunOutputRenderer;
55
+ readonly profiles: RunProfilesConfig;
34
56
  readonly reporters: RunReporters;
35
57
  readonly runtimeStateDir: string;
36
58
  };
@@ -40,9 +62,12 @@ export type RunRequest = {
40
62
  readonly coverage: false;
41
63
  readonly debug: RunDebugRequest;
42
64
  readonly execution: RunExecutionRequest;
65
+ readonly measureResourceUsage: boolean | null;
43
66
  readonly order: 'plan';
44
67
  readonly paths: readonly string[];
45
68
  readonly profile: 'microtest';
69
+ readonly resourceBudgetOverrides: ResourceBudgetOverrides | null;
70
+ readonly resourceUsageSamplingIntervalMilliseconds: number | null;
46
71
  readonly seed: RunSeed;
47
72
  readonly selection: RunSelection;
48
73
  readonly shard: RunShard;
@@ -50,8 +75,9 @@ export type RunRequest = {
50
75
  };
51
76
  export type RunCommand = {
52
77
  readonly config: RunConfig;
78
+ readonly cwd: string;
79
+ readonly engine: Engine | null;
53
80
  readonly request: RunRequest;
54
- readonly testPlan: TestPlan;
55
81
  };
56
82
  export type RunFacts = {
57
83
  readonly cases: readonly RunCaseFacts[];
@@ -61,7 +87,7 @@ export type RunFacts = {
61
87
  readonly reproducibility: RunReproducibilityFacts;
62
88
  };
63
89
  export type RunCaseFacts = {
64
- readonly id: CaseId;
90
+ readonly id: TestPlan['cases'][number]['id'];
65
91
  readonly metadata: SerializedValue;
66
92
  };
67
93
  export type RunEnvironmentFacts = {
@@ -80,6 +106,7 @@ export type RunExecutionFacts = {
80
106
  readonly mode: 'concurrent-in-process';
81
107
  readonly order: 'plan';
82
108
  readonly profile: 'microtest';
109
+ readonly resourceUsagePolicy: RunResourceUsagePolicy;
83
110
  readonly verbose: false;
84
111
  };
85
112
  export type RunReproducibilityFacts = {
@@ -93,14 +120,10 @@ export type ResolvedRun = {
93
120
  readonly request: RunRequest;
94
121
  readonly testPlan: TestPlan;
95
122
  };
96
- export type RunResolutionErrorCode = 'invalid-request' | 'unsupported-request';
97
- export declare class RunResolutionError extends Error {
98
- private readonly errorCode;
99
- constructor(message: string, options: Readonly<ErrorOptions> | undefined, code: RunResolutionErrorCode);
100
- code(): RunResolutionErrorCode;
101
- }
102
123
  export type RunOrchestratorDependencies = {
103
124
  readonly createSeed: () => bigint;
125
+ readonly createResourceUsageTracker: (options: ResourceUsageTrackerOptions) => RunResourceUsageTracker;
126
+ readonly defaultEngine: Engine;
104
127
  readonly execute: Execute;
105
128
  readonly node: {
106
129
  readonly arch: string;
@@ -114,6 +137,5 @@ export type RunOrchestrator = {
114
137
  readonly run: (command: RunCommand) => Promise<RunResult>;
115
138
  };
116
139
  export declare function createRunOrchestrator(dependencies: RunOrchestratorDependencies): RunOrchestrator;
117
- export declare const orchestrator: RunOrchestrator;
118
140
  export {};
119
141
  //# sourceMappingURL=run.d.ts.map
package/run/run.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../../source/run/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../../source/run/run.ts"],"names":[],"mappings":"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"}
package/run/run.js CHANGED
@@ -1,32 +1,8 @@
1
- import { randomBytes } from 'node:crypto';
2
- import { createWallClock } from '@enormora/wall-clock';
3
1
  import { serializeValue } from "../compare/serialized-value.js";
4
- import { createExecute } from "../engine/execution.js";
5
- import { createReporterDispatcher } from "../engine/reporter-dispatcher.js";
2
+ import { discoverRunFiles } from "./run-discovery.js";
3
+ import { invalidRequest, RunCollectionError, unsupportedRequest } from "./run-errors.js";
4
+ import { loadRunTestModules } from "./run-test-modules.js";
6
5
  const minimumSeedValue = 0n;
7
- const seedByteLength = 8;
8
- export class RunResolutionError extends Error {
9
- errorCode;
10
- constructor(message, options, code) {
11
- super(message, options);
12
- this.name = 'RunResolutionError';
13
- this.errorCode = code;
14
- }
15
- code() {
16
- return this.errorCode;
17
- }
18
- }
19
- function unsupportedRequest(message) {
20
- throw new RunResolutionError(message, undefined, 'unsupported-request');
21
- }
22
- function invalidRequest(message) {
23
- throw new RunResolutionError(message, undefined, 'invalid-request');
24
- }
25
- function validateRunPaths(request) {
26
- if (request.paths.length > 0) {
27
- unsupportedRequest('Path discovery is not implemented yet.');
28
- }
29
- }
30
6
  function validateRunShard(request) {
31
7
  if (request.shard.index !== 0 || request.shard.total !== 1) {
32
8
  unsupportedRequest('Sharding is not implemented yet.');
@@ -37,10 +13,51 @@ function validateRunSeed(request) {
37
13
  invalidRequest('Run seed must be a nonnegative bigint.');
38
14
  }
39
15
  }
16
+ function validatePositiveSafeInteger(value, label) {
17
+ if (value !== null && (!Number.isSafeInteger(value) || value <= 0)) {
18
+ invalidRequest(`${label} must be a positive safe integer.`);
19
+ }
20
+ }
21
+ function validateResourceBudgets(resourceBudgets) {
22
+ validatePositiveSafeInteger(resourceBudgets.activeResourceCount, 'Active resource count budget');
23
+ validatePositiveSafeInteger(resourceBudgets.javaScriptEngineHeapBytes, 'JavaScript engine heap budget');
24
+ validatePositiveSafeInteger(resourceBudgets.residentSetBytes, 'Resident set budget');
25
+ validatePositiveSafeInteger(resourceBudgets.residentSetGrowthBytesPerSecond, 'Resident set growth budget');
26
+ }
27
+ function validateSamplingInterval(value) {
28
+ validatePositiveSafeInteger(value, 'Resource usage sampling interval');
29
+ }
30
+ function hasResourceBudgets(resourceBudgets) {
31
+ return resourceBudgets.activeResourceCount !== null ||
32
+ resourceBudgets.javaScriptEngineHeapBytes !== null ||
33
+ resourceBudgets.residentSetBytes !== null ||
34
+ resourceBudgets.residentSetGrowthBytesPerSecond !== null;
35
+ }
36
+ function validateRunResourceUsageRequest(request) {
37
+ if (request.resourceBudgetOverrides !== null) {
38
+ validateResourceBudgets(request.resourceBudgetOverrides);
39
+ }
40
+ validateSamplingInterval(request.resourceUsageSamplingIntervalMilliseconds);
41
+ if (request.measureResourceUsage === false &&
42
+ request.resourceBudgetOverrides !== null &&
43
+ hasResourceBudgets(request.resourceBudgetOverrides)) {
44
+ invalidRequest('Resource budget overrides require resource usage measurement.');
45
+ }
46
+ }
40
47
  function validateRunRequest(request) {
41
- validateRunPaths(request);
42
48
  validateRunShard(request);
43
49
  validateRunSeed(request);
50
+ validateRunResourceUsageRequest(request);
51
+ }
52
+ function validateRunResourceUsagePolicy(policy) {
53
+ validateResourceBudgets(policy.resourceBudgets);
54
+ validateSamplingInterval(policy.resourceUsageSamplingIntervalMilliseconds);
55
+ if (!policy.measureResourceUsage && hasResourceBudgets(policy.resourceBudgets)) {
56
+ invalidRequest('Resource budgets require resource usage measurement.');
57
+ }
58
+ }
59
+ function validateRunConfig(config) {
60
+ validateRunResourceUsagePolicy(config.profiles.microtest);
44
61
  }
45
62
  function resolvedSeed(request, dependencies) {
46
63
  return request.seed.value ?? dependencies.createSeed();
@@ -57,6 +74,32 @@ function copyRunShard(shard) {
57
74
  total: shard.total
58
75
  };
59
76
  }
77
+ function copyResourceBudgets(resourceBudgets) {
78
+ return {
79
+ activeResourceCount: resourceBudgets.activeResourceCount,
80
+ javaScriptEngineHeapBytes: resourceBudgets.javaScriptEngineHeapBytes,
81
+ residentSetBytes: resourceBudgets.residentSetBytes,
82
+ residentSetGrowthBytesPerSecond: resourceBudgets.residentSetGrowthBytesPerSecond
83
+ };
84
+ }
85
+ function copyResourceBudgetOverrides(overrides) {
86
+ if (overrides === null) {
87
+ return null;
88
+ }
89
+ return copyResourceBudgets(overrides);
90
+ }
91
+ function copyResourceUsagePolicy(policy) {
92
+ return {
93
+ measureResourceUsage: policy.measureResourceUsage,
94
+ resourceBudgets: copyResourceBudgets(policy.resourceBudgets),
95
+ resourceUsageSamplingIntervalMilliseconds: policy.resourceUsageSamplingIntervalMilliseconds
96
+ };
97
+ }
98
+ function copyRunProfilesConfig(profiles) {
99
+ return {
100
+ microtest: copyResourceUsagePolicy(profiles.microtest)
101
+ };
102
+ }
60
103
  function copyRunRequest(request) {
61
104
  return {
62
105
  baselineUpdateMode: request.baselineUpdateMode,
@@ -67,9 +110,12 @@ function copyRunRequest(request) {
67
110
  selectors: []
68
111
  },
69
112
  execution: { mode: request.execution.mode },
113
+ measureResourceUsage: request.measureResourceUsage,
70
114
  order: request.order,
71
115
  paths: Array.from(request.paths),
72
116
  profile: request.profile,
117
+ resourceBudgetOverrides: copyResourceBudgetOverrides(request.resourceBudgetOverrides),
118
+ resourceUsageSamplingIntervalMilliseconds: request.resourceUsageSamplingIntervalMilliseconds,
73
119
  seed: { value: request.seed.value },
74
120
  selection: { kind: request.selection.kind },
75
121
  shard: copyRunShard(request.shard),
@@ -80,6 +126,7 @@ function copyRunConfig(config) {
80
126
  return {
81
127
  loader: copyLoaderConfig(config.loader),
82
128
  outputRenderer: config.outputRenderer,
129
+ profiles: copyRunProfilesConfig(config.profiles),
83
130
  reporters: Array.from(config.reporters),
84
131
  runtimeStateDir: config.runtimeStateDir
85
132
  };
@@ -90,9 +137,51 @@ function runCaseFacts(metadata, id) {
90
137
  metadata: serializeValue(metadata)
91
138
  };
92
139
  }
93
- function createRunFacts(command, request, config, dependencies) {
140
+ function disabledResourceBudgets() {
141
+ return {
142
+ activeResourceCount: null,
143
+ javaScriptEngineHeapBytes: null,
144
+ residentSetBytes: null,
145
+ residentSetGrowthBytesPerSecond: null
146
+ };
147
+ }
148
+ function readBudgetOverride(configValue, requestValue) {
149
+ return requestValue ?? configValue;
150
+ }
151
+ function resolveResourceBudgets(configBudgets, requestOverrides) {
152
+ if (requestOverrides === null) {
153
+ return copyResourceBudgets(configBudgets);
154
+ }
155
+ return {
156
+ activeResourceCount: readBudgetOverride(configBudgets.activeResourceCount, requestOverrides.activeResourceCount),
157
+ javaScriptEngineHeapBytes: readBudgetOverride(configBudgets.javaScriptEngineHeapBytes, requestOverrides.javaScriptEngineHeapBytes),
158
+ residentSetBytes: readBudgetOverride(configBudgets.residentSetBytes, requestOverrides.residentSetBytes),
159
+ residentSetGrowthBytesPerSecond: readBudgetOverride(configBudgets.residentSetGrowthBytesPerSecond, requestOverrides.residentSetGrowthBytesPerSecond)
160
+ };
161
+ }
162
+ function assertResourceBudgetOverridesAllowed(measureResourceUsage, requestOverrides) {
163
+ if (!measureResourceUsage && requestOverrides !== null && hasResourceBudgets(requestOverrides)) {
164
+ invalidRequest('Resource budget overrides require resource usage measurement.');
165
+ }
166
+ }
167
+ function resolveResourceUsagePolicy(request, config) {
168
+ const configuredPolicy = config.profiles.microtest;
169
+ const measureResourceUsage = request.measureResourceUsage ?? configuredPolicy.measureResourceUsage;
170
+ const resourceUsageSamplingIntervalMilliseconds = request.resourceUsageSamplingIntervalMilliseconds ??
171
+ configuredPolicy.resourceUsageSamplingIntervalMilliseconds;
172
+ const resourceBudgets = measureResourceUsage
173
+ ? resolveResourceBudgets(configuredPolicy.resourceBudgets, request.resourceBudgetOverrides)
174
+ : disabledResourceBudgets();
175
+ assertResourceBudgetOverridesAllowed(measureResourceUsage, request.resourceBudgetOverrides);
176
+ return {
177
+ measureResourceUsage,
178
+ resourceBudgets,
179
+ resourceUsageSamplingIntervalMilliseconds
180
+ };
181
+ }
182
+ function createRunFacts(testPlan, request, config, dependencies) {
94
183
  return {
95
- cases: command.testPlan.cases.map(function toRunCaseFacts(testCase) {
184
+ cases: testPlan.cases.map(function toRunCaseFacts(testCase) {
96
185
  return runCaseFacts(testCase.metadata, testCase.id);
97
186
  }),
98
187
  environment: {
@@ -111,6 +200,7 @@ function createRunFacts(command, request, config, dependencies) {
111
200
  mode: request.execution.mode,
112
201
  order: request.order,
113
202
  profile: request.profile,
203
+ resourceUsagePolicy: resolveResourceUsagePolicy(request, config),
114
204
  verbose: request.verbose
115
205
  },
116
206
  loader: config.loader,
@@ -129,65 +219,109 @@ function freezeValue(value) {
129
219
  }
130
220
  return value;
131
221
  }
132
- function createResolvedRun(command, dependencies) {
222
+ function resolveRunEngine(command, dependencies) {
223
+ return command.engine ?? dependencies.defaultEngine;
224
+ }
225
+ async function createTestPlan(command, dependencies) {
226
+ const engine = resolveRunEngine(command, dependencies);
227
+ const files = await discoverRunFiles({ cwd: command.cwd, paths: command.request.paths });
228
+ const testFiles = await loadRunTestModules(files, engine);
229
+ try {
230
+ return engine.createTestPlanFromTestFiles({
231
+ files: testFiles,
232
+ root: {
233
+ metadata: {},
234
+ name: command.cwd
235
+ }
236
+ });
237
+ }
238
+ catch (error) {
239
+ throw new RunCollectionError('Failed to collect tests from explicit run inputs.', { cause: error }, 'loader');
240
+ }
241
+ }
242
+ async function createResolvedRun(command, dependencies) {
133
243
  validateRunRequest(command.request);
244
+ validateRunConfig(command.config);
134
245
  const request = freezeValue(copyRunRequest(command.request));
135
246
  const config = freezeValue(copyRunConfig(command.config));
136
- const facts = freezeValue(createRunFacts(command, request, config, dependencies));
247
+ const testPlan = await createTestPlan(command, dependencies);
248
+ const facts = freezeValue(createRunFacts(testPlan, request, config, dependencies));
137
249
  return freezeValue({
138
250
  config,
139
251
  facts,
140
252
  reporters: config.reporters,
141
253
  request,
142
- testPlan: command.testPlan
254
+ testPlan
255
+ });
256
+ }
257
+ function assertRunnableResourceUsagePolicy(policy) {
258
+ if (hasResourceBudgets(policy.resourceBudgets)) {
259
+ unsupportedRequest('Resource budget enforcement is not implemented yet.');
260
+ }
261
+ }
262
+ function createExecutionResourceUsageTracker(policy, dependencies) {
263
+ if (!policy.measureResourceUsage) {
264
+ return null;
265
+ }
266
+ return dependencies.createResourceUsageTracker({
267
+ samplingIntervalMilliseconds: policy.resourceUsageSamplingIntervalMilliseconds
143
268
  });
144
269
  }
270
+ function createCollectionErrorRunResult(error) {
271
+ return {
272
+ artifacts: [],
273
+ bySuite: {},
274
+ orphans: [],
275
+ perTest: [],
276
+ resourceUsage: null,
277
+ runnerErrors: [error.runnerError()],
278
+ summary: {
279
+ defined: 0,
280
+ discovered: 0,
281
+ failed: 0,
282
+ inconclusive: 0,
283
+ passed: 0,
284
+ planned: 0,
285
+ skipped: 0
286
+ },
287
+ wallTimeMs: 0
288
+ };
289
+ }
290
+ function isRunResult(value) {
291
+ return Object.hasOwn(value, 'summary');
292
+ }
293
+ async function createResolvedRunOrCollectionErrorResult(command, dependencies) {
294
+ try {
295
+ return await createResolvedRun(command, dependencies);
296
+ }
297
+ catch (error) {
298
+ if (error instanceof RunCollectionError) {
299
+ return createCollectionErrorRunResult(error);
300
+ }
301
+ throw error;
302
+ }
303
+ }
145
304
  export function createRunOrchestrator(dependencies) {
146
305
  return {
147
306
  async resolve(command) {
148
- return createResolvedRun(command, dependencies);
307
+ return await createResolvedRun(command, dependencies);
149
308
  },
150
309
  async run(command) {
151
- const resolvedRun = createResolvedRun(command, dependencies);
310
+ const resolvedRun = await createResolvedRunOrCollectionErrorResult(command, dependencies);
311
+ if (isRunResult(resolvedRun)) {
312
+ return resolvedRun;
313
+ }
314
+ const { resourceUsagePolicy } = resolvedRun.facts.execution;
315
+ assertRunnableResourceUsagePolicy(resourceUsagePolicy);
152
316
  return await dependencies.execute(resolvedRun.testPlan, {
153
317
  execution: { mode: 'concurrent-in-process' },
154
318
  outputRenderer: resolvedRun.config.outputRenderer,
155
319
  reporters: resolvedRun.reporters,
320
+ resourceUsageTracker: createExecutionResourceUsageTracker(resourceUsagePolicy, dependencies),
156
321
  runFacts: resolvedRun.facts,
157
322
  startedAt: dependencies.readStartedAt()
158
323
  });
159
324
  }
160
325
  };
161
326
  }
162
- function createDefaultSeed() {
163
- return randomBytes(seedByteLength).readBigUInt64BE();
164
- }
165
- const defaultWallClock = createWallClock();
166
- function writeStdoutLine(line) {
167
- process.stdout.write(`${line}\n`);
168
- }
169
- function writeStderrLine(line) {
170
- process.stderr.write(`${line}\n`);
171
- }
172
- const defaultRunOrchestrator = createRunOrchestrator({
173
- createSeed: createDefaultSeed,
174
- execute: createExecute({
175
- reporterDispatcher: createReporterDispatcher({
176
- stderr: { writeLine: writeStderrLine },
177
- stdout: { writeLine: writeStdoutLine },
178
- wallClock: defaultWallClock
179
- }),
180
- wallClock: defaultWallClock
181
- }),
182
- node: {
183
- arch: process.arch,
184
- platform: process.platform,
185
- version: process.versions.node
186
- },
187
- readStartedAt() {
188
- const startedAt = new Date(defaultWallClock.currentTimestampInMilliseconds);
189
- return startedAt.toISOString();
190
- }
191
- });
192
- export const orchestrator = defaultRunOrchestrator;
193
327
  //# sourceMappingURL=run.js.map
package/run/run.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../../source/run/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../../source/run/run.ts"],"names":[],"mappings":"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"}
package/sbom.cdx.json CHANGED
@@ -16,9 +16,9 @@
16
16
  "component": {
17
17
  "type": "library",
18
18
  "name": "@overkill-dev/run",
19
- "version": "0.0.9",
20
- "bom-ref": "pkg:npm/@overkill-dev/run@0.0.9",
21
- "purl": "pkg:npm/@overkill-dev/run@0.0.9"
19
+ "version": "0.0.11",
20
+ "bom-ref": "pkg:npm/@overkill-dev/run@0.0.11",
21
+ "purl": "pkg:npm/@overkill-dev/run@0.0.11"
22
22
  }
23
23
  },
24
24
  "components": [
@@ -132,7 +132,7 @@
132
132
  "ref": "pkg:npm/@enormora/wall-clock@0.0.3"
133
133
  },
134
134
  {
135
- "ref": "pkg:npm/@overkill-dev/run@0.0.9",
135
+ "ref": "pkg:npm/@overkill-dev/run@0.0.11",
136
136
  "dependsOn": [
137
137
  "pkg:npm/@enormora/wall-clock@0.0.3",
138
138
  "pkg:npm/@schema-hub/zod-error-formatter@0.0.16",