@overkill-dev/run 0.0.25 → 0.0.27

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 (85) hide show
  1. package/assertion-protocol/source-location.js +2 -1
  2. package/assertion-protocol/source-location.js.map +1 -1
  3. package/engine/engine.d.ts +2 -1
  4. package/engine/engine.d.ts.map +1 -1
  5. package/engine/engine.js +3 -3
  6. package/engine/engine.js.map +1 -1
  7. package/engine/run-result.d.ts +2 -1
  8. package/engine/run-result.d.ts.map +1 -1
  9. package/engine/run-result.js.map +1 -1
  10. package/engine/test-node.d.ts +8 -1
  11. package/engine/test-node.d.ts.map +1 -1
  12. package/engine/test-node.js +22 -4
  13. package/engine/test-node.js.map +1 -1
  14. package/engine/test-plan.d.ts +5 -3
  15. package/engine/test-plan.d.ts.map +1 -1
  16. package/engine/test-plan.js +41 -18
  17. package/engine/test-plan.js.map +1 -1
  18. package/package.json +6 -8
  19. package/packages/run/command-line.entry-point.d.ts +2 -0
  20. package/packages/run/command-line.entry-point.d.ts.map +1 -1
  21. package/packages/run/command-line.entry-point.js +1 -0
  22. package/packages/run/command-line.entry-point.js.map +1 -1
  23. package/packages/run/filters.entry-point.d.ts +1 -0
  24. package/packages/run/filters.entry-point.d.ts.map +1 -1
  25. package/packages/run/filters.entry-point.js +1 -0
  26. package/packages/run/filters.entry-point.js.map +1 -1
  27. package/readme.md +9 -6
  28. package/run/collected-run-plan.js +3 -1
  29. package/run/collected-run-plan.js.map +1 -1
  30. package/run/command-line-command.d.ts +2 -0
  31. package/run/command-line-command.d.ts.map +1 -1
  32. package/run/command-line-command.js.map +1 -1
  33. package/run/command-line-runner.d.ts +2 -1
  34. package/run/command-line-runner.d.ts.map +1 -1
  35. package/run/command-line-runner.js +52 -11
  36. package/run/command-line-runner.js.map +1 -1
  37. package/run/current-process-run-orchestrator.js +34 -0
  38. package/run/current-process-run-orchestrator.js.map +1 -0
  39. package/run/default-run-engine.js +46 -11
  40. package/run/default-run-engine.js.map +1 -1
  41. package/run/node-command-line-runner.d.ts +7 -0
  42. package/run/node-command-line-runner.d.ts.map +1 -0
  43. package/run/node-command-line-runner.js +14 -0
  44. package/run/node-command-line-runner.js.map +1 -0
  45. package/run/run-filter-grammar.d.ts +3 -0
  46. package/run/run-filter-grammar.d.ts.map +1 -0
  47. package/run/run-filter-grammar.js +212 -0
  48. package/run/run-filter-grammar.js.map +1 -0
  49. package/run/run-list-renderer.js +50 -14
  50. package/run/run-list-renderer.js.map +1 -1
  51. package/run/run-orchestrator.entry-point.d.ts.map +1 -1
  52. package/run/run-orchestrator.entry-point.js +3 -30
  53. package/run/run-orchestrator.entry-point.js.map +1 -1
  54. package/run/run-orchestrator.js +1 -2
  55. package/run/run-orchestrator.js.map +1 -1
  56. package/run/run-test-plan.js +10 -2
  57. package/run/run-test-plan.js.map +1 -1
  58. package/run/run-types.d.ts +2 -0
  59. package/run/run-types.d.ts.map +1 -1
  60. package/run/run-types.js.map +1 -1
  61. package/run/run.js +7 -7
  62. package/run/run.js.map +1 -1
  63. package/run/supervised-child-process.js +40 -5
  64. package/run/supervised-child-process.js.map +1 -1
  65. package/run/supervised-child-test-plan.js +16 -0
  66. package/run/supervised-child-test-plan.js.map +1 -0
  67. package/run/supervised-child.entry-point.js +85 -0
  68. package/run/supervised-child.entry-point.js.map +1 -0
  69. package/run/supervised-child.js +220 -0
  70. package/run/supervised-child.js.map +1 -0
  71. package/sbom.cdx.json +16 -67
  72. package/packages/engine/engine.entry-point.js +0 -67
  73. package/packages/engine/engine.entry-point.js.map +0 -1
  74. package/packages/reporter-line/reporter-line.entry-point.js +0 -2
  75. package/packages/reporter-line/reporter-line.entry-point.js.map +0 -1
  76. package/reporters/line-failure-rendering.js +0 -4
  77. package/reporters/line-failure-rendering.js.map +0 -1
  78. package/reporters/line-reporter.js +0 -131
  79. package/reporters/line-reporter.js.map +0 -1
  80. package/reporters/serialized-value-rendering.js +0 -1
  81. package/reporters/serialized-value-rendering.js.map +0 -1
  82. package/reporters/source-location-rendering.js +0 -1
  83. package/reporters/source-location-rendering.js.map +0 -1
  84. package/reporters/terminal.js +0 -3
  85. package/reporters/terminal.js.map +0 -1
