@overkill-dev/run 0.0.8 → 0.0.10

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 (51) hide show
  1. package/engine/execution-result.js +77 -0
  2. package/engine/execution-result.js.map +1 -0
  3. package/engine/execution.d.ts +6 -2
  4. package/engine/execution.d.ts.map +1 -1
  5. package/engine/execution.js +68 -108
  6. package/engine/execution.js.map +1 -1
  7. package/engine/reporter-dispatcher.d.ts +16 -0
  8. package/engine/reporter-dispatcher.d.ts.map +1 -0
  9. package/engine/reporter-dispatcher.js +244 -0
  10. package/engine/reporter-dispatcher.js.map +1 -0
  11. package/engine/reporter-event-queue.js +2 -2
  12. package/engine/reporter-event-queue.js.map +1 -1
  13. package/engine/reporter-output.d.ts +24 -0
  14. package/engine/reporter-output.d.ts.map +1 -0
  15. package/engine/reporter-output.js +8 -0
  16. package/engine/reporter-output.js.map +1 -0
  17. package/engine/reporter.d.ts +86 -21
  18. package/engine/reporter.d.ts.map +1 -1
  19. package/engine/reporter.js +51 -145
  20. package/engine/reporter.js.map +1 -1
  21. package/engine/run-result.d.ts +22 -0
  22. package/engine/run-result.d.ts.map +1 -1
  23. package/engine/run-result.js.map +1 -1
  24. package/package.json +2 -2
  25. package/packages/run/command-line.entry-point.d.ts +1 -1
  26. package/packages/run/command-line.entry-point.d.ts.map +1 -1
  27. package/packages/run/run.entry-point.d.ts +1 -1
  28. package/packages/run/run.entry-point.d.ts.map +1 -1
  29. package/readme.md +18 -2
  30. package/reporters/line-failure-rendering.js +1 -0
  31. package/reporters/line-failure-rendering.js.map +1 -1
  32. package/reporters/line-reporter.js +1 -1
  33. package/reporters/line-reporter.js.map +1 -1
  34. package/reporters/source-location-rendering.js +1 -0
  35. package/reporters/source-location-rendering.js.map +1 -0
  36. package/run/command-line-runner.d.ts.map +1 -1
  37. package/run/command-line-runner.js +3 -1
  38. package/run/command-line-runner.js.map +1 -1
  39. package/run/resource-usage.d.ts +15 -0
  40. package/run/resource-usage.d.ts.map +1 -0
  41. package/run/resource-usage.js +107 -0
  42. package/run/resource-usage.js.map +1 -0
  43. package/run/run-config.d.ts +32 -4
  44. package/run/run-config.d.ts.map +1 -1
  45. package/run/run-config.js +70 -0
  46. package/run/run-config.js.map +1 -1
  47. package/run/run.d.ts +35 -4
  48. package/run/run.d.ts.map +1 -1
  49. package/run/run.js +150 -2
  50. package/run/run.js.map +1 -1
  51. package/sbom.cdx.json +10 -10
