@overkill-dev/run 0.0.10 → 0.0.12

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 (90) hide show
  1. package/diff/diff-shape.d.ts +7 -2
  2. package/diff/diff-shape.d.ts.map +1 -1
  3. package/engine/assertion-recorder.js +242 -0
  4. package/engine/assertion-recorder.js.map +1 -0
  5. package/engine/case-execution.js +31 -247
  6. package/engine/case-execution.js.map +1 -1
  7. package/engine/engine.d.ts +27 -0
  8. package/engine/engine.d.ts.map +1 -0
  9. package/engine/engine.js +40 -0
  10. package/engine/engine.js.map +1 -0
  11. package/engine/execution-result.js +12 -4
  12. package/engine/execution-result.js.map +1 -1
  13. package/engine/execution-supervision.d.ts +50 -0
  14. package/engine/execution-supervision.d.ts.map +1 -0
  15. package/engine/execution-supervision.js +316 -0
  16. package/engine/execution-supervision.js.map +1 -0
  17. package/engine/execution.d.ts +4 -1
  18. package/engine/execution.d.ts.map +1 -1
  19. package/engine/execution.js +70 -61
  20. package/engine/execution.js.map +1 -1
  21. package/engine/identity.d.ts +1 -1
  22. package/engine/identity.d.ts.map +1 -1
  23. package/engine/identity.js +16 -1
  24. package/engine/identity.js.map +1 -1
  25. package/engine/reporter.d.ts +3 -3
  26. package/engine/reporter.d.ts.map +1 -1
  27. package/engine/run-if-main.d.ts +28 -0
  28. package/engine/run-if-main.d.ts.map +1 -0
  29. package/engine/run-if-main.js +46 -0
  30. package/engine/run-if-main.js.map +1 -0
  31. package/engine/run-result.d.ts +15 -5
  32. package/engine/run-result.d.ts.map +1 -1
  33. package/engine/run-result.js.map +1 -1
  34. package/engine/test-node.d.ts +2 -0
  35. package/engine/test-node.d.ts.map +1 -1
  36. package/engine/test-node.js +137 -0
  37. package/engine/test-node.js.map +1 -0
  38. package/engine/test-plan.d.ts +11 -1
  39. package/engine/test-plan.d.ts.map +1 -1
  40. package/engine/test-plan.js +174 -0
  41. package/engine/test-plan.js.map +1 -0
  42. package/package.json +7 -2
  43. package/packages/engine/engine.entry-point.js +67 -0
  44. package/packages/engine/engine.entry-point.js.map +1 -0
  45. package/packages/run/run.entry-point.d.ts +4 -2
  46. package/packages/run/run.entry-point.d.ts.map +1 -1
  47. package/packages/run/run.entry-point.js +2 -1
  48. package/packages/run/run.entry-point.js.map +1 -1
  49. package/readme.md +11 -6
  50. package/reporters/line-reporter.js +15 -10
  51. package/reporters/line-reporter.js.map +1 -1
  52. package/run/command-line-command.d.ts +1 -3
  53. package/run/command-line-command.d.ts.map +1 -1
  54. package/run/command-line-command.js +4 -1
  55. package/run/command-line-command.js.map +1 -1
  56. package/run/command-line-runner.d.ts +1 -1
  57. package/run/command-line-runner.d.ts.map +1 -1
  58. package/run/command-line-runner.js +4 -3
  59. package/run/command-line-runner.js.map +1 -1
  60. package/run/command-line-unimplemented-commands.js +1 -1
  61. package/run/command-line-unimplemented-commands.js.map +1 -1
  62. package/run/default-run-engine.js +14 -0
  63. package/run/default-run-engine.js.map +1 -0
  64. package/run/resource-usage.d.ts.map +1 -1
  65. package/run/resource-usage.js +16 -17
  66. package/run/resource-usage.js.map +1 -1
  67. package/run/run-config.d.ts +6 -1
  68. package/run/run-config.d.ts.map +1 -1
  69. package/run/run-config.js +67 -24
  70. package/run/run-config.js.map +1 -1
  71. package/run/run-discovery.js +75 -0
  72. package/run/run-discovery.js.map +1 -0
  73. package/run/run-errors.d.ts +16 -0
  74. package/run/run-errors.d.ts.map +1 -0
  75. package/run/run-errors.js +37 -0
  76. package/run/run-errors.js.map +1 -0
  77. package/run/run-orchestrator.d.ts +3 -0
  78. package/run/run-orchestrator.d.ts.map +1 -0
  79. package/run/run-orchestrator.js +46 -0
  80. package/run/run-orchestrator.js.map +1 -0
  81. package/run/run-test-modules.js +53 -0
  82. package/run/run-test-modules.js.map +1 -0
  83. package/run/{run.d.ts → run-types.d.ts} +23 -27
  84. package/run/run-types.d.ts.map +1 -0
  85. package/run/run.js +110 -79
  86. package/run/run.js.map +1 -1
  87. package/run/supervised-run.js +358 -0
  88. package/run/supervised-run.js.map +1 -0
  89. package/sbom.cdx.json +4 -4
  90. package/run/run.d.ts.map +0 -1