@@ -0,0 +1,220 @@
1
+ import { createWallClock } from '@enormora/wall-clock';
2
+ import { caseIdentityKey } from "../engine/identity.js";
3
+ import { createExecute } from "../engine/execution.js";
4
+ import { createReporterDispatcher } from "../engine/reporter-dispatcher.js";
5
+ import { createNodeResourceUsageTracker } from "./resource-usage.js";
6
+ import { collectedRunPlanFromTestPlan, collectedRunPlanFromTestPlanCases, createRunResultFromCollectedPlan } from "./collected-run-plan.js";
7
+ import { createRuntimeCapabilityPolicy } from "./capability-policy.js";
8
+ import { createSupervisedChildTestPlan } from "./supervised-child-test-plan.js";
9
+ function ignoreLine() {
10
+ return undefined;
11
+ }
12
+ function renderNothing() {
13
+ return '';
14
+ }
15
+ function createIpcReporter(host) {
16
+ return {
17
+ dispose: null,
18
+ kind: 'real-time',
19
+ name: 'supervised-child-ipc',
20
+ onEvent(event) {
21
+ if (event.kind !== 'run-start' && event.kind !== 'run-end') {
22
+ host.send({ event, kind: 'event' });
23
+ }
24
+ },
25
+ onFinish: null,
26
+ sinks: [{ kind: 'memory' }]
27
+ };
28
+ }
29
+ function selectAssignedCases(testPlan, assignedCases) {
30
+ const assigned = new Set(assignedCases.map(caseIdentityKey));
31
+ const cases = testPlan.cases.filter(function assignedCase(testCase) {
32
+ return assigned.has(caseIdentityKey(testCase.id));
33
+ });
34
+ const first = cases[0];
35
+ if (first === undefined || cases.length !== assigned.size) {
36
+ throw new Error('Supervised child test plan did not match assigned case identities.');
37
+ }
38
+ return {
39
+ ...testPlan,
40
+ cases: [first, ...cases.slice(1)]
41
+ };
42
+ }
43
+ function createResourceUsageTracker(command, host) {
44
+ const tracker = createNodeResourceUsageTracker(createWallClock(), {
45
+ samplingIntervalMilliseconds: command.resourceUsageSamplingIntervalMilliseconds
46
+ });
47
+ return {
48
+ finish: tracker.finish,
49
+ start(onSample) {
50
+ tracker.start(function forwardSample(sample) {
51
+ host.send({ kind: 'sample', sample });
52
+ onSample?.(sample);
53
+ });
54
+ }
55
+ };
56
+ }
57
+ function executionMode(command) {
58
+ return command.scheduling === 'concurrent' ? 'concurrent-in-process' : 'serial-in-process';
59
+ }
60
+ function createEmptyAssignmentResult(testPlan, wallClock, startedAtMs) {
61
+ return createRunResultFromCollectedPlan(collectedRunPlanFromTestPlanCases(testPlan, []), [], [], {
62
+ resourceUsage: null,
63
+ startedAtMs,
64
+ wallClock
65
+ });
66
+ }
67
+ function createRuntimePolicy(command, host) {
68
+ return command.capabilityRestrictions.mode === 'enabled'
69
+ ? createRuntimeCapabilityPolicy({
70
+ dependencies: {
71
+ installIpcRestriction: host.installIpcRestriction,
72
+ installProcessExecutionRestriction: host.installProcessExecutionRestriction,
73
+ readEnvironment: host.readEnvironment,
74
+ readStorage: host.readStorage
75
+ },
76
+ observedStderr: false,
77
+ observedStdout: false
78
+ })
79
+ : null;
80
+ }
81
+ async function createPolicyCheckedTestPlan(command, runtimePolicy) {
82
+ const createPlan = async function createTestPlanInsidePolicy() {
83
+ return await createSupervisedChildTestPlan(command);
84
+ };
85
+ return runtimePolicy === null ? await createPlan() : await runtimePolicy.runLoad(createPlan);
86
+ }
87
+ function sendRuntimePolicyErrors(host, runtimePolicy) {
88
+ const errors = runtimePolicy?.takeRunErrors() ?? [];
89
+ for (const runtimePolicyError of errors) {
90
+ host.send({
91
+ event: {
92
+ error: runtimePolicyError,
93
+ kind: 'runner-error'
94
+ },
95
+ kind: 'event'
96
+ });
97
+ }
98
+ }
99
+ async function readCollectedTestPlan(command, runtimePolicy) {
100
+ const testPlan = await createPolicyCheckedTestPlan(command, runtimePolicy);
101
+ const runnerErrors = runtimePolicy?.takeRunErrors() ?? [];
102
+ return { runnerErrors, testPlan };
103
+ }
104
+ async function createCollectedTestPlan(command, host, runtimePolicy) {
105
+ try {
106
+ return await readCollectedTestPlan(command, runtimePolicy);
107
+ }
108
+ catch (error) {
109
+ sendRuntimePolicyErrors(host, runtimePolicy);
110
+ throw error;
111
+ }
112
+ }
113
+ function sendCollectedPlan(collectedPlan, host) {
114
+ host.send({
115
+ collectedPlan: collectedRunPlanFromTestPlan(collectedPlan.testPlan),
116
+ kind: 'collected',
117
+ runnerErrors: collectedPlan.runnerErrors
118
+ });
119
+ }
120
+ async function collect(command, host) {
121
+ host.validatePermissionHost(command);
122
+ const runtimePolicy = createRuntimePolicy(command, host);
123
+ const collectedPlan = await createCollectedTestPlan(command, host, runtimePolicy);
124
+ sendCollectedPlan(collectedPlan, host);
125
+ return collectedPlan;
126
+ }
127
+ function sendRunResult(host, result) {
128
+ host.send({
129
+ kind: 'result',
130
+ result
131
+ });
132
+ }
133
+ function startedAtIso(startedAtMs) {
134
+ const startedAt = new Date(startedAtMs);
135
+ return startedAt.toISOString();
136
+ }
137
+ async function executeAssignment(input) {
138
+ const runtimePolicy = createRuntimePolicy(input.command, input.host);
139
+ const execute = createExecute({
140
+ reporterDispatcher: createReporterDispatcher({
141
+ stderr: { writeLine: ignoreLine },
142
+ stdout: { writeLine: ignoreLine },
143
+ wallClock: input.wallClock
144
+ }),
145
+ wallClock: input.wallClock
146
+ });
147
+ input.host.dropBodyReadPermission(input.command);
148
+ const testPlan = selectAssignedCases(input.collectedPlan.testPlan, input.assignment.assignedCases);
149
+ return await execute(testPlan, {
150
+ execution: { mode: executionMode(input.command) },
151
+ outputRenderer: { render: renderNothing },
152
+ reporters: [createIpcReporter(input.host)],
153
+ resourceBudgets: input.command.resourceBudgets,
154
+ resourceUsageTracker: createResourceUsageTracker(input.command, input.host),
155
+ runtimePolicy,
156
+ runFacts: {},
157
+ startedAt: startedAtIso(input.startedAtMs),
158
+ timeoutPolicy: {
159
+ hardTimeoutMilliseconds: input.command.hardTimeoutMilliseconds,
160
+ timeoutMilliseconds: input.command.timeoutMilliseconds
161
+ }
162
+ });
163
+ }
164
+ async function run(command, host) {
165
+ const wallClock = createWallClock();
166
+ const startedAtMs = wallClock.currentTimestampInMilliseconds;
167
+ const collectedPlan = await collect(command, host);
168
+ const assignment = await host.receiveAssignment();
169
+ if (assignment.assignedCases.length === 0) {
170
+ sendRunResult(host, createEmptyAssignmentResult(collectedPlan.testPlan, wallClock, startedAtMs));
171
+ return;
172
+ }
173
+ sendRunResult(host, await executeAssignment({
174
+ assignment,
175
+ collectedPlan,
176
+ command,
177
+ host,
178
+ startedAtMs,
179
+ wallClock
180
+ }));
181
+ }
182
+ function sendFailure(error, host) {
183
+ host.send({
184
+ event: {
185
+ error: {
186
+ attributedTo: null,
187
+ cause: error,
188
+ message: error instanceof Error ? error.message : String(error),
189
+ subtype: 'loader'
190
+ },
191
+ kind: 'runner-error'
192
+ },
193
+ kind: 'event'
194
+ });
195
+ }
196
+ async function completeReceivedCommand(command, host) {
197
+ if (command.kind === 'collect') {
198
+ await collect(command, host);
199
+ }
200
+ else {
201
+ await run(command, host);
202
+ }
203
+ host.setExitCode(0);
204
+ }
205
+ async function runReceivedCommand(command, host) {
206
+ try {
207
+ await completeReceivedCommand(command, host);
208
+ }
209
+ catch (error) {
210
+ sendFailure(error, host);
211
+ host.setExitCode(1);
212
+ }
213
+ finally {
214
+ host.disconnect();
215
+ }
216
+ }
217
+ export async function runSupervisedChild(host) {
218
+ await runReceivedCommand(await host.receiveCommand(), host);
219
+ }
220
+ //# sourceMappingURL=supervised-child.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"supervised-child.js","sourceRoot":"","sources":["../../../../source/run/supervised-child.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.25",
20
- "bom-ref": "pkg:npm/@overkill-dev/run@0.0.25",
21
- "purl": "pkg:npm/@overkill-dev/run@0.0.25"
19
+ "version": "0.0.27",
20
+ "bom-ref": "pkg:npm/@overkill-dev/run@0.0.27",
21
+ "purl": "pkg:npm/@overkill-dev/run@0.0.27"
22
22
  }