@@ -0,0 +1,77 @@
1
+ import { caseIdentityKey } from "./identity.js";
2
+ function hasFailed(testResult) {
3
+ return testResult.outcome.kind === 'fail';
4
+ }
5
+ function isInconclusive(testResult) {
6
+ return testResult.outcome.kind === 'inconclusive';
7
+ }
8
+ function hasPassed(testResult) {
9
+ return testResult.outcome.kind === 'pass';
10
+ }
11
+ function wasSkipped(testResult) {
12
+ return testResult.outcome.kind === 'skip';
13
+ }
14
+ function countOutcomes(testPlan, perTest) {
15
+ return {
16
+ defined: testPlan.defined,
17
+ discovered: testPlan.discoveredCases.length,
18
+ failed: perTest.filter(hasFailed).length,
19
+ inconclusive: perTest.filter(isInconclusive).length,
20
+ passed: perTest.filter(hasPassed).length,
21
+ planned: testPlan.cases.length,
22
+ skipped: perTest.filter(wasSkipped).length
23
+ };
24
+ }
25
+ function suiteKey(suitePath) {
26
+ return suitePath.join(' > ');
27
+ }
28
+ function emptySuiteRunCounts() {
29
+ return { discovered: 0, executed: 0, planned: 0 };
30
+ }
31
+ function incrementSuiteRunCounts(counts, field) {
32
+ return {
33
+ discovered: counts.discovered + (field === 'discovered' ? 1 : 0),
34
+ executed: counts.executed + (field === 'executed' ? 1 : 0),
35
+ planned: counts.planned + (field === 'planned' ? 1 : 0)
36
+ };
37
+ }
38
+ function countSuitePath(counts, suitePath, field) {
39
+ let updatedCounts = counts;
40
+ for (let pathLength = 1; pathLength <= suitePath.length; pathLength += 1) {
41
+ const key = suiteKey(suitePath.slice(0, pathLength));
42
+ updatedCounts = {
43
+ ...updatedCounts,
44
+ [key]: incrementSuiteRunCounts(updatedCounts[key] ?? emptySuiteRunCounts(), field)
45
+ };
46
+ }
47
+ return updatedCounts;
48
+ }
49
+ function countSuites(testPlan, perTest) {
50
+ let counts = {};
51
+ const executedIds = new Set(perTest.map(function toId(result) {
52
+ return caseIdentityKey(result.id);
53
+ }));
54
+ for (const testCase of testPlan.discoveredCases) {
55
+ counts = countSuitePath(counts, testCase.suitePath, 'discovered');
56
+ }
57
+ for (const testCase of testPlan.cases) {
58
+ counts = countSuitePath(counts, testCase.suitePath, 'planned');
59
+ if (executedIds.has(caseIdentityKey(testCase.id))) {
60
+ counts = countSuitePath(counts, testCase.suitePath, 'executed');
61
+ }
62
+ }
63
+ return counts;
64
+ }
65
+ export function createRunResult(testPlan, perTest, reporterErrors, timing) {
66
+ return {
67
+ artifacts: [],
68
+ bySuite: countSuites(testPlan, perTest),
69
+ orphans: testPlan.orphans,
70
+ perTest,
71
+ resourceUsage: timing.resourceUsage,
72
+ runnerErrors: reporterErrors,
73
+ summary: countOutcomes(testPlan, perTest),
74
+ wallTimeMs: timing.wallClock.currentTimestampInMilliseconds - timing.startedAtMs
75
+ };
76
+ }
77
+ //# sourceMappingURL=execution-result.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution-result.js","sourceRoot":"","sources":["../../../../source/engine/execution-result.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,17 @@
1
1
  import type { WallClock } from '@enormora/wall-clock';
2
- import { type Reporter, type ReporterDispatcher, type RunFacts } from './reporter.ts';
3
- import { type RunResult } from './run-result.ts';
2
+ import { type OutputRenderer } from './reporter-output.ts';
3
+ import type { ReporterDispatcher } from './reporter-dispatcher.ts';
4
+ import { type Reporter, type RunFacts } from './reporter.ts';
5
+ import { type RunResourceUsageTracker, type RunResult } from './run-result.ts';
4
6
  import type { TestPlan } from './test-plan.ts';
5
7
  export type ExecuteExecution = {
6
8
  readonly mode: 'concurrent-in-process' | 'serial-in-process';
7
9
  };
8
10
  export type ExecuteOptions = {
9
11
  readonly execution: ExecuteExecution;
12
+ readonly outputRenderer?: OutputRenderer;
10
13
  readonly reporters: readonly Reporter[];
14
+ readonly resourceUsageTracker?: RunResourceUsageTracker | null;
11
15
  readonly runFacts: RunFacts;
12
16
  readonly startedAt: string;
13
17
  };