@@ -0,0 +1,3 @@
1
+ import type { RunOrchestrator } from './run-types.ts';
2
+ export declare const orchestrator: RunOrchestrator;
3
+ //# sourceMappingURL=run-orchestrator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-orchestrator.d.ts","sourceRoot":"","sources":["../../../../source/run/run-orchestrator.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAuBtD,eAAO,MAAM,YAAY,EAAE,eAsBzB,CAAC"}
@@ -0,0 +1,46 @@
1
+ import { randomBytes } from 'node:crypto';
2
+ import { createWallClock } from '@enormora/wall-clock';
3
+ import { createExecute } from "../engine/execution.js";
4
+ import { createReporterDispatcher } from "../engine/reporter-dispatcher.js";
5
+ import { defaultRunEngine } from "./default-run-engine.js";
6
+ import { createNodeResourceUsageTracker } from "./resource-usage.js";
7
+ import { createRunOrchestrator } from "./run.js";
8
+ const seedByteLength = 8;
9
+ function createDefaultSeed() {
10
+ return randomBytes(seedByteLength).readBigUInt64BE();
11
+ }
12
+ function writeStdoutLine(line) {
13
+ process.stdout.write(`${line}\n`);
14
+ }
15
+ function writeStderrLine(line) {
16
+ process.stderr.write(`${line}\n`);
17
+ }
18
+ const defaultWallClock = createWallClock();
19
+ const defaultReporterDispatcher = createReporterDispatcher({
20
+ stderr: { writeLine: writeStderrLine },
21
+ stdout: { writeLine: writeStdoutLine },
22
+ wallClock: defaultWallClock
23
+ });
24
+ export const orchestrator = createRunOrchestrator({
25
+ createSeed: createDefaultSeed,
26
+ createResourceUsageTracker(options) {
27
+ return createNodeResourceUsageTracker(defaultWallClock, options);
28
+ },
29
+ defaultEngine: defaultRunEngine,
30
+ execute: createExecute({
31
+ reporterDispatcher: defaultReporterDispatcher,
32
+ wallClock: defaultWallClock
33
+ }),
34
+ node: {
35
+ arch: process.arch,
36
+ platform: process.platform,
37
+ version: process.versions.node
38
+ },
39
+ reporterDispatcher: defaultReporterDispatcher,
40
+ readStartedAt() {
41
+ const startedAt = new Date(defaultWallClock.currentTimestampInMilliseconds);
42
+ return startedAt.toISOString();
43
+ },
44
+ wallClock: defaultWallClock
45
+ });
46
+ //# sourceMappingURL=run-orchestrator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-orchestrator.js","sourceRoot":"","sources":["../../../../source/run/run-orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,8BAA8B,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAGjD,MAAM,cAAc,GAAG,CAAC,CAAC;AAEzB,SAAS,iBAAiB;IACtB,OAAO,WAAW,CAAC,cAAc,CAAC,CAAC,eAAe,EAAE,CAAC;AACzD,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,gBAAgB,GAAG,eAAe,EAAE,CAAC;AAC3C,MAAM,yBAAyB,GAAG,wBAAwB,CAAC;IACvD,MAAM,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE;IACtC,MAAM,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE;IACtC,SAAS,EAAE,gBAAgB;CAC9B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAoB,qBAAqB,CAAC;IAC/D,UAAU,EAAE,iBAAiB;IAC7B,0BAA0B,CAAC,OAAO;QAC9B,OAAO,8BAA8B,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;IACrE,CAAC;IACD,aAAa,EAAE,gBAAgB;IAC/B,OAAO,EAAE,aAAa,CAAC;QACnB,kBAAkB,EAAE,yBAAyB;QAC7C,SAAS,EAAE,gBAAgB;KAC9B,CAAC;IACF,IAAI,EAAE;QACF,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;KACjC;IACD,kBAAkB,EAAE,yBAAyB;IAC7C,aAAa;QACT,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,gBAAgB,CAAC,8BAA8B,CAAC,CAAC;QAE5E,OAAO,SAAS,CAAC,WAAW,EAAE,CAAC;IACnC,CAAC;IACD,SAAS,EAAE,gBAAgB;CAC9B,CAAC,CAAC"}
@@ -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"}
@@ -1,9 +1,11 @@
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';
1
+ import type { WallClock } from '@enormora/wall-clock';
2
+ import type { SerializedValue as SerializedValueShape } from '../compare/serialized-value.ts';
3
+ import type { Execute } from '../engine/execution.ts';
4
+ import type { Engine } from '../engine/engine.ts';
5
+ import type { ReporterDispatcher } from '../engine/reporter-dispatcher.ts';
4
6
  import type { RunResourceUsageTracker, RunResult } from '../engine/run-result.ts';