23
23
  },
24
24
  "components": [
@@ -37,29 +37,29 @@
37
37
  },
38
38
  {
39
39
  "type": "library",
40
- "name": "@schema-hub/zod-error-formatter",
41
- "version": "0.0.16",
42
- "bom-ref": "pkg:npm/@schema-hub/zod-error-formatter@0.0.16",
40
+ "name": "@overkill-dev/reporter-line",
41
+ "version": "0.0.21",
42
+ "bom-ref": "pkg:npm/@overkill-dev/reporter-line@0.0.21",
43
43
  "scope": "required",
44
44
  "licenses": [
45
45
  {
46
46
  "expression": "MIT"
47
47
  }
48
48
  ],
49
- "purl": "pkg:npm/@schema-hub/zod-error-formatter@0.0.16"
49
+ "purl": "pkg:npm/@overkill-dev/reporter-line@0.0.21"
50
50
  },
51
51
  {
52
52
  "type": "library",
53
- "name": "ansi-escapes",
54
- "version": "7.3.0",
55
- "bom-ref": "pkg:npm/ansi-escapes@7.3.0",
53
+ "name": "@schema-hub/zod-error-formatter",
54
+ "version": "0.0.16",
55
+ "bom-ref": "pkg:npm/@schema-hub/zod-error-formatter@0.0.16",
56
56
  "scope": "required",
57
57
  "licenses": [
58
58
  {
59
59
  "expression": "MIT"
60
60
  }
61
61
  ],
62
- "purl": "pkg:npm/ansi-escapes@7.3.0"
62
+ "purl": "pkg:npm/@schema-hub/zod-error-formatter@0.0.16"
63
63
  },
64
64
  {
65
65
  "type": "library",
@@ -74,45 +74,6 @@
74
74
  ],
75
75
  "purl": "pkg:npm/diff@9.0.0"
76
76
  },
77
- {
78
- "type": "library",
79
- "name": "figures",
80
- "version": "6.1.0",
81
- "bom-ref": "pkg:npm/figures@6.1.0",
82
- "scope": "required",
83
- "licenses": [
84
- {
85
- "expression": "MIT"
86
- }
87
- ],
88
- "purl": "pkg:npm/figures@6.1.0"
89
- },
90
- {
91
- "type": "library",
92
- "name": "string-width",
93
- "version": "8.2.2",
94
- "bom-ref": "pkg:npm/string-width@8.2.2",
95
- "scope": "required",
96
- "licenses": [
97
- {
98
- "expression": "MIT"
99
- }
100
- ],
101
- "purl": "pkg:npm/string-width@8.2.2"
102
- },
103
- {
104
- "type": "library",
105
- "name": "yoctocolors",
106
- "version": "2.2.0",
107
- "bom-ref": "pkg:npm/yoctocolors@2.2.0",
108
- "scope": "required",
109
- "licenses": [
110
- {
111
- "expression": "MIT"
112
- }
113
- ],
114
- "purl": "pkg:npm/yoctocolors@2.2.0"
115
- },
116
77
  {
117
78
  "type": "library",
118
79
  "name": "zod",
@@ -132,36 +93,24 @@
132
93
  "ref": "pkg:npm/@enormora/wall-clock@0.0.3"
133
94
  },
134
95
  {
135
- "ref": "pkg:npm/@overkill-dev/run@0.0.25",
96
+ "ref": "pkg:npm/@overkill-dev/reporter-line@0.0.21"
97
+ },
98
+ {
99
+ "ref": "pkg:npm/@overkill-dev/run@0.0.27",
136
100
  "dependsOn": [
137
101
  "pkg:npm/@enormora/wall-clock@0.0.3",
102
+ "pkg:npm/@overkill-dev/reporter-line@0.0.21",
138
103
  "pkg:npm/@schema-hub/zod-error-formatter@0.0.16",
139
- "pkg:npm/ansi-escapes@7.3.0",
140
104
  "pkg:npm/diff@9.0.0",
141
- "pkg:npm/figures@6.1.0",
142
- "pkg:npm/string-width@8.2.2",
143
- "pkg:npm/yoctocolors@2.2.0",
144
105
  "pkg:npm/zod@4.4.3"
145
106
  ]
146
107
  },
147
108
  {
148
109
  "ref": "pkg:npm/@schema-hub/zod-error-formatter@0.0.16"
149
110
  },
150
- {
151
- "ref": "pkg:npm/ansi-escapes@7.3.0"
152
- },
153
111
  {
154
112
  "ref": "pkg:npm/diff@9.0.0"
155
113
  },
156
- {
157
- "ref": "pkg:npm/figures@6.1.0"
158
- },
159
- {
160
- "ref": "pkg:npm/string-width@8.2.2"
161
- },
162
- {
163
- "ref": "pkg:npm/yoctocolors@2.2.0"
164
- },
165
114
  {
166
115
  "ref": "pkg:npm/zod@4.4.3"
167
116
  }
@@ -1,67 +0,0 @@
1
- import { createWallClock } from '@enormora/wall-clock';
2
- import { createEngine as createEngineInstance } from "../../engine/engine.js";
3
- import { createExecute } from "../../engine/execution.js";
4
- import { createReporterDispatcher } from "../../engine/reporter-dispatcher.js";
5
- function readProcessExitCode() {
6
- return process.exitCode;
7
- }
8
- function writeProcessExitCode(exitCode) {
9
- process.exitCode = exitCode;
10
- }
11
- function writeStdoutLine(line) {
12
- process.stdout.write(`${line}\n`);
13
- }
14
- function writeStderrLine(line) {
15
- process.stderr.write(`${line}\n`);
16
- }
17
- export function createEngine() {
18
- const wallClock = createWallClock();
19
- return createEngineInstance({
20
- execute: createExecute({
21
- reporterDispatcher: createReporterDispatcher({
22
- stderr: { writeLine: writeStderrLine },
23
- stdout: { writeLine: writeStdoutLine },
24
- wallClock
25
- }),
26
- wallClock
27
- }),
28
- nodeVersion: process.versions.node,
29
- readExitCode: readProcessExitCode,
30
- wallClock,
31
- writeExitCode: writeProcessExitCode
32
- });
33
- }
34
- const defaultEngine = createEngine();
35
- export function createRoot(options) {
36
- return defaultEngine.createRoot(options);
37
- }
38
- export function createSuite(options) {
39
- return defaultEngine.createSuite(options);
40
- }
41
- export function createTable(options) {
42
- return defaultEngine.createTable(options);
43
- }
44
- export function createTestCase(options) {
45
- return defaultEngine.createTestCase(options);
46
- }
47
- export function createTestPlan(root) {
48
- return defaultEngine.createTestPlan(root);
49
- }
50
- export function createTestPlanFromTestFiles(options) {
51
- return defaultEngine.createTestPlanFromTestFiles(options);
52
- }
53
- export async function execute(testPlan, options) {
54
- return await defaultEngine.execute(testPlan, options);
55
- }
56
- export async function runIfMain(meta, testNode, options) {
57
- await defaultEngine.runIfMain(meta, testNode, options);
58
- }
59
- export function ownsTestNode(value) {
60
- return defaultEngine.ownsTestNode(value);
61
- }
62
- export { formatCaseId } from "../../engine/identity.js";
63
- export { defineReporter, isReporter, ReporterSinkConflictError, validateReporterSinks } from "../../engine/reporter.js";
64
- export { createPlainOutputRenderer, defineOutputRenderer, isOutputRenderer } from "../../engine/reporter-output.js";
65
- export { defaultSerializationBudget, serializeValue, serializeValueWithBudget } from "../../compare/serialized-value.js";
66
- export { captureSourceLocation, unknownSourceLocation } from "../../assertion-protocol/source-location.js";
67
- //# sourceMappingURL=engine.entry-point.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"engine.entry-point.js","sourceRoot":"","sources":["../../../../../source/packages/engine/engine.entry-point.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import "../../reporters/line-reporter.js";
2
- //# sourceMappingURL=reporter-line.entry-point.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reporter-line.entry-point.js","sourceRoot":"","sources":["../../../../../source/packages/reporter-line/reporter-line.entry-point.ts"],"names":[],"mappings":"AAAA,OAAiE,kCAAkC,CAAC"}
@@ -1,4 +0,0 @@
1
- import 'yoctocolors';
2
- import "./serialized-value-rendering.js";
3
- import "./source-location-rendering.js";
4
- //# sourceMappingURL=line-failure-rendering.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"line-failure-rendering.js","sourceRoot":"","sources":["../../../../source/reporters/line-failure-rendering.ts"],"names":[],"mappings":"AAAA,OAAmB,aAAa,CAAC;AAYjC,OAA+C,iCAAiC,CAAC;AACjF,OAAqC,gCAAgC,CAAC;AA4D3D"}
@@ -1,131 +0,0 @@
1
- import figures from 'figures';
2
- import colors from 'yoctocolors';
3
- import { defineReporter } from "../engine/reporter.js";
4
- import { formatFailure } from "./line-failure-rendering.js";
5
- import { createTerminalLineLogger } from "./terminal.js";
6
- const successSymbol = colors.green(figures.tick);
7
- const errorSymbol = colors.red(figures.cross);
8
- const infoSymbol = colors.cyan(figures.info);
9
- function indent(depth) {
10
- return ' '.repeat(depth);
11
- }
12
- function formatCaseName(id) {
13
- if (id.params === null) {
14
- return id.name;
15
- }
16
- return `${id.name} [${id.params}]`;
17
- }
18
- function outcomeReason(outcome) {
19
- if (outcome.kind === 'skip' || outcome.kind === 'inconclusive') {
20
- return outcome.reason;
21
- }
22
- return null;
23
- }
24
- function formatDuration(wallTimeMs) {
25
- return `${wallTimeMs} ms`;
26
- }
27
- function formatTestResult(id, outcome, wallTimeMs) {
28
- const reason = outcomeReason(outcome);
29
- const detail = reason === null ? '' : `: ${reason}`;
30
- const message = `${formatCaseName(id)}${detail} (${formatDuration(wallTimeMs)})`;
31
- if (outcome.kind === 'fail') {
32
- return [errorSymbol, message];
33
- }
34
- if (outcome.kind === 'pass') {
35
- return [successSymbol, message];
36
- }
37
- return [infoSymbol, message];
38
- }
39
- function formatTerminalTestResult(id, verdict, wallTimeMs) {
40
- const message = `${formatCaseName(id)} (${formatDuration(wallTimeMs)})`;
41
- if (verdict === 'resource-exhausted') {
42
- return [errorSymbol, `${message}: resource exhausted`];
43
- }
44
- return [errorSymbol, `${message}: crashed`];
45
- }
46
- function formatSuiteName(event) {
47
- return event.suitePath.reduce(function selectLastSuiteName(_previous, suiteName) {
48
- return suiteName;
49
- });
50
- }
51
- function formatOrphan(orphan) {
52
- return `${orphan.kind}: ${orphan.name} (${orphan.file ?? '<unknown>'})`;
53
- }
54
- function logFailures(terminal, suiteDepth, outcome) {
55
- for (const failure of outcome.failures) {
56
- for (const line of formatFailure(failure)) {
57
- terminal.line(`${indent(suiteDepth + 1)}${line}`);
58
- }
59
- }
60
- }
61
- function logSummary(terminal, result) {
62
- const { summary } = result;
63
- const executed = summary.passed + summary.failed + summary.skipped + summary.inconclusive +
64
- summary.crashed + summary.resourceExhausted;
65
- const outcomes = [
66
- `${summary.passed} pass`,
67
- `${summary.failed} fail`,
68
- `${summary.skipped} skip`,
69
- ...summary.inconclusive === 0 ? [] : [`${summary.inconclusive} inconclusive`],
70
- ...summary.resourceExhausted === 0 ? [] : [`${summary.resourceExhausted} resource-exhausted`],
71
- ...summary.crashed === 0 ? [] : [`${summary.crashed} crash`]
72
- ]
73
- .join(', ');
74
- const orphanSummary = result.orphans.length === 0 ? '' : `, ${result.orphans.length} orphaned`;
75
- const countSummary = `${summary.discovered} discovered, ${summary.planned} planned, ${executed} executed`;
76
- terminal.line(infoSymbol, `${countSummary} (${outcomes})${orphanSummary} in ${formatDuration(result.wallTimeMs)}`);
77
- }
78
- function logOrphans(terminal, orphans) {
79
- if (orphans.length === 0) {
80
- return;
81
- }
82
- for (const orphan of orphans) {
83
- terminal.line(infoSymbol, formatOrphan(orphan));
84
- }
85
- }
86
- export function createLineReporter(dependencies) {
87
- const { stdoutConsole } = dependencies;
88
- const terminal = createTerminalLineLogger({ stdoutConsole });
89
- let suiteDepth = 0;
90
- function logTestEnd(event) {
91
- const [symbol, message] = event.outcome === null
92
- ? formatTerminalTestResult(event.case, event.verdict, event.wallTimeMs)
93
- : formatTestResult(event.case, event.outcome, event.wallTimeMs);
94
- terminal.line(symbol, `${indent(suiteDepth)}${message}`);
95
- if (event.outcome?.kind === 'fail') {
96
- logFailures(terminal, suiteDepth, event.outcome);
97
- }
98
- }
99
- function logSuiteStart(event) {
100
- terminal.line(infoSymbol, `${indent(suiteDepth)}${formatSuiteName(event)}`);
101
- suiteDepth += 1;
102
- }
103
- return defineReporter({
104
- dispose: null,
105
- kind: 'real-time',
106
- name: 'line',
107
- sinks: [{ kind: 'stdout-raw' }],
108
- async onEvent(event) {
109
- if (event.kind === 'run-start') {
110
- terminal.line(infoSymbol, `Test run started: ${event.root.name}`);
111
- }
112
- else if (event.kind === 'suite-start') {
113
- logSuiteStart(event);
114
- }
115
- else if (event.kind === 'suite-end') {
116
- suiteDepth = Math.max(0, suiteDepth - 1);
117
- }
118
- else if (event.kind === 'test-end') {
119
- logTestEnd(event);
120
- }
121
- else if (event.kind === 'runner-error') {
122
- terminal.line(errorSymbol, `Runner error: ${event.error.message}`);
123
- }
124
- },
125
- async onFinish(finalResult) {
126
- logSummary(terminal, finalResult);
127
- logOrphans(terminal, finalResult.orphans);
128
- }
129
- });
130
- }
131
- //# sourceMappingURL=line-reporter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"line-reporter.js","sourceRoot":"","sources":["../../../../source/reporters/line-reporter.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- //# sourceMappingURL=serialized-value-rendering.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"serialized-value-rendering.js","sourceRoot":"","sources":["../../../../source/reporters/serialized-value-rendering.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- //# sourceMappingURL=source-location-rendering.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"source-location-rendering.js","sourceRoot":"","sources":["../../../../source/reporters/source-location-rendering.ts"],"names":[],"mappings":""}
@@ -1,3 +0,0 @@
1
- import 'ansi-escapes';
2
- import 'string-width';
3
- //# sourceMappingURL=terminal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"terminal.js","sourceRoot":"","sources":["../../../../source/reporters/terminal.ts"],"names":[],"mappings":"AAAA,OAAwB,cAAc,CAAC;AACvC,OAAwB,cAAc,CAAC"}