@@ -1 +1 @@
1
- {"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../../../../source/engine/execution.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGtD,OAAO,EACH,KAAK,QAAQ,EACb,KAAK,kBAAkB,EACvB,KAAK,QAAQ,EAEhB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAA0C,KAAK,SAAS,EAAoB,MAAM,iBAAiB,CAAC;AAC3G,OAAO,KAAK,EAAE,QAAQ,EAAgB,MAAM,gBAAgB,CAAC;AAE7D,MAAM,MAAM,gBAAgB,GAAG;IAC3B,QAAQ,CAAC,IAAI,EAAE,uBAAuB,GAAG,mBAAmB,CAAC;CAChE,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IACzB,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;IACrC,QAAQ,CAAC,SAAS,EAAE,SAAS,QAAQ,EAAE,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAC9B,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAChD,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;CACjC,CAAC;AA8fF,MAAM,MAAM,OAAO,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,cAAc,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;AAE3F,wBAAgB,aAAa,CAAC,YAAY,EAAE,mBAAmB,GAAG,OAAO,CAWxE"}
1
+ {"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../../../../source/engine/execution.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGtD,OAAO,EAA6B,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,QAAQ,EAAyB,MAAM,eAAe,CAAC;AAEpF,OAAO,EAGH,KAAK,uBAAuB,EAC5B,KAAK,SAAS,EAEjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,QAAQ,EAAgB,MAAM,gBAAgB,CAAC;AAE7D,MAAM,MAAM,gBAAgB,GAAG;IAC3B,QAAQ,CAAC,IAAI,EAAE,uBAAuB,GAAG,mBAAmB,CAAC;CAChE,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IACzB,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;IACrC,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC;IACzC,QAAQ,CAAC,SAAS,EAAE,SAAS,QAAQ,EAAE,CAAC;IACxC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,uBAAuB,GAAG,IAAI,CAAC;IAC/D,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC9B,CAAC;AAMF,MAAM,MAAM,mBAAmB,GAAG;IAC9B,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAChD,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;CACjC,CAAC;AA0cF,MAAM,MAAM,OAAO,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,cAAc,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;AAE3F,wBAAgB,aAAa,CAAC,YAAY,EAAE,mBAAmB,GAAG,OAAO,CAWxE"}
@@ -1,103 +1,41 @@
1
1
  import { runTestCase } from "./case-execution.js";
2
- import { caseIdentityKey } from "./identity.js";
2
+ import { createRunResult } from "./execution-result.js";
3
+ import { createPlainOutputRenderer } from "./reporter-output.js";
3
4
  import { validateReporterSinks } from "./reporter.js";
4
5
  import { createReporterEventQueue } from "./reporter-event-queue.js";
5
6
  import { verdictFromOutcome } from "./run-result.js";
6
7
  const epoch = new Date(0);