5
7
  import type { TestPlan } from '../engine/test-plan.ts';
6
- import { type ResourceUsageTrackerOptions } from './resource-usage.ts';
8
+ import type { ResourceUsageTrackerOptions } from './resource-usage.ts';
7
9
  export type SerializedValue = SerializedValueShape;
8
10
  type RunExecuteOptions = NonNullable<Parameters<Execute>[1]>;
9
11
  type RunOutputRenderer = NonNullable<RunExecuteOptions['outputRenderer']>;
@@ -16,7 +18,7 @@ export type RunShard = {
16
18
  readonly total: number;
17
19
  };
18
20
  export type RunExecutionRequest = {
19
- readonly mode: 'concurrent-in-process';
21
+ readonly mode: 'profile-default';
20
22
  };
21
23
  export type RunSeed = {
22
24
  readonly value: bigint | null;
@@ -27,7 +29,7 @@ export type RunDebugRequest = {
27
29
  };
28
30
  export type RunLoaderConfig = {
29
31
  readonly sourceMaps: boolean;
30
- readonly stripMode: 'strip-only' | 'transform';
32
+ readonly stripMode: 'strip-only';
31
33
  };
32
34
  export type RunResourceBudgets = {
33
35
  readonly activeResourceCount: number | null;
@@ -35,19 +37,16 @@ export type RunResourceBudgets = {
35
37
  readonly residentSetBytes: number | null;
36
38
  readonly residentSetGrowthBytesPerSecond: number | null;
37
39
  };
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
40
  export type RunResourceUsagePolicy = {
41
+ readonly hardTimeoutMilliseconds: number;
45
42
  readonly measureResourceUsage: boolean;
46
43
  readonly resourceBudgets: RunResourceBudgets;
47
44
  readonly resourceUsageSamplingIntervalMilliseconds: number;
45
+ readonly timeoutMilliseconds: number;
48
46
  };
49
47
  export type RunProfilesConfig = {
50
48
  readonly microtest: RunResourceUsagePolicy;
49
+ readonly microtestSupervised: RunResourceUsagePolicy;
51
50
  };
52
51
  export type RunConfig = {
53
52
  readonly loader: RunLoaderConfig;
@@ -65,8 +64,8 @@ export type RunRequest = {
65
64
  readonly measureResourceUsage: boolean | null;
66
65
  readonly order: 'plan';
67
66
  readonly paths: readonly string[];
68
- readonly profile: 'microtest';
69
- readonly resourceBudgetOverrides: ResourceBudgetOverrides | null;
67
+ readonly profile: 'microtest' | 'microtest-supervised';
68
+ readonly resourceBudgetOverrides: RunResourceBudgets | null;
70
69
  readonly resourceUsageSamplingIntervalMilliseconds: number | null;
71
70
  readonly seed: RunSeed;
72
71
  readonly selection: RunSelection;
@@ -75,8 +74,9 @@ export type RunRequest = {
75
74
  };
76
75
  export type RunCommand = {
77
76
  readonly config: RunConfig;
77
+ readonly cwd: string;
78
+ readonly engine: Engine | null;
78
79
  readonly request: RunRequest;
79
- readonly testPlan: TestPlan;
80
80
  };
81
81
  export type RunFacts = {
82
82
  readonly cases: readonly RunCaseFacts[];
@@ -86,7 +86,7 @@ export type RunFacts = {
86
86
  readonly reproducibility: RunReproducibilityFacts;
87
87
  };
88
88
  export type RunCaseFacts = {
89
- readonly id: CaseId;
89
+ readonly id: TestPlan['cases'][number]['id'];
90
90
  readonly metadata: SerializedValue;
91
91
  };
92
92
  export type RunEnvironmentFacts = {
@@ -102,9 +102,9 @@ export type RunExecutionFacts = {
102
102
  readonly capture: 'buffered' | 'live';
103
103
  readonly coverage: false;
104
104
  readonly debug: RunDebugRequest;
105
- readonly mode: 'concurrent-in-process';
105
+ readonly mode: 'concurrent-in-process' | 'single-child-process';
106
106
  readonly order: 'plan';
107
- readonly profile: 'microtest';
107
+ readonly profile: 'microtest' | 'microtest-supervised';
108
108
  readonly resourceUsagePolicy: RunResourceUsagePolicy;
109
109
  readonly verbose: false;
110
110
  };
@@ -114,33 +114,29 @@ export type RunReproducibilityFacts = {
114
114
  };
115
115
  export type ResolvedRun = {
116
116
  readonly config: RunConfig;
117
+ readonly cwd: string;
117
118
  readonly facts: RunFacts;
118
119
  readonly reporters: RunReporters;
119
120
  readonly request: RunRequest;
120
121
  readonly testPlan: TestPlan;
121
122
  };
122
- export type RunResolutionErrorCode = 'invalid-request' | 'unsupported-request';
123
- export declare class RunResolutionError extends Error {
124
- private readonly errorCode;
125
- constructor(message: string, options: Readonly<ErrorOptions> | undefined, code: RunResolutionErrorCode);
126
- code(): RunResolutionErrorCode;
127
- }
128
123
  export type RunOrchestratorDependencies = {
129
124
  readonly createSeed: () => bigint;
130
125
  readonly createResourceUsageTracker: (options: ResourceUsageTrackerOptions) => RunResourceUsageTracker;
126
+ readonly defaultEngine: Engine;
131
127
  readonly execute: Execute;
132
128
  readonly node: {
133
129
  readonly arch: string;
134
130
  readonly platform: string;
135
131
  readonly version: string;
136
132
  };
133
+ readonly reporterDispatcher: ReporterDispatcher;
137
134
  readonly readStartedAt: () => string;
135
+ readonly wallClock: WallClock;
138
136
  };
139
137
  export type RunOrchestrator = {
140
138
  readonly resolve: (command: RunCommand) => Promise<ResolvedRun>;
141
139
  readonly run: (command: RunCommand) => Promise<RunResult>;
142
140
  };
143
- export declare function createRunOrchestrator(dependencies: RunOrchestratorDependencies): RunOrchestrator;
144
- export declare const orchestrator: RunOrchestrator;
145
141
  export {};
146
- //# sourceMappingURL=run.d.ts.map
142
+ //# sourceMappingURL=run-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-types.d.ts","sourceRoot":"","sources":["../../../../source/run/run-types.ts"],"names":[],"mappings":"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"}
package/run/run.js CHANGED
@@ -1,33 +1,9 @@
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";
6
- import { createNodeResourceUsageTracker } from "./resource-usage.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";
5
+ import { executeSupervisedRun } from "./supervised-run.js";
7
6
  const minimumSeedValue = 0n;
8
- const seedByteLength = 8;
9
- export class RunResolutionError extends Error {
10
- errorCode;
11
- constructor(message, options, code) {
12
- super(message, options);
13
- this.name = 'RunResolutionError';
14
- this.errorCode = code;
15
- }
16
- code() {
17
- return this.errorCode;
18
- }
19
- }
20
- function unsupportedRequest(message) {
21
- throw new RunResolutionError(message, undefined, 'unsupported-request');
22
- }
23
- function invalidRequest(message) {
24
- throw new RunResolutionError(message, undefined, 'invalid-request');
25
- }
26
- function validateRunPaths(request) {
27
- if (request.paths.length > 0) {
28
- unsupportedRequest('Path discovery is not implemented yet.');
29
- }
30
- }
31
7
  function validateRunShard(request) {
32
8
  if (request.shard.index !== 0 || request.shard.total !== 1) {
33
9
  unsupportedRequest('Sharding is not implemented yet.');
@@ -52,6 +28,13 @@ function validateResourceBudgets(resourceBudgets) {
52
28
  function validateSamplingInterval(value) {
53
29
  validatePositiveSafeInteger(value, 'Resource usage sampling interval');
54
30
  }
31
+ function validateTimeoutPolicy(policy) {
32
+ validatePositiveSafeInteger(policy.timeoutMilliseconds, 'Soft timeout');
33
+ validatePositiveSafeInteger(policy.hardTimeoutMilliseconds, 'Hard timeout');
34
+ if (policy.timeoutMilliseconds > policy.hardTimeoutMilliseconds) {
35
+ invalidRequest('Soft timeout must not exceed hard timeout.');
36
+ }
37
+ }
55
38
  function hasResourceBudgets(resourceBudgets) {
56
39
  return resourceBudgets.activeResourceCount !== null ||
57
40
  resourceBudgets.javaScriptEngineHeapBytes !== null ||
@@ -70,7 +53,6 @@ function validateRunResourceUsageRequest(request) {
70
53
  }
71
54
  }
72
55
  function validateRunRequest(request) {
73
- validateRunPaths(request);
74
56
  validateRunShard(request);
75
57
  validateRunSeed(request);
76
58
  validateRunResourceUsageRequest(request);
@@ -78,12 +60,14 @@ function validateRunRequest(request) {
78
60
  function validateRunResourceUsagePolicy(policy) {
79
61
  validateResourceBudgets(policy.resourceBudgets);
80
62
  validateSamplingInterval(policy.resourceUsageSamplingIntervalMilliseconds);
63
+ validateTimeoutPolicy(policy);
81
64
  if (!policy.measureResourceUsage && hasResourceBudgets(policy.resourceBudgets)) {
82
65
  invalidRequest('Resource budgets require resource usage measurement.');
83
66
  }
84
67
  }
85
68
  function validateRunConfig(config) {
86
69
  validateRunResourceUsagePolicy(config.profiles.microtest);
70
+ validateRunResourceUsagePolicy(config.profiles.microtestSupervised);
87
71
  }
88
72
  function resolvedSeed(request, dependencies) {
89
73
  return request.seed.value ?? dependencies.createSeed();
@@ -116,14 +100,17 @@ function copyResourceBudgetOverrides(overrides) {
116
100
  }
117
101
  function copyResourceUsagePolicy(policy) {
118
102
  return {
103
+ hardTimeoutMilliseconds: policy.hardTimeoutMilliseconds,
119
104
  measureResourceUsage: policy.measureResourceUsage,
120
105
  resourceBudgets: copyResourceBudgets(policy.resourceBudgets),
121
- resourceUsageSamplingIntervalMilliseconds: policy.resourceUsageSamplingIntervalMilliseconds
106
+ resourceUsageSamplingIntervalMilliseconds: policy.resourceUsageSamplingIntervalMilliseconds,
107
+ timeoutMilliseconds: policy.timeoutMilliseconds
122
108
  };
123
109
  }
124
110
  function copyRunProfilesConfig(profiles) {
125
111
  return {
126
- microtest: copyResourceUsagePolicy(profiles.microtest)
112
+ microtest: copyResourceUsagePolicy(profiles.microtest),
113
+ microtestSupervised: copyResourceUsagePolicy(profiles.microtestSupervised)
127
114
  };
128
115
  }
129
116
  function copyRunRequest(request) {
@@ -190,8 +177,17 @@ function assertResourceBudgetOverridesAllowed(measureResourceUsage, requestOverr
190
177
  invalidRequest('Resource budget overrides require resource usage measurement.');
191
178
  }
192
179
  }
180
+ function configuredPolicyForProfile(request, config) {
181
+ if (request.profile === 'microtest-supervised') {
182
+ return config.profiles.microtestSupervised;
183
+ }
184
+ return config.profiles.microtest;
185
+ }
186
+ function resolvedExecutionMode(request) {
187
+ return request.profile === 'microtest-supervised' ? 'single-child-process' : 'concurrent-in-process';
188
+ }
193
189
  function resolveResourceUsagePolicy(request, config) {
194
- const configuredPolicy = config.profiles.microtest;
190
+ const configuredPolicy = configuredPolicyForProfile(request, config);
195
191
  const measureResourceUsage = request.measureResourceUsage ?? configuredPolicy.measureResourceUsage;
196
192
  const resourceUsageSamplingIntervalMilliseconds = request.resourceUsageSamplingIntervalMilliseconds ??
197
193
  configuredPolicy.resourceUsageSamplingIntervalMilliseconds;
@@ -200,14 +196,16 @@ function resolveResourceUsagePolicy(request, config) {
200
196
  : disabledResourceBudgets();
201
197
  assertResourceBudgetOverridesAllowed(measureResourceUsage, request.resourceBudgetOverrides);
202
198
  return {
199
+ hardTimeoutMilliseconds: configuredPolicy.hardTimeoutMilliseconds,
203
200
  measureResourceUsage,
204
201
  resourceBudgets,
205
- resourceUsageSamplingIntervalMilliseconds
202
+ resourceUsageSamplingIntervalMilliseconds,
203
+ timeoutMilliseconds: configuredPolicy.timeoutMilliseconds
206
204
  };
207
205
  }
208
- function createRunFacts(command, request, config, dependencies) {
206
+ function createRunFacts(testPlan, request, config, dependencies) {
209
207
  return {
210
- cases: command.testPlan.cases.map(function toRunCaseFacts(testCase) {
208
+ cases: testPlan.cases.map(function toRunCaseFacts(testCase) {
211
209
  return runCaseFacts(testCase.metadata, testCase.id);
212
210
  }),
213
211
  environment: {
@@ -223,7 +221,7 @@ function createRunFacts(command, request, config, dependencies) {
223
221
  capture: request.capture,
224
222
  coverage: request.coverage,
225
223
  debug: request.debug,
226
- mode: request.execution.mode,
224
+ mode: resolvedExecutionMode(request),
227
225
  order: request.order,
228
226
  profile: request.profile,
229
227
  resourceUsagePolicy: resolveResourceUsagePolicy(request, config),
@@ -245,24 +243,44 @@ function freezeValue(value) {
245
243
  }
246
244
  return value;
247
245
  }
248
- function createResolvedRun(command, dependencies) {
246
+ function resolveRunEngine(command, dependencies) {
247
+ return command.engine ?? dependencies.defaultEngine;
248
+ }
249
+ async function createTestPlan(command, dependencies) {
250
+ const engine = resolveRunEngine(command, dependencies);
251
+ const files = await discoverRunFiles({ cwd: command.cwd, paths: command.request.paths });
252
+ const testFiles = await loadRunTestModules(files, engine);
253
+ try {
254
+ return engine.createTestPlanFromTestFiles({
255
+ files: testFiles,
256
+ root: {
257
+ metadata: {},
258
+ name: command.cwd
259
+ }
260
+ });
261
+ }
262
+ catch (error) {
263
+ throw new RunCollectionError('Failed to collect tests from explicit run inputs.', { cause: error }, 'loader');
264
+ }
265
+ }
266
+ async function createResolvedRun(command, dependencies) {
249
267
  validateRunRequest(command.request);
250
268
  validateRunConfig(command.config);
251
269
  const request = freezeValue(copyRunRequest(command.request));
252
270
  const config = freezeValue(copyRunConfig(command.config));
253
- const facts = freezeValue(createRunFacts(command, request, config, dependencies));
271
+ const testPlan = await createTestPlan(command, dependencies);
272
+ const facts = freezeValue(createRunFacts(testPlan, request, config, dependencies));
254
273
  return freezeValue({
255
274
  config,
275
+ cwd: command.cwd,
256
276
  facts,
257
277
  reporters: config.reporters,
258
278
  request,
259
- testPlan: command.testPlan
279
+ testPlan
260
280
  });
261
281
  }
262
282
  function assertRunnableResourceUsagePolicy(policy) {
263
- if (hasResourceBudgets(policy.resourceBudgets)) {
264
- unsupportedRequest('Resource budget enforcement is not implemented yet.');
265
- }
283
+ validateRunResourceUsagePolicy(policy);
266
284
  }
267
285
  function createExecutionResourceUsageTracker(policy, dependencies) {
268
286
  if (!policy.measureResourceUsage) {
@@ -272,58 +290,71 @@ function createExecutionResourceUsageTracker(policy, dependencies) {
272
290
  samplingIntervalMilliseconds: policy.resourceUsageSamplingIntervalMilliseconds
273
291
  });
274
292
  }
293
+ function createCollectionErrorRunResult(error) {
294
+ return {
295
+ artifacts: [],
296
+ bySuite: {},
297
+ orphans: [],
298
+ perTest: [],
299
+ resourceUsage: null,
300
+ runnerErrors: [error.runnerError()],
301
+ summary: {
302
+ crashed: 0,
303
+ defined: 0,
304
+ discovered: 0,
305
+ failed: 0,
306
+ inconclusive: 0,
307
+ passed: 0,
308
+ planned: 0,
309
+ resourceExhausted: 0,
310
+ skipped: 0
311
+ },
312
+ wallTimeMs: 0
313
+ };
314
+ }
315
+ function isRunResult(value) {
316
+ return Object.hasOwn(value, 'summary');
317
+ }
318
+ async function createResolvedRunOrCollectionErrorResult(command, dependencies) {
319
+ try {
320
+ return await createResolvedRun(command, dependencies);
321
+ }
322
+ catch (error) {
323
+ if (error instanceof RunCollectionError) {
324
+ return createCollectionErrorRunResult(error);
325
+ }
326
+ throw error;
327
+ }
328
+ }
275
329
  export function createRunOrchestrator(dependencies) {
276
330
  return {
277
331
  async resolve(command) {
278
- return createResolvedRun(command, dependencies);
332
+ return await createResolvedRun(command, dependencies);
279
333
  },
280
334
  async run(command) {
281
- const resolvedRun = createResolvedRun(command, dependencies);
335
+ const resolvedRun = await createResolvedRunOrCollectionErrorResult(command, dependencies);
336
+ if (isRunResult(resolvedRun)) {
337
+ return resolvedRun;
338
+ }
282
339
  const { resourceUsagePolicy } = resolvedRun.facts.execution;
283
340
  assertRunnableResourceUsagePolicy(resourceUsagePolicy);
341
+ if (resolvedRun.facts.execution.mode === 'single-child-process') {
342
+ return await executeSupervisedRun(resolvedRun, dependencies);
343
+ }
284
344
  return await dependencies.execute(resolvedRun.testPlan, {
285
345
  execution: { mode: 'concurrent-in-process' },
286
346
  outputRenderer: resolvedRun.config.outputRenderer,
287
347
  reporters: resolvedRun.reporters,
348
+ resourceBudgets: resourceUsagePolicy.resourceBudgets,
288
349
  resourceUsageTracker: createExecutionResourceUsageTracker(resourceUsagePolicy, dependencies),
289
350
  runFacts: resolvedRun.facts,
290
- startedAt: dependencies.readStartedAt()
351
+ startedAt: dependencies.readStartedAt(),
352
+ timeoutPolicy: {
353
+ hardTimeoutMilliseconds: resourceUsagePolicy.hardTimeoutMilliseconds,
354
+ timeoutMilliseconds: resourceUsagePolicy.timeoutMilliseconds
355
+ }
291
356
  });
292
357
  }
293
358
  };
294
359
  }
295
- function createDefaultSeed() {
296
- return randomBytes(seedByteLength).readBigUInt64BE();
297
- }
298
- const defaultWallClock = createWallClock();
299
- function writeStdoutLine(line) {
300
- process.stdout.write(`${line}\n`);
301
- }
302
- function writeStderrLine(line) {
303
- process.stderr.write(`${line}\n`);
304
- }
305
- const defaultRunOrchestrator = createRunOrchestrator({
306
- createSeed: createDefaultSeed,
307
- createResourceUsageTracker(options) {
308
- return createNodeResourceUsageTracker(defaultWallClock, options);
309
- },
310
- execute: createExecute({
311
- reporterDispatcher: createReporterDispatcher({
312
- stderr: { writeLine: writeStderrLine },
313
- stdout: { writeLine: writeStdoutLine },
314
- wallClock: defaultWallClock
315
- }),
316
- wallClock: defaultWallClock
317
- }),
318
- node: {
319
- arch: process.arch,
320
- platform: process.platform,
321
- version: process.versions.node
322
- },
323
- readStartedAt() {
324
- const startedAt = new Date(defaultWallClock.currentTimestampInMilliseconds);
325
- return startedAt.toISOString();
326
- }
327
- });
328
- export const orchestrator = defaultRunOrchestrator;
329
360
  //# 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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"}