@overkill-dev/engine 0.0.11 → 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.
@@ -1,5 +1,7 @@
1
1
  import type { WallClock } from '@enormora/wall-clock';
2
- import { type Reporter, type ReporterDispatcher, type RunFacts } from './reporter.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';
3
5
  import { type RunResult } from './run-result.ts';
4
6
  import type { TestPlan } from './test-plan.ts';
5
7
  export type ExecuteExecution = {
@@ -7,6 +9,7 @@ export type ExecuteExecution = {
7
9
  };
8
10
  export type ExecuteOptions = {
9
11
  readonly execution: ExecuteExecution;
12
+ readonly outputRenderer?: OutputRenderer;
10
13
  readonly reporters: readonly Reporter[];
11
14
  readonly runFacts: RunFacts;
12
15
  readonly startedAt: string;
@@ -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,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,cAAc,CAAC,EAAE,cAAc,CAAC;IACzC,QAAQ,CAAC,SAAS,EAAE,SAAS,QAAQ,EAAE,CAAC;IACxC,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;AAmhBF,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,35 +1,36 @@
1
1
  import { runTestCase } from "./case-execution.js";
2
2
  import { caseIdentityKey } from "./identity.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
@@ -106,37 +107,37 @@ function commonSuitePrefixLength(firstSuitePath, secondSuitePath) {
106
107
  }
107
108
  return prefixLength;
108
109
  }
109
- async function reportSuiteTransition(reporters, dependencies, currentSuitePath, nextSuitePath) {
110
+ async function reportSuiteTransition(context, currentSuitePath, nextSuitePath) {
110
111
  let reporterErrors = [];
111
112
  const sharedPrefixLength = commonSuitePrefixLength(currentSuitePath, nextSuitePath);
112
113
  for (let pathLength = currentSuitePath.length; pathLength > sharedPrefixLength; pathLength -= 1) {
113
114
  reporterErrors = [
114
115
  ...reporterErrors,
115
- ...await dependencies.reporterDispatcher.reportEvent(reporters, {
116
+ ...await context.dependencies.reporterDispatcher.reportEvent(context.reporters, {
116
117
  kind: 'suite-end',
117
118
  suitePath: currentSuitePath.slice(0, pathLength)
118
- })
119
+ }, context.outputRenderer)
119
120
  ];
120
121
  }
121
122
  for (let pathLength = sharedPrefixLength + 1; pathLength <= nextSuitePath.length; pathLength += 1) {
122
123
  reporterErrors = [
123
124
  ...reporterErrors,
124
- ...await dependencies.reporterDispatcher.reportEvent(reporters, {
125
+ ...await context.dependencies.reporterDispatcher.reportEvent(context.reporters, {
125
126
  kind: 'suite-start',
126
127
  suitePath: nextSuitePath.slice(0, pathLength)
127
- })
128
+ }, context.outputRenderer)
128
129
  ];
129
130
  }
130
131
  return reporterErrors;
131
132
  }
132
- async function executeTestPlanCases(testPlan, reporters, dependencies) {
133
+ async function executeTestPlanCases(testPlan, reporters, outputRenderer, dependencies) {
133
134
  let perTest = [];
134
135
  let reporterErrors = [];
135
136
  let currentSuitePath = [];
136
137
  for (const testCase of testPlan.cases) {
137
- const suiteErrors = await reportSuiteTransition(reporters, dependencies, currentSuitePath, testCase.suitePath);
138
+ const suiteErrors = await reportSuiteTransition({ dependencies, outputRenderer, reporters }, currentSuitePath, testCase.suitePath);
138
139
  currentSuitePath = testCase.suitePath;
139
- const testRun = await executeCase(testCase, 0, reporters, dependencies);
140
+ const testRun = await executeCase(testCase, 0, { dependencies, outputRenderer, reporters });
140
141
  reporterErrors = [...reporterErrors, ...suiteErrors, ...testRun.reporterErrors];
141
142
  perTest = [...perTest, testRun.result];
142
143
  }
@@ -144,7 +145,7 @@ async function executeTestPlanCases(testPlan, reporters, dependencies) {
144
145
  perTest,
145
146
  reporterErrors: [
146
147
  ...reporterErrors,
147
- ...await reportSuiteTransition(reporters, dependencies, currentSuitePath, [])
148
+ ...await reportSuiteTransition({ dependencies, outputRenderer, reporters }, currentSuitePath, [])
148
149
  ]
149
150
  };
150
151
  }
@@ -180,18 +181,23 @@ async function executeConcurrentCaseBody(testCase, dependencies) {
180
181
  };
181
182
  }
182
183
  }
183
- async function reportConcurrentCaseStarts(testPlan, reporters, dependencies) {
184
+ async function reportConcurrentCaseStarts(testPlan, reporters, outputRenderer, dependencies) {
185
+ const reportingContext = {
186
+ dependencies,
187
+ outputRenderer,
188
+ reporters
189
+ };
184
190
  let reporterErrors = [];
185
191
  let currentSuitePath = [];
186
192
  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);
193
+ const suiteErrors = await reportSuiteTransition(reportingContext, currentSuitePath, testCase.suitePath);
194
+ const startErrors = await reportTestStart(testCase, 0, reportingContext);
189
195
  currentSuitePath = testCase.suitePath;
190
196
  reporterErrors = [...reporterErrors, ...suiteErrors, ...startErrors];
191
197
  }
192
198
  return [
193
199
  ...reporterErrors,
194
- ...await reportSuiteTransition(reporters, dependencies, currentSuitePath, [])
200
+ ...await reportSuiteTransition(reportingContext, currentSuitePath, [])
195
201
  ];
196
202
  }