7
- async function reportTestStart(testCase, attempt, reporters, dependencies) {
8
- return await dependencies.reporterDispatcher.reportEvent(reporters, {
8
+ async function reportTestStart(testCase, attempt, context) {
9
+ return await context.dependencies.reporterDispatcher.reportEvent(context.reporters, {
9
10
  attempt,
10
11
  case: testCase.id,
11
12
  kind: 'test-start'
12
- });
13
+ }, context.outputRenderer);
13
14
  }
14
- async function reportTestEnd(input, reporters, dependencies) {
15
- return await dependencies.reporterDispatcher.reportEvent(reporters, {
15
+ async function reportTestEnd(input, context) {
16
+ return await context.dependencies.reporterDispatcher.reportEvent(context.reporters, {
16
17
  attempt: input.attempt,
17
18
  case: input.testCase.id,
18
19
  kind: 'test-end',
19
20
  outcome: input.result.outcome,
20
21
  verdict: input.result.verdict,
21
22
  wallTimeMs: input.wallTimeMs
22
- });
23
+ }, context.outputRenderer);
23
24
  }
24
- async function executeCase(testCase, attempt, reporters, dependencies) {
25
- const startErrors = await reportTestStart(testCase, attempt, reporters, dependencies);
26
- const executedCase = await runTestCase(testCase, dependencies.wallClock);
25
+ async function executeCase(testCase, attempt, context) {
26
+ const startErrors = await reportTestStart(testCase, attempt, context);
27
+ const executedCase = await runTestCase(testCase, context.dependencies.wallClock);
27
28
  const endErrors = await reportTestEnd({
28
29
  attempt,
29
30
  result: executedCase.result,
30
31
  testCase,
31
32
  wallTimeMs: executedCase.wallTimeMs
32
- }, reporters, dependencies);
33
+ }, context);
33
34
  return {
34
35
  reporterErrors: [...startErrors, ...endErrors],
35
36
  result: executedCase.result
36
37
  };
37
38
  }
38
- function hasFailed(testResult) {
39
- return testResult.outcome.kind === 'fail';
40
- }
41
- function isInconclusive(testResult) {
42
- return testResult.outcome.kind === 'inconclusive';
43
- }
44
- function hasPassed(testResult) {
45
- return testResult.outcome.kind === 'pass';
46
- }
47
- function wasSkipped(testResult) {
48
- return testResult.outcome.kind === 'skip';
49
- }
50
- function countOutcomes(testPlan, perTest) {
51
- return {
52
- defined: testPlan.defined,
53
- discovered: testPlan.discoveredCases.length,
54
- failed: perTest.filter(hasFailed).length,
55
- inconclusive: perTest.filter(isInconclusive).length,
56
- passed: perTest.filter(hasPassed).length,
57
- planned: testPlan.cases.length,
58
- skipped: perTest.filter(wasSkipped).length
59
- };
60
- }
61
- function suiteKey(suitePath) {
62
- return suitePath.join(' > ');
63
- }
64
- function emptySuiteRunCounts() {
65
- return { discovered: 0, executed: 0, planned: 0 };
66
- }
67
- function incrementSuiteRunCounts(counts, field) {
68
- return {
69
- discovered: counts.discovered + (field === 'discovered' ? 1 : 0),
70
- executed: counts.executed + (field === 'executed' ? 1 : 0),
71
- planned: counts.planned + (field === 'planned' ? 1 : 0)
72
- };
73
- }
74
- function countSuitePath(counts, suitePath, field) {
75
- let updatedCounts = counts;
76
- for (let pathLength = 1; pathLength <= suitePath.length; pathLength += 1) {
77
- const key = suiteKey(suitePath.slice(0, pathLength));
78
- updatedCounts = {
79
- ...updatedCounts,
80
- [key]: incrementSuiteRunCounts(updatedCounts[key] ?? emptySuiteRunCounts(), field)
81
- };
82
- }
83
- return updatedCounts;
84
- }
85
- function countSuites(testPlan, perTest) {
86
- let counts = {};
87
- const executedIds = new Set(perTest.map(function toId(result) {
88
- return caseIdentityKey(result.id);
89
- }));
90
- for (const testCase of testPlan.discoveredCases) {
91
- counts = countSuitePath(counts, testCase.suitePath, 'discovered');
92
- }
93
- for (const testCase of testPlan.cases) {
94
- counts = countSuitePath(counts, testCase.suitePath, 'planned');
95
- if (executedIds.has(caseIdentityKey(testCase.id))) {
96
- counts = countSuitePath(counts, testCase.suitePath, 'executed');
97
- }
98
- }
99
- return counts;
100
- }
101
39
  function commonSuitePrefixLength(firstSuitePath, secondSuitePath) {
102
40
  const shortestLength = Math.min(firstSuitePath.length, secondSuitePath.length);
103
41
  let prefixLength = 0;
@@ -106,37 +44,37 @@ function commonSuitePrefixLength(firstSuitePath, secondSuitePath) {
106
44
  }
107
45
  return prefixLength;
108
46
  }
109
- async function reportSuiteTransition(reporters, dependencies, currentSuitePath, nextSuitePath) {
47
+ async function reportSuiteTransition(context, currentSuitePath, nextSuitePath) {
110
48
  let reporterErrors = [];
111
49
  const sharedPrefixLength = commonSuitePrefixLength(currentSuitePath, nextSuitePath);
112
50
  for (let pathLength = currentSuitePath.length; pathLength > sharedPrefixLength; pathLength -= 1) {
113
51
  reporterErrors = [
114
52
  ...reporterErrors,
115
- ...await dependencies.reporterDispatcher.reportEvent(reporters, {
53
+ ...await context.dependencies.reporterDispatcher.reportEvent(context.reporters, {
116
54
  kind: 'suite-end',
117
55
  suitePath: currentSuitePath.slice(0, pathLength)
118
- })
56
+ }, context.outputRenderer)
119
57
  ];
120
58
  }
121
59
  for (let pathLength = sharedPrefixLength + 1; pathLength <= nextSuitePath.length; pathLength += 1) {
122
60
  reporterErrors = [
123
61
  ...reporterErrors,
124
- ...await dependencies.reporterDispatcher.reportEvent(reporters, {
62
+ ...await context.dependencies.reporterDispatcher.reportEvent(context.reporters, {
125
63
  kind: 'suite-start',
126
64
  suitePath: nextSuitePath.slice(0, pathLength)
127
- })
65
+ }, context.outputRenderer)
128
66
  ];
129
67
  }
130
68
  return reporterErrors;
131
69
  }
132
- async function executeTestPlanCases(testPlan, reporters, dependencies) {
70
+ async function executeTestPlanCases(testPlan, reporters, outputRenderer, dependencies) {
133
71
  let perTest = [];
134
72
  let reporterErrors = [];
135
73
  let currentSuitePath = [];
136
74
  for (const testCase of testPlan.cases) {
137
- const suiteErrors = await reportSuiteTransition(reporters, dependencies, currentSuitePath, testCase.suitePath);
75
+ const suiteErrors = await reportSuiteTransition({ dependencies, outputRenderer, reporters }, currentSuitePath, testCase.suitePath);
138
76
  currentSuitePath = testCase.suitePath;
139
- const testRun = await executeCase(testCase, 0, reporters, dependencies);
77
+ const testRun = await executeCase(testCase, 0, { dependencies, outputRenderer, reporters });
140
78
  reporterErrors = [...reporterErrors, ...suiteErrors, ...testRun.reporterErrors];
141
79
  perTest = [...perTest, testRun.result];
142
80
  }
@@ -144,7 +82,7 @@ async function executeTestPlanCases(testPlan, reporters, dependencies) {
144
82
  perTest,
145
83
  reporterErrors: [
146
84
  ...reporterErrors,
147
- ...await reportSuiteTransition(reporters, dependencies, currentSuitePath, [])
85
+ ...await reportSuiteTransition({ dependencies, outputRenderer, reporters }, currentSuitePath, [])
148
86
  ]
149
87
  };
150
88
  }
@@ -180,18 +118,23 @@ async function executeConcurrentCaseBody(testCase, dependencies) {
180
118
  };
181
119
  }
182
120
  }
183
- async function reportConcurrentCaseStarts(testPlan, reporters, dependencies) {
121
+ async function reportConcurrentCaseStarts(testPlan, reporters, outputRenderer, dependencies) {
122
+ const reportingContext = {
123
+ dependencies,
124
+ outputRenderer,
125
+ reporters
126
+ };
184
127
  let reporterErrors = [];
185
128
  let currentSuitePath = [];
186
129
  for (const testCase of testPlan.cases) {
187
- const suiteErrors = await reportSuiteTransition(reporters, dependencies, currentSuitePath, testCase.suitePath);
188
- const startErrors = await reportTestStart(testCase, 0, reporters, dependencies);
130
+ const suiteErrors = await reportSuiteTransition(reportingContext, currentSuitePath, testCase.suitePath);
131
+ const startErrors = await reportTestStart(testCase, 0, reportingContext);
189
132
  currentSuitePath = testCase.suitePath;
190
133
  reporterErrors = [...reporterErrors, ...suiteErrors, ...startErrors];
191
134
  }
192
135
  return [
193
136
  ...reporterErrors,
194
- ...await reportSuiteTransition(reporters, dependencies, currentSuitePath, [])
137
+ ...await reportSuiteTransition(reportingContext, currentSuitePath, [])
195
138
  ];
196
139
  }
197
140
  async function reportConcurrentCaseEnd(testCase, executedCase, reportQueue) {
@@ -219,9 +162,9 @@ async function executeConcurrentCases(testPlan, reportQueue, dependencies) {
219
162
  })
220
163
  };
221
164
  }
222
- async function executeConcurrentTestPlanCases(testPlan, reporters, dependencies) {
223
- const reporterErrors = await reportConcurrentCaseStarts(testPlan, reporters, dependencies);
224
- const concurrentCaseExecution = await executeConcurrentCases(testPlan, createReporterEventQueue(reporters, dependencies), dependencies);
165
+ async function executeConcurrentTestPlanCases(testPlan, reporters, outputRenderer, dependencies) {
166
+ const reporterErrors = await reportConcurrentCaseStarts(testPlan, reporters, outputRenderer, dependencies);
167
+ const concurrentCaseExecution = await executeConcurrentCases(testPlan, createReporterEventQueue(reporters, outputRenderer, dependencies), dependencies);
225
168
  return {
226
169
  perTest: concurrentCaseExecution.perTest,
227
170
  reporterErrors: [...reporterErrors, ...concurrentCaseExecution.endReporterErrors]
@@ -229,21 +172,29 @@ async function executeConcurrentTestPlanCases(testPlan, reporters, dependencies)
229
172
  }
230
173
  async function executeTestPlanCasesWithMode(testPlan, options, dependencies) {
231
174
  if (options.execution.mode === 'concurrent-in-process') {
232
- return await executeConcurrentTestPlanCases(testPlan, options.reporters, dependencies);
175
+ return await executeConcurrentTestPlanCases(testPlan, options.reporters, options.outputRenderer, dependencies);
233
176
  }
234
- return await executeTestPlanCases(testPlan, options.reporters, dependencies);
177
+ return await executeTestPlanCases(testPlan, options.reporters, options.outputRenderer, dependencies);
235
178
  }
236
- function createRunResult(testPlan, perTest, reporterErrors, timing) {
237
- const result = {
238
- artifacts: [],
239
- bySuite: countSuites(testPlan, perTest),
240
- orphans: testPlan.orphans,
241
- perTest,
242
- runnerErrors: reporterErrors,
243
- summary: countOutcomes(testPlan, perTest),
244
- wallTimeMs: timing.wallClock.currentTimestampInMilliseconds - timing.startedAtMs
245
- };
246
- return result;
179
+ async function executeTestPlanCasesAndMeasureResourceUsage(testPlan, options, dependencies) {
180
+ if (options.resourceUsageTracker === null || options.resourceUsageTracker === undefined) {
181
+ return {
182
+ executedTestPlan: await executeTestPlanCasesWithMode(testPlan, options, dependencies),
183
+ resourceUsage: null
184
+ };
185
+ }
186
+ options.resourceUsageTracker.start();
187
+ try {
188
+ const executedTestPlan = await executeTestPlanCasesWithMode(testPlan, options, dependencies);
189
+ return {
190
+ executedTestPlan,
191
+ resourceUsage: options.resourceUsageTracker.finish()
192
+ };
193
+ }
194
+ catch (error) {
195
+ options.resourceUsageTracker.finish();
196
+ throw error;
197
+ }
247
198
  }
248
199
  function appendRunnerErrors(result, runnerErrors) {
249
200
  if (runnerErrors.length === 0) {
@@ -255,9 +206,17 @@ function appendRunnerErrors(result, runnerErrors) {
255
206
  };
256
207
  }
257
208
  function executeOptionsWithDefaults(options) {
258
- return options ?? {
209
+ if (options !== undefined) {
210
+ return {
211
+ ...options,
212
+ outputRenderer: options.outputRenderer ?? createPlainOutputRenderer()
213
+ };
214
+ }
215
+ return {
259
216
  execution: { mode: 'serial-in-process' },
217
+ outputRenderer: createPlainOutputRenderer(),
260
218
  reporters: [],
219
+ resourceUsageTracker: null,
261
220
  runFacts: {},
262
221
  startedAt: epoch.toISOString()
263
222
  };
@@ -281,10 +240,11 @@ async function createRunResultBeforeRunEnd(testPlan, options, dependencies) {
281
240
  kind: 'run-start',
282
241
  root: testPlan.root,
283
242
  startedAt: options.startedAt
284
- });
285
- const executedTestPlan = await executeTestPlanCasesWithMode(testPlan, options, dependencies);
243
+ }, options.outputRenderer);
244
+ const { executedTestPlan, resourceUsage } = await executeTestPlanCasesAndMeasureResourceUsage(testPlan, options, dependencies);
286
245
  const reporterErrors = [...startErrors, ...executedTestPlan.reporterErrors];
287
246
  return createRunResult(testPlan, executedTestPlan.perTest, reporterErrors, {
247
+ resourceUsage,
288
248
  startedAtMs,
289
249
  wallClock: dependencies.wallClock
290
250
  });
@@ -295,9 +255,9 @@ async function executeRun(testPlan, options, dependencies, reporterDisposal) {
295
255
  const runEndErrors = await dependencies.reporterDispatcher.reportEvent(options.reporters, {
296
256
  kind: 'run-end',
297
257
  result
298
- });
258
+ }, options.outputRenderer);
299
259
  const resultForFinalReporting = appendRunnerErrors(result, runEndErrors);
300
- const finalReporterErrors = await dependencies.reporterDispatcher.reportResult(options.reporters, resultForFinalReporting);
260
+ const finalReporterErrors = await dependencies.reporterDispatcher.reportResult(options.reporters, resultForFinalReporting, options.outputRenderer);
301
261
  const disposeErrors = await reporterDisposal.disposeOnce();
302
262
  return appendRunnerErrors(resultForFinalReporting, [...finalReporterErrors, ...disposeErrors]);
303
263
  }
@@ -1 +1 @@
1
- {"version":3,"file":"execution.js","sourceRoot":"","sources":["../../../../source/engine/execution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execution.js","sourceRoot":"","sources":["../../../../source/engine/execution.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { WallClock } from '@enormora/wall-clock';
2
+ import type { OutputLineWriter, OutputRenderer } from './reporter-output.ts';
3
+ import type { Reporter, ReporterEvent } from './reporter.ts';
4
+ import type { RunResult, RunnerError } from './run-result.ts';
5
+ export type ReporterDispatcher = {
6
+ readonly disposeReporters: (reporters: readonly Reporter[]) => Promise<readonly RunnerError[]>;
7
+ readonly reportEvent: (reporters: readonly Reporter[], event: ReporterEvent, outputRenderer: OutputRenderer) => Promise<readonly RunnerError[]>;
8
+ readonly reportResult: (reporters: readonly Reporter[], result: RunResult, outputRenderer: OutputRenderer) => Promise<readonly RunnerError[]>;
9
+ };
10
+ export type ReporterDispatcherDependencies = {
11
+ readonly stderr: OutputLineWriter;
12
+ readonly stdout: OutputLineWriter;
13
+ readonly wallClock: WallClock;
14
+ };
15
+ export declare function createReporterDispatcher(dependencies: ReporterDispatcherDependencies): ReporterDispatcher;
16
+ //# sourceMappingURL=reporter-dispatcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reporter-dispatcher.d.ts","sourceRoot":"","sources":["../../../../source/engine/reporter-dispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAER,gBAAgB,EAChB,cAAc,EAEjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAI9D,MAAM,MAAM,kBAAkB,GAAG;IAC7B,QAAQ,CAAC,gBAAgB,EAAE,CACvB,SAAS,EAAE,SAAS,QAAQ,EAAE,KAC7B,OAAO,CAAC,SAAS,WAAW,EAAE,CAAC,CAAC;IACrC,QAAQ,CAAC,WAAW,EAAE,CAClB,SAAS,EAAE,SAAS,QAAQ,EAAE,EAC9B,KAAK,EAAE,aAAa,EACpB,cAAc,EAAE,cAAc,KAC7B,OAAO,CAAC,SAAS,WAAW,EAAE,CAAC,CAAC;IACrC,QAAQ,CAAC,YAAY,EAAE,CACnB,SAAS,EAAE,SAAS,QAAQ,EAAE,EAC9B,MAAM,EAAE,SAAS,EACjB,cAAc,EAAE,cAAc,KAC7B,OAAO,CAAC,SAAS,WAAW,EAAE,CAAC,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG;IACzC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;CACjC,CAAC;AAoYF,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,8BAA8B,GAAG,kBAAkB,CAYzG"}