197
203
  async function reportConcurrentCaseEnd(testCase, executedCase, reportQueue) {
@@ -219,9 +225,9 @@ async function executeConcurrentCases(testPlan, reportQueue, dependencies) {
219
225
  })
220
226
  };
221
227
  }
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);
228
+ async function executeConcurrentTestPlanCases(testPlan, reporters, outputRenderer, dependencies) {
229
+ const reporterErrors = await reportConcurrentCaseStarts(testPlan, reporters, outputRenderer, dependencies);
230
+ const concurrentCaseExecution = await executeConcurrentCases(testPlan, createReporterEventQueue(reporters, outputRenderer, dependencies), dependencies);
225
231
  return {
226
232
  perTest: concurrentCaseExecution.perTest,
227
233
  reporterErrors: [...reporterErrors, ...concurrentCaseExecution.endReporterErrors]
@@ -229,9 +235,9 @@ async function executeConcurrentTestPlanCases(testPlan, reporters, dependencies)
229
235
  }
230
236
  async function executeTestPlanCasesWithMode(testPlan, options, dependencies) {
231
237
  if (options.execution.mode === 'concurrent-in-process') {
232
- return await executeConcurrentTestPlanCases(testPlan, options.reporters, dependencies);
238
+ return await executeConcurrentTestPlanCases(testPlan, options.reporters, options.outputRenderer, dependencies);
233
239
  }
234
- return await executeTestPlanCases(testPlan, options.reporters, dependencies);
240
+ return await executeTestPlanCases(testPlan, options.reporters, options.outputRenderer, dependencies);
235
241
  }
236
242
  function createRunResult(testPlan, perTest, reporterErrors, timing) {
237
243
  const result = {
@@ -255,8 +261,15 @@ function appendRunnerErrors(result, runnerErrors) {
255
261
  };
256
262
  }
257
263
  function executeOptionsWithDefaults(options) {
258
- return options ?? {
264
+ if (options !== undefined) {
265
+ return {
266
+ ...options,
267
+ outputRenderer: options.outputRenderer ?? createPlainOutputRenderer()
268
+ };
269
+ }
270
+ return {
259
271
  execution: { mode: 'serial-in-process' },
272
+ outputRenderer: createPlainOutputRenderer(),
260
273
  reporters: [],
261
274
  runFacts: {},
262
275
  startedAt: epoch.toISOString()
@@ -281,7 +294,7 @@ async function createRunResultBeforeRunEnd(testPlan, options, dependencies) {
281
294
  kind: 'run-start',
282
295
  root: testPlan.root,
283
296
  startedAt: options.startedAt
284
- });
297
+ }, options.outputRenderer);
285
298
  const executedTestPlan = await executeTestPlanCasesWithMode(testPlan, options, dependencies);
286
299
  const reporterErrors = [...startErrors, ...executedTestPlan.reporterErrors];
287
300
  return createRunResult(testPlan, executedTestPlan.perTest, reporterErrors, {
@@ -295,9 +308,9 @@ async function executeRun(testPlan, options, dependencies, reporterDisposal) {
295
308
  const runEndErrors = await dependencies.reporterDispatcher.reportEvent(options.reporters, {
296
309
  kind: 'run-end',
297
310
  result
298
- });
311
+ }, options.outputRenderer);
299
312
  const resultForFinalReporting = appendRunnerErrors(result, runEndErrors);
300
- const finalReporterErrors = await dependencies.reporterDispatcher.reportResult(options.reporters, resultForFinalReporting);
313
+ const finalReporterErrors = await dependencies.reporterDispatcher.reportResult(options.reporters, resultForFinalReporting, options.outputRenderer);
301
314
  const disposeErrors = await reporterDisposal.disposeOnce();
302
315
  return appendRunnerErrors(resultForFinalReporting, [...finalReporterErrors, ...disposeErrors]);
303
316
  }
@@ -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"}
@@ -0,0 +1,244 @@
1
+ const callbackTimeoutMs = 100;
2
+ function formatReporterError(reporter, cause) {
3
+ const reason = cause instanceof Error ? cause.message : String(cause);
4
+ return {
5
+ attributedTo: null,
6
+ cause,
7
+ message: `${reporter.name}: ${reason}`,
8
+ subtype: 'reporter'
9
+ };
10
+ }
11
+ function timeoutError(reporter) {
12
+ return new Error(`${reporter.name} reporter callback timed out after ${callbackTimeoutMs} ms.`);
13
+ }
14
+ function createReporterTimeout(dependencies, reporter) {
15
+ const { promise, reject } = Promise.withResolvers();
16
+ const timeout = dependencies.wallClock.setTimeout(function rejectTimedOutCallback() {
17
+ reject(timeoutError(reporter));
18
+ }, callbackTimeoutMs);
19
+ return {
20
+ cancel() {
21
+ dependencies.wallClock.clearTimeout(timeout);
22
+ },
23
+ promise
24
+ };
25
+ }
26
+ function isObject(value) {
27
+ return typeof value === 'object' && value !== null;
28
+ }
29
+ function isOutputLineKind(value) {
30
+ return value === 'stdout-line' || value === 'stderr-line';
31
+ }
32
+ function isOutputLineRole(value) {
33
+ return value === 'primary' || value === 'supplemental';
34
+ }
35
+ function isOutputLineIntent(value) {
36
+ return isObject(value) &&
37
+ isOutputLineKind(value.kind) &&
38
+ isOutputLineRole(value.role) &&
39
+ typeof value.text === 'string' &&
40
+ Object.hasOwn(value, 'annotation');
41
+ }
42
+ function normalizeReporterOutput(output) {
43
+ if (output === undefined) {
44
+ return [];
45
+ }
46
+ if (Array.isArray(output) && output.every(isOutputLineIntent)) {
47
+ return output;
48
+ }
49
+ throw new Error('Reporter returned invalid managed output.');
50
+ }
51
+ async function awaitReporterCallback(dependencies, reporter, callback) {
52
+ const reporterTimeout = createReporterTimeout(dependencies, reporter);
53
+ try {
54
+ const output = await Promise.race([callback(), reporterTimeout.promise]);
55
+ return { kind: 'success', output: normalizeReporterOutput(output), reporter };
56
+ }
57
+ catch (error) {
58
+ return { error: formatReporterError(reporter, error), kind: 'failure', reporter };
59
+ }
60
+ finally {
61
+ reporterTimeout.cancel();
62
+ }
63
+ }
64
+ async function awaitReporterDispose(dependencies, reporter, dispose) {
65
+ const reporterTimeout = createReporterTimeout(dependencies, reporter);
66
+ try {
67
+ await Promise.race([dispose(), reporterTimeout.promise]);
68
+ return null;
69
+ }
70
+ catch (error) {
71
+ return { error: formatReporterError(reporter, error), kind: 'failure', reporter };
72
+ }
73
+ finally {
74
+ reporterTimeout.cancel();
75
+ }
76
+ }
77
+ function outputIntentStream(intent) {
78
+ return intent.kind === 'stderr-line' ? 'stderr' : 'stdout';
79
+ }
80
+ function expectedSinkKind(intent) {
81
+ return `${outputIntentStream(intent)}-managed-${intent.role}`;
82
+ }
83
+ function reporterDeclaresOutputIntent(reporter, intent) {
84
+ return reporter.sinks.some(function sinkMatchesIntent(sink) {
85
+ return sink.kind === expectedSinkKind(intent);
86
+ });
87
+ }
88
+ function validateRenderedLine(line) {
89
+ if (line.includes('\n') || line.includes('\r')) {
90
+ throw new Error('Managed output renderer returned a line containing a newline.');
91
+ }
92
+ }
93
+ function outputWriterForIntent(dependencies, intent) {
94
+ return outputIntentStream(intent) === 'stdout' ? dependencies.stdout : dependencies.stderr;
95
+ }
96
+ function reporterFailures(results) {
97
+ return results.flatMap(function collectFailure(result) {
98
+ return result.kind === 'failure' ? [result] : [];
99
+ });
100
+ }
101
+ function reporterSuccesses(results) {
102
+ return results.flatMap(function collectSuccess(result) {
103
+ return result.kind === 'success' ? [result] : [];
104
+ });
105
+ }
106
+ function assertReporterDeclaresOutputIntent(reporter, intent) {
107
+ if (!reporterDeclaresOutputIntent(reporter, intent)) {
108
+ throw new Error(`Reporter returned undeclared managed ${outputIntentStream(intent)} output.`);
109
+ }
110
+ }
111
+ function writeReporterOutput(dependencies, reporter, intent, outputRenderer) {
112
+ try {
113
+ assertReporterDeclaresOutputIntent(reporter, intent);
114
+ const line = outputRenderer.render(intent);
115
+ validateRenderedLine(line);
116
+ outputWriterForIntent(dependencies, intent).writeLine(line);
117
+ return null;
118
+ }
119
+ catch (error) {
120
+ return { error: formatReporterError(reporter, error), kind: 'failure', reporter };
121
+ }
122
+ }
123
+ function writeReporterOutputs(dependencies, outputs, outputRenderer) {
124
+ const failures = [];
125
+ for (const output of outputs) {
126
+ for (const intent of output.output) {
127
+ const failure = writeReporterOutput(dependencies, output.reporter, intent, outputRenderer);
128
+ if (failure !== null) {
129
+ failures.push(failure);
130
+ }
131
+ }
132
+ }
133
+ return failures;
134
+ }
135
+ async function reportEventToReporter(dependencies, reporter, event) {
136
+ return await awaitReporterCallback(dependencies, reporter, function sendReporterEvent() {
137
+ return reporter.onEvent(event);
138
+ });
139
+ }
140
+ async function reportRunnerErrorToOtherReporters(context, failedReporter, error) {
141
+ const event = { error, kind: 'runner-error' };
142
+ const failures = await Promise.all(context.reporters.map(async function reportRunnerError(reporter) {
143
+ if (reporter.kind !== 'real-time' || reporter === failedReporter) {
144
+ return null;
145
+ }
146
+ return reportEventToReporter(context.dependencies, reporter, event);
147
+ }));
148
+ const results = failures.flatMap(function collectResult(result) {
149
+ return result === null ? [] : [result];
150
+ });
151
+ const outputFailures = writeReporterOutputs(context.dependencies, reporterSuccesses(results), context.outputRenderer);
152
+ return [
153
+ ...reporterFailures(results).map(function toError(failure) {
154
+ return failure.error;
155
+ }),
156
+ ...outputFailures.map(function toError(failure) {
157
+ return failure.error;
158
+ })
159
+ ];
160
+ }
161
+ async function collectReporterErrorsWithNotifications(context, reporterErrors) {
162
+ const notificationErrors = await Promise.all(reporterErrors.map(async function reportError(failure) {
163
+ return reportRunnerErrorToOtherReporters(context, failure.reporter, failure.error);
164
+ }));
165
+ return [
166
+ ...reporterErrors.map(function toError(failure) {
167
+ return failure.error;
168
+ }),
169
+ ...notificationErrors.flat()
170
+ ];
171
+ }
172
+ async function reportEvent(context, event) {
173
+ const results = await Promise.all(context.reporters.map(async function reportRealTimeEvent(reporter) {
174
+ if (reporter.kind !== 'real-time') {
175
+ return null;
176
+ }
177
+ return reportEventToReporter(context.dependencies, reporter, event);
178
+ }));
179
+ const callbackResults = results.flatMap(function collectResult(result) {
180
+ return result === null ? [] : [result];
181
+ });
182
+ const outputErrors = writeReporterOutputs(context.dependencies, reporterSuccesses(callbackResults), context.outputRenderer);
183
+ const reporterErrors = [...reporterFailures(callbackResults), ...outputErrors];
184
+ if (event.kind === 'runner-error') {
185
+ return reporterErrors.map(function toError(failure) {
186
+ return failure.error;
187
+ });
188
+ }
189
+ return collectReporterErrorsWithNotifications(context, reporterErrors);
190
+ }
191
+ async function reportResult(context, result) {
192
+ const results = await Promise.all(context.reporters.map(async function reportFinalResult(reporter) {
193
+ if (reporter.kind === 'final-result') {
194
+ return await awaitReporterCallback(context.dependencies, reporter, function reportResultToFinalReporter() {
195
+ return reporter.onResult(result);
196
+ });
197
+ }
198
+ if (reporter.onFinish === null) {
199
+ return null;
200
+ }
201
+ const { onFinish } = reporter;
202
+ return await awaitReporterCallback(context.dependencies, reporter, function reportResultToRealTimeReporter() {
203
+ return onFinish(result);
204
+ });
205
+ }));
206
+ const callbackResults = results.flatMap(function collectResult(callbackResult) {
207
+ return callbackResult === null ? [] : [callbackResult];
208
+ });
209
+ const outputErrors = writeReporterOutputs(context.dependencies, reporterSuccesses(callbackResults), context.outputRenderer);
210
+ const reporterErrors = [...reporterFailures(callbackResults), ...outputErrors];
211
+ return collectReporterErrorsWithNotifications(context, reporterErrors);
212
+ }
213
+ async function disposeReporters(dependencies, reporters) {
214
+ const failures = await Promise.all(reporters.map(async function disposeReporter(reporter) {
215
+ if (reporter.dispose === null) {
216
+ return null;
217
+ }
218
+ return await awaitReporterDispose(dependencies, reporter, reporter.dispose);
219
+ }));
220
+ return failures.flatMap(function collectFailure(failure) {
221
+ return failure === null ? [] : [failure.error];
222
+ });
223
+ }
224
+ function createReporterDispatchContext(dependencies, reporters, outputRenderer) {
225
+ return {
226
+ dependencies,
227
+ outputRenderer,
228
+ reporters
229
+ };
230
+ }
231
+ export function createReporterDispatcher(dependencies) {
232
+ return {
233
+ async disposeReporters(reporters) {
234
+ return await disposeReporters(dependencies, reporters);
235
+ },
236
+ async reportEvent(reporters, event, outputRenderer) {
237
+ return await reportEvent(createReporterDispatchContext(dependencies, reporters, outputRenderer), event);
238
+ },
239
+ async reportResult(reporters, result, outputRenderer) {
240
+ return await reportResult(createReporterDispatchContext(dependencies, reporters, outputRenderer), result);
241
+ }
242
+ };
243
+ }
244
+ //# sourceMappingURL=reporter-dispatcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reporter-dispatcher.js","sourceRoot":"","sources":["../../../../source/engine/reporter-dispatcher.ts"],"names":[],"mappings":"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"}
@@ -7,13 +7,13 @@ async function waitForPreviousReport(previousReport) {
7
7
  }
8
8
  return undefined;
9
9
  }
10
- export function createReporterEventQueue(reporters, dependencies) {
10
+ export function createReporterEventQueue(reporters, outputRenderer, dependencies) {
11
11
  let previousReport = Promise.resolve([]);
12
12
  return {
13
13
  async report(event) {
14
14
  const report = (async function reportEventAfterPreviousReport() {
15
15
  await waitForPreviousReport(previousReport);
16
- return await dependencies.reporterDispatcher.reportEvent(reporters, event);
16
+ return await dependencies.reporterDispatcher.reportEvent(reporters, event, outputRenderer);
17
17
  })();
18
18
  previousReport = report;
19
19
  return await report;
@@ -1 +1 @@
1
- {"version":3,"file":"reporter-event-queue.js","sourceRoot":"","sources":["../../../../source/engine/reporter-event-queue.ts"],"names":[],"mappings":"AAWA,KAAK,UAAU,qBAAqB,CAAC,cAA+C;IAChF,IAAI,CAAC;QACD,MAAM,cAAc,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,wBAAwB,CACpC,SAA8B,EAC9B,YAA4C;IAE5C,IAAI,cAAc,GAAG,OAAO,CAAC,OAAO,CAAyB,EAAE,CAAC,CAAC;IAEjE,OAAO;QACH,KAAK,CAAC,MAAM,CAAC,KAAK;YACd,MAAM,MAAM,GAAG,CAAC,KAAK,UAAU,8BAA8B;gBACzD,MAAM,qBAAqB,CAAC,cAAc,CAAC,CAAC;gBAE5C,OAAO,MAAM,YAAY,CAAC,kBAAkB,CAAC,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAC/E,CAAC,CAAC,EAAE,CAAC;YACL,cAAc,GAAG,MAAM,CAAC;YAExB,OAAO,MAAM,MAAM,CAAC;QACxB,CAAC;KACJ,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"reporter-event-queue.js","sourceRoot":"","sources":["../../../../source/engine/reporter-event-queue.ts"],"names":[],"mappings":"AAaA,KAAK,UAAU,qBAAqB,CAAC,cAA+C;IAChF,IAAI,CAAC;QACD,MAAM,cAAc,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,wBAAwB,CACpC,SAA8B,EAC9B,cAA8B,EAC9B,YAA4C;IAE5C,IAAI,cAAc,GAAG,OAAO,CAAC,OAAO,CAAyB,EAAE,CAAC,CAAC;IAEjE,OAAO;QACH,KAAK,CAAC,MAAM,CAAC,KAAK;YACd,MAAM,MAAM,GAAG,CAAC,KAAK,UAAU,8BAA8B;gBACzD,MAAM,qBAAqB,CAAC,cAAc,CAAC,CAAC;gBAE5C,OAAO,MAAM,YAAY,CAAC,kBAAkB,CAAC,WAAW,CAAC,SAAS,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;YAC/F,CAAC,CAAC,EAAE,CAAC;YACL,cAAc,GAAG,MAAM,CAAC;YAExB,OAAO,MAAM,MAAM,CAAC;QACxB,CAAC;KACJ,CAAC;AACN,CAAC"}
@@ -0,0 +1,24 @@
1
+ import type { SourceLocation } from '../assertion-protocol/assertion-node-shape.ts';
2
+ export type OutputIntentRole = 'primary' | 'supplemental';
3
+ export type OutputIntentSeverity = 'error' | 'notice' | 'warning';
4
+ export type OutputIntentAnnotation = {
5
+ readonly location: SourceLocation | null;
6
+ readonly severity: OutputIntentSeverity;
7
+ readonly title: string | null;
8
+ };
9
+ export type OutputLineIntent = {
10
+ readonly annotation: OutputIntentAnnotation | null;
11
+ readonly kind: 'stderr-line' | 'stdout-line';
12
+ readonly role: OutputIntentRole;
13
+ readonly text: string;
14
+ };
15
+ export type ReporterOutput = readonly OutputLineIntent[];
16
+ export type OptionalReporterOutput = ReporterOutput | undefined;
17
+ export type OutputRenderer = {
18
+ readonly render: (intent: OutputLineIntent) => string;
19
+ };
20
+ export type OutputLineWriter = {
21
+ readonly writeLine: (line: string) => void;
22
+ };
23
+ export declare function createPlainOutputRenderer(): OutputRenderer;
24
+ //# sourceMappingURL=reporter-output.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reporter-output.d.ts","sourceRoot":"","sources":["../../../../source/engine/reporter-output.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+CAA+C,CAAC;AAEpF,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,cAAc,CAAC;AAC1D,MAAM,MAAM,oBAAoB,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;AAElE,MAAM,MAAM,sBAAsB,GAAG;IACjC,QAAQ,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAC;IACxC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC3B,QAAQ,CAAC,UAAU,EAAE,sBAAsB,GAAG,IAAI,CAAC;IACnD,QAAQ,CAAC,IAAI,EAAE,aAAa,GAAG,aAAa,CAAC;IAC7C,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,SAAS,gBAAgB,EAAE,CAAC;AACzD,MAAM,MAAM,sBAAsB,GAAG,cAAc,GAAG,SAAS,CAAC;AAEhE,MAAM,MAAM,cAAc,GAAG;IACzB,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,MAAM,CAAC;CACzD,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC3B,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9C,CAAC;AAEF,wBAAgB,yBAAyB,IAAI,cAAc,CAM1D"}
@@ -0,0 +1,8 @@
1
+ export function createPlainOutputRenderer() {
2
+ return {
3
+ render(intent) {
4
+ return intent.text;
5
+ }
6
+ };
7
+ }
8
+ //# sourceMappingURL=reporter-output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reporter-output.js","sourceRoot":"","sources":["../../../../source/engine/reporter-output.ts"],"names":[],"mappings":"AA6BA,MAAM,UAAU,yBAAyB;IACrC,OAAO;QACH,MAAM,CAAC,MAAM;YACT,OAAO,MAAM,CAAC,IAAI,CAAC;QACvB,CAAC;KACJ,CAAC;AACN,CAAC"}