@overkill-dev/run 0.0.54 → 0.0.56

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 (231) hide show
  1. package/clock/overkill-clock.d.ts +30 -0
  2. package/clock/overkill-clock.d.ts.map +1 -0
  3. package/clock/overkill-clock.js +53 -0
  4. package/clock/overkill-clock.js.map +1 -0
  5. package/engine/async-leak-diagnostics.d.ts.map +1 -1
  6. package/engine/async-leak-diagnostics.js +10 -0
  7. package/engine/async-leak-diagnostics.js.map +1 -1
  8. package/engine/case-execution.d.ts +3 -3
  9. package/engine/case-execution.d.ts.map +1 -1
  10. package/engine/case-execution.js +22 -10
  11. package/engine/case-execution.js.map +1 -1
  12. package/engine/engine.d.ts +2 -2
  13. package/engine/engine.d.ts.map +1 -1
  14. package/engine/execution-async-leak-policy.d.ts.map +1 -1
  15. package/engine/execution-async-leak-policy.js +3 -2
  16. package/engine/execution-async-leak-policy.js.map +1 -1
  17. package/engine/execution-global-error-observer.d.ts +20 -0
  18. package/engine/execution-global-error-observer.d.ts.map +1 -0
  19. package/engine/execution-global-error-observer.js +342 -0
  20. package/engine/execution-global-error-observer.js.map +1 -0
  21. package/engine/execution-result.js +5 -1
  22. package/engine/execution-result.js.map +1 -1
  23. package/engine/execution-supervision.d.ts +7 -5
  24. package/engine/execution-supervision.d.ts.map +1 -1
  25. package/engine/execution-supervision.js +47 -29
  26. package/engine/execution-supervision.js.map +1 -1
  27. package/engine/execution-test-plan-cases.js +72 -14
  28. package/engine/execution-test-plan-cases.js.map +1 -1
  29. package/engine/execution.d.ts +2 -2
  30. package/engine/execution.d.ts.map +1 -1
  31. package/engine/execution.js +38 -20
  32. package/engine/execution.js.map +1 -1
  33. package/engine/reporter-dispatcher.d.ts +2 -2
  34. package/engine/reporter-dispatcher.d.ts.map +1 -1
  35. package/engine/reporter-dispatcher.js +1 -0
  36. package/engine/reporter-dispatcher.js.map +1 -1
  37. package/engine/reporter.d.ts +1 -1
  38. package/engine/reporter.d.ts.map +1 -1
  39. package/engine/resource-usage-growth.js +4 -4
  40. package/engine/resource-usage-growth.js.map +1 -1
  41. package/engine/run-result.d.ts +88 -7
  42. package/engine/run-result.d.ts.map +1 -1
  43. package/engine/run-result.js +114 -0
  44. package/engine/run-result.js.map +1 -1
  45. package/engine/run-timings.d.ts +68 -0
  46. package/engine/run-timings.d.ts.map +1 -0
  47. package/engine/run-timings.js +116 -0
  48. package/engine/run-timings.js.map +1 -0
  49. package/engine/test-data.d.ts +4 -0
  50. package/engine/test-data.d.ts.map +1 -1
  51. package/engine/test-data.js +14 -1
  52. package/engine/test-data.js.map +1 -1
  53. package/package.json +4 -2
  54. package/packages/engine/engine.entry-point.d.ts +5 -3
  55. package/packages/engine/engine.entry-point.d.ts.map +1 -1
  56. package/packages/engine/engine.entry-point.js +3 -3
  57. package/packages/engine/engine.entry-point.js.map +1 -1
  58. package/packages/reporter-line/reporter-line.entry-point.js +19 -1
  59. package/packages/reporter-line/reporter-line.entry-point.js.map +1 -1
  60. package/packages/run/command-line.entry-point.d.ts +1 -1
  61. package/packages/run/command-line.entry-point.d.ts.map +1 -1
  62. package/packages/run/config.entry-point.d.ts +1 -1
  63. package/packages/run/config.entry-point.d.ts.map +1 -1
  64. package/packages/run/run.entry-point.d.ts +2 -2
  65. package/packages/run/run.entry-point.d.ts.map +1 -1
  66. package/packages/run/run.entry-point.js +2 -2
  67. package/packages/run/run.entry-point.js.map +1 -1
  68. package/readme.md +14 -0
  69. package/reporters/failure-summary.js +16 -0
  70. package/reporters/failure-summary.js.map +1 -0
  71. package/reporters/human-reporter-rendering.js +214 -0
  72. package/reporters/human-reporter-rendering.js.map +1 -0
  73. package/reporters/line-failure-rendering.js +3 -0
  74. package/reporters/line-failure-rendering.js.map +1 -1
  75. package/reporters/line-reporter.js +95 -96
  76. package/reporters/line-reporter.js.map +1 -1
  77. package/reporters/run-timing-summary.js +11 -0
  78. package/reporters/run-timing-summary.js.map +1 -0
  79. package/reporters/terminal.js +5 -1
  80. package/reporters/terminal.js.map +1 -1
  81. package/resources/resource-definition-shape.d.ts +5 -1
  82. package/resources/resource-definition-shape.d.ts.map +1 -1
  83. package/run/capability-policy.js +34 -28
  84. package/run/capability-policy.js.map +1 -1
  85. package/run/child-process-protocol.js +3 -5
  86. package/run/child-process-protocol.js.map +1 -1
  87. package/run/collected-run-plan.js +5 -1
  88. package/run/collected-run-plan.js.map +1 -1
  89. package/run/command-line-runner.d.ts.map +1 -1
  90. package/run/command-line-runner.js +1 -0
  91. package/run/command-line-runner.js.map +1 -1
  92. package/run/default-run-engine.js +2 -2
  93. package/run/default-run-engine.js.map +1 -1
  94. package/run/duration-history.d.ts +1 -0
  95. package/run/duration-history.d.ts.map +1 -1
  96. package/run/duration-history.js +33 -12
  97. package/run/duration-history.js.map +1 -1
  98. package/run/permission-denial-runtime-policy.js +118 -0
  99. package/run/permission-denial-runtime-policy.js.map +1 -0
  100. package/run/placement-trace.d.ts +27 -1
  101. package/run/placement-trace.d.ts.map +1 -1
  102. package/run/placement-trace.js.map +1 -1
  103. package/run/resource-usage.d.ts +3 -3
  104. package/run/resource-usage.d.ts.map +1 -1
  105. package/run/resource-usage.js +5 -5
  106. package/run/resource-usage.js.map +1 -1
  107. package/run/run-collected-planning.js +1 -1
  108. package/run/run-collected-planning.js.map +1 -1
  109. package/run/run-collection-error-result.js +9 -3
  110. package/run/run-collection-error-result.js.map +1 -1
  111. package/run/run-config-defaults.js +47 -0
  112. package/run/run-config-defaults.js.map +1 -0
  113. package/run/run-config-schema.d.ts +37 -0
  114. package/run/run-config-schema.d.ts.map +1 -1
  115. package/run/run-config-schema.js +26 -0
  116. package/run/run-config-schema.js.map +1 -1
  117. package/run/run-config.d.ts +3 -1
  118. package/run/run-config.d.ts.map +1 -1
  119. package/run/run-config.js +21 -42
  120. package/run/run-config.js.map +1 -1
  121. package/run/run-empty-shard.js +11 -9
  122. package/run/run-empty-shard.js.map +1 -1
  123. package/run/run-errors.d.ts +1 -1
  124. package/run/run-errors.d.ts.map +1 -1
  125. package/run/run-errors.js +13 -0
  126. package/run/run-errors.js.map +1 -1
  127. package/run/run-facts.js +13 -0
  128. package/run/run-facts.js.map +1 -1
  129. package/run/run-if-main-facts.js +7 -1
  130. package/run/run-if-main-facts.js.map +1 -1
  131. package/run/run-if-main.d.ts +3 -3
  132. package/run/run-if-main.d.ts.map +1 -1
  133. package/run/run-if-main.js +6 -3
  134. package/run/run-if-main.js.map +1 -1
  135. package/run/run-local-execution.js +1 -1
  136. package/run/run-local-execution.js.map +1 -1
  137. package/run/run-local-resolution.js +4 -3
  138. package/run/run-local-resolution.js.map +1 -1
  139. package/run/run-local-test-plan.js +20 -1
  140. package/run/run-local-test-plan.js.map +1 -1
  141. package/run/run-orchestrator-dependencies.d.ts +9 -3
  142. package/run/run-orchestrator-dependencies.d.ts.map +1 -1
  143. package/run/run-orchestrator-dependencies.js +14 -0
  144. package/run/run-orchestrator-dependencies.js.map +1 -0
  145. package/run/run-orchestrator.js +2 -2
  146. package/run/run-orchestrator.js.map +1 -1
  147. package/run/run-support.js +14 -4
  148. package/run/run-support.js.map +1 -1
  149. package/run/run-timing-collection.js +26 -0
  150. package/run/run-timing-collection.js.map +1 -0
  151. package/run/run-types.d.ts +22 -2
  152. package/run/run-types.d.ts.map +1 -1
  153. package/run/run-types.js +1 -0
  154. package/run/run-types.js.map +1 -1
  155. package/run/run-validation.js +10 -0
  156. package/run/run-validation.js.map +1 -1
  157. package/run/supervised-child-process.d.ts +2 -3
  158. package/run/supervised-child-process.d.ts.map +1 -1
  159. package/run/supervised-child-process.js +1 -1
  160. package/run/supervised-child-process.js.map +1 -1
  161. package/run/supervised-child-test-plan.js +47 -0
  162. package/run/supervised-child-test-plan.js.map +1 -1
  163. package/run/supervised-child.entry-point.js +2 -2
  164. package/run/supervised-child.entry-point.js.map +1 -1
  165. package/run/supervised-child.js +15 -17
  166. package/run/supervised-child.js.map +1 -1
  167. package/run/supervised-run-resource-policy.js +6 -0
  168. package/run/supervised-run-resource-policy.js.map +1 -1
  169. package/run/supervised-run-runtime.js +45 -29
  170. package/run/supervised-run-runtime.js.map +1 -1
  171. package/run/supervised-run-state.d.ts +9 -5
  172. package/run/supervised-run-state.d.ts.map +1 -1
  173. package/run/supervised-run-state.js +67 -14
  174. package/run/supervised-run-state.js.map +1 -1
  175. package/run/supervised-run.js +18 -8
  176. package/run/supervised-run.js.map +1 -1
  177. package/run/work-unit-resource-constraints.js +20 -0
  178. package/run/work-unit-resource-constraints.js.map +1 -1
  179. package/run/worker-pool-collection.js +3 -2
  180. package/run/worker-pool-collection.js.map +1 -1
  181. package/run/worker-pool-compatible-batching.js +115 -0
  182. package/run/worker-pool-compatible-batching.js.map +1 -0
  183. package/run/worker-pool-dispatch-state.js +59 -0
  184. package/run/worker-pool-dispatch-state.js.map +1 -1
  185. package/run/worker-pool-dynamic-plan.js +62 -0
  186. package/run/worker-pool-dynamic-plan.js.map +1 -0
  187. package/run/worker-pool-execution.js +168 -90
  188. package/run/worker-pool-execution.js.map +1 -1
  189. package/run/worker-pool-hedge-dispatch.js +83 -0
  190. package/run/worker-pool-hedge-dispatch.js.map +1 -0
  191. package/run/worker-pool-hedged-arbitration.js +186 -0
  192. package/run/worker-pool-hedged-arbitration.js.map +1 -0
  193. package/run/worker-pool-host-process.js +12 -0
  194. package/run/worker-pool-host-process.js.map +1 -1
  195. package/run/worker-pool-host-protocol.js +26 -14
  196. package/run/worker-pool-host-protocol.js.map +1 -1
  197. package/run/worker-pool-host.entry-point.js +35 -8
  198. package/run/worker-pool-host.entry-point.js.map +1 -1
  199. package/run/worker-pool-lanes.js +6 -6
  200. package/run/worker-pool-lanes.js.map +1 -1
  201. package/run/worker-pool-lease-selection.js +85 -0
  202. package/run/worker-pool-lease-selection.js.map +1 -0
  203. package/run/worker-pool-output.js +1 -1
  204. package/run/worker-pool-output.js.map +1 -1
  205. package/run/worker-pool-resource-tracking.js +2 -2
  206. package/run/worker-pool-resource-tracking.js.map +1 -1
  207. package/run/worker-pool-results.js +32 -17
  208. package/run/worker-pool-results.js.map +1 -1
  209. package/run/worker-pool-routing.js +154 -0
  210. package/run/worker-pool-routing.js.map +1 -0
  211. package/run/worker-pool-run.js +5 -4
  212. package/run/worker-pool-run.js.map +1 -1
  213. package/run/worker-pool-runtime.js +2 -149
  214. package/run/worker-pool-runtime.js.map +1 -1
  215. package/run/worker-pool-static-dispatcher.js +74 -0
  216. package/run/worker-pool-static-dispatcher.js.map +1 -0
  217. package/run/worker-pool-task-events.js +165 -0
  218. package/run/worker-pool-task-events.js.map +1 -0
  219. package/run/worker-pool-warm-lane-affinity.d.ts +13 -0
  220. package/run/worker-pool-warm-lane-affinity.d.ts.map +1 -0
  221. package/run/worker-pool-warm-lane-affinity.js +147 -0
  222. package/run/worker-pool-warm-lane-affinity.js.map +1 -0
  223. package/run/worker-pool-work-dispatcher.js +148 -230
  224. package/run/worker-pool-work-dispatcher.js.map +1 -1
  225. package/run/worker-pool-work-load.js +45 -0
  226. package/run/worker-pool-work-load.js.map +1 -0
  227. package/run/worker-pool-worker-plan.js +37 -8
  228. package/run/worker-pool-worker-plan.js.map +1 -1
  229. package/run/worker-pool-worker.js +61 -36
  230. package/run/worker-pool-worker.js.map +1 -1
  231. package/sbom.cdx.json +4 -21
@@ -2,12 +2,15 @@ import figures from 'figures';
2
2
  import colors from 'yoctocolors';
3
3
  import { defineReporter } from "../engine/reporter.js";
4
4
  import { formatDefinitionLocations } from "../engine/reporting-context.js";
5
- import { formatFailure } from "./line-failure-rendering.js";
5
+ import { formatFailureSummary } from "./failure-summary.js";
6
6
  import { formatRunFactSummary } from "./run-fact-summary.js";
7
- import { createTerminalLineLogger } from "./terminal.js";
7
+ import { createTerminalLineLogger, visibleTerminalWidth } from "./terminal.js";
8
+ import { contextPrefix, formatCountSummary, formatTimingSummary, problemLines } from "./human-reporter-rendering.js";
8
9
  const successSymbol = colors.green(figures.tick);
9
10
  const errorSymbol = colors.red(figures.cross);
10
11
  const infoSymbol = colors.cyan(figures.info);
12
+ const microsecondsPerMillisecond = 1000;
13
+ const minimumColumnWidth = 1;
11
14
  function indent(depth) {
12
15
  return ' '.repeat(depth);
13
16
  }
@@ -23,13 +26,78 @@ function outcomeReason(outcome) {
23
26
  }
24
27
  return null;
25
28
  }
26
- function formatDuration(wallTimeMs) {
27
- return `${wallTimeMs} ms`;
29
+ function formatDuration(durationMicroseconds) {
30
+ return `${durationMicroseconds / microsecondsPerMillisecond} ms`;
28
31
  }
29
- function formatTestResult(id, outcome, wallTimeMs) {
32
+ function nextWrapTextState(state, word, textColumns) {
33
+ const candidate = state.line.length === 0 ? word : `${state.line} ${word}`;
34
+ if (state.line.length > 0 && visibleTerminalWidth(candidate) > textColumns) {
35
+ return { line: word, lines: [...state.lines, state.line] };
36
+ }
37
+ return { ...state, line: candidate };
38
+ }
39
+ function wrapTextParts(value, columns) {
40
+ const leadingWhitespace = /^\s*/u.exec(value)?.[0] ?? '';
41
+ const text = value.slice(leadingWhitespace.length);
42
+ const textColumns = Math.max(minimumColumnWidth, columns - visibleTerminalWidth(leadingWhitespace));
43
+ const initialState = { line: '', lines: [] };
44
+ const state = text
45
+ .split(' ')
46
+ .reduce(function wrapWord(currentState, word) {
47
+ return nextWrapTextState(currentState, word, textColumns);
48
+ }, initialState);
49
+ return [...state.lines, state.line].map(function indentWrappedLine(wrappedLine) {
50
+ return `${leadingWhitespace}${wrappedLine}`;
51
+ });
52
+ }
53
+ function wrapText(value, columns) {
54
+ if (visibleTerminalWidth(value) <= columns) {
55
+ return [value];
56
+ }
57
+ return wrapTextParts(value, columns);
58
+ }
59
+ function logSingleValueLine(terminal, columns, value) {
60
+ const lines = wrapText(value, Math.max(minimumColumnWidth, columns));
61
+ for (const line of lines) {
62
+ terminal.line(line);
63
+ }
64
+ }
65
+ function logMultiValueLine(terminal, columns, values) {
66
+ const [symbol = '', ...messageValues] = values;
67
+ const message = messageValues.join(' ');
68
+ const continuationIndent = ' '.repeat(visibleTerminalWidth(symbol) + 1);
69
+ const firstLineColumns = Math.max(minimumColumnWidth, columns - visibleTerminalWidth(continuationIndent));
70
+ const [firstLine = '', ...continuationLines] = wrapText(message, firstLineColumns);
71
+ terminal.line(symbol, firstLine);
72
+ for (const continuationLine of continuationLines) {
73
+ terminal.line(`${continuationIndent}${continuationLine}`);
74
+ }
75
+ }
76
+ function logWrappedLine(terminal, columns, formatOptions, ...values) {
77
+ if (!formatOptions.wrap || values.length === 0) {
78
+ terminal.line(...values);
79
+ }
80
+ else if (values.length === 1) {
81
+ logSingleValueLine(terminal, columns, values[0] ?? '');
82
+ }
83
+ else {
84
+ logMultiValueLine(terminal, columns, values);
85
+ }
86
+ }
87
+ function outcomeDetail(outcome) {
30
88
  const reason = outcomeReason(outcome);
31
- const detail = reason === null ? '' : `: ${reason}`;
32
- const message = `${formatCaseTitle(id)}${detail} (${formatDuration(wallTimeMs)})`;
89
+ if (reason !== null) {
90
+ return `: ${reason}`;
91
+ }
92
+ if (outcome.kind !== 'fail') {
93
+ return '';
94
+ }
95
+ return `: ${formatFailureSummary(outcome.failures[0])}`;
96
+ }
97
+ function formatTestResult(id, outcome, durationMicroseconds, prefix) {
98
+ const context = prefix.length === 0 ? '' : `${prefix} `;
99
+ const message = `${context}${formatCaseTitle(id)}${outcomeDetail(outcome)} ` +
100
+ `(${formatDuration(durationMicroseconds)})`;
33
101
  if (outcome.kind === 'fail') {
34
102
  return [errorSymbol, message];
35
103
  }
@@ -38,16 +106,14 @@ function formatTestResult(id, outcome, wallTimeMs) {
38
106
  }
39
107
  return [infoSymbol, message];
40
108
  }
41
- function formatTerminalTestResult(id, verdict, wallTimeMs) {
42
- const message = `${formatCaseTitle(id)} (${formatDuration(wallTimeMs)})`;
109
+ function formatTerminalTestResult(id, verdict, durationMicroseconds, prefix) {
110
+ const context = prefix.length === 0 ? '' : `${prefix} `;
111
+ const message = `${context}${formatCaseTitle(id)} (${formatDuration(durationMicroseconds)})`;
43
112
  if (verdict === 'resource-exhausted') {
44
113
  return [errorSymbol, `${message}: resource exhausted`];
45
114
  }
46
115
  return [errorSymbol, `${message}: crashed`];
47
116
  }
48
- function formatSuiteName(event) {
49
- return event.suitePath.at(-1)?.title ?? '';
50
- }
51
117
  function formatOrphanLines(orphan, context) {
52
118
  const sourceLocations = formatDefinitionLocations(orphan.definitionLocations, context);
53
119
  const location = sourceLocations.primary === null ? '' : ` (${sourceLocations.primary})`;
@@ -58,30 +124,9 @@ function formatOrphanLines(orphan, context) {
58
124
  })
59
125
  ];
60
126
  }
61
- function logFailures(terminal, suiteDepth, outcome, context) {
62
- for (const failure of outcome.failures) {
63
- for (const line of formatFailure(failure, context)) {
64
- terminal.line(`${indent(suiteDepth + 1)}${line}`);
65
- }
66
- }
67
- }
68
127
  function logSummary(terminal, result) {
69
- const { summary } = result;
70
- const executed = summary.passed + summary.failed + summary.skipped + summary.inconclusive +
71
- summary.crashed + summary.resourceExhausted;
72
- const outcomes = [
73
- `${summary.passed} pass`,
74
- `${summary.failed} fail`,
75
- `${summary.skipped} skip`,
76
- ...summary.inconclusive === 0 ? [] : [`${summary.inconclusive} inconclusive`],
77
- ...summary.resourceExhausted === 0 ? [] : [`${summary.resourceExhausted} resource-exhausted`],
78
- ...summary.crashed === 0 ? [] : [`${summary.crashed} crash`]
79
- ]
80
- .join(', ');
81
- const orphanSummary = result.orphans.length === 0 ? '' : `, ${result.orphans.length} orphaned`;
82
- const countSummary = `${summary.discovered} discovered, ${summary.planned} planned, ${executed} executed`;
83
128
  const symbol = result.status === 'failed' ? errorSymbol : successSymbol;
84
- terminal.line(symbol, `${countSummary} (${outcomes})${orphanSummary} in ${formatDuration(result.wallTimeMs)}`);
129
+ terminal.line(symbol, `${formatCountSummary(result)} in ${formatDuration(result.timings.summary.totalWallTimeMicroseconds)} (${formatTimingSummary(result)})`);
85
130
  }
86
131
  function logOrphans(terminal, orphans, context) {
87
132
  if (orphans.length === 0) {
@@ -95,74 +140,33 @@ function logOrphans(terminal, orphans, context) {
95
140
  }
96
141
  }
97
142
  }
98
- function outputArtifactLines(artifact) {
99
- const suffix = artifact.payload.truncated ? ' truncated' : '';
100
- const header = `${artifact.payload.stream}${suffix}:`;
101
- const textLines = artifact.payload.text.length === 0 ? [] : artifact.payload.text.replace(/\n$/u, '').split('\n');
102
- return [header, ...textLines];
103
- }
104
- function logOutputArtifacts(terminal, suiteDepth, artifacts) {
105
- for (const artifact of artifacts) {
106
- for (const line of outputArtifactLines(artifact)) {
107
- terminal.line(`${indent(suiteDepth + 1)}${line}`);
108
- }
109
- }
110
- }
111
- function shouldLogTestArtifacts(event, verbose) {
112
- return event.verdict !== 'pass' || verbose;
113
- }
114
143
  function failureLocation(event, definitionLocations) {
115
144
  if (event.outcome?.kind !== 'fail' || definitionLocations.primary === null) {
116
145
  return '';
117
146
  }
118
147
  return ` (${definitionLocations.primary})`;
119
148
  }
120
- function nonGreenRun(result) {
121
- return result.runnerErrors.length > 0 ||
122
- result.summary.crashed > 0 ||
123
- result.summary.failed > 0 ||
124
- result.summary.inconclusive > 0 ||
125
- result.summary.resourceExhausted > 0 ||
126
- result.summary.runtimePolicy > 0;
127
- }
128
- function runArtifacts(result) {
129
- return result.artifacts.filter(function isRunArtifact(artifact) {
130
- return artifact.id.scope.kind === 'run';
131
- });
132
- }
133
149
  function runStartLine(event) {
134
150
  const summary = formatRunFactSummary(event.facts);
135
151
  const details = summary === null ? '' : ` (${summary})`;
136
152
  return `Test run started: ${event.root.title}${details}`;
137
153
  }
138
154
  export function createLineReporter(dependencies) {
139
- const { stdoutConsole, verbose } = dependencies;
155
+ const { columns, formatOptions, stdoutConsole, verbose } = dependencies;
140
156
  return defineReporter(function createLineRuntimeReporter(context) {
141
157
  const terminal = createTerminalLineLogger({ stdoutConsole });
142
- let suiteDepth = 0;
143
- function logFailureDetails(event, definitionLocations) {
144
- if (event.outcome?.kind !== 'fail') {
145
- return;
146
- }
147
- for (const detailLine of definitionLocations.details) {
148
- terminal.line(`${indent(suiteDepth + 1)}${detailLine}`);
158
+ const wrappedTerminal = {
159
+ line(...values) {
160
+ logWrappedLine(terminal, columns, formatOptions, ...values);
149
161
  }
150
- logFailures(terminal, suiteDepth, event.outcome, context);
151
- }
162
+ };
152
163
  function logTestEnd(event) {
164
+ const prefix = contextPrefix(event.workId?.runtimes ?? [], event.case.suite, formatOptions);
153
165
  const [symbol, message] = event.outcome === null
154
- ? formatTerminalTestResult(event.case, event.verdict, event.wallTimeMs)
155
- : formatTestResult(event.case, event.outcome, event.wallTimeMs);
166
+ ? formatTerminalTestResult(event.case, event.verdict, event.durationMicroseconds, prefix)
167
+ : formatTestResult(event.case, event.outcome, event.durationMicroseconds, prefix);
156
168
  const definitionLocations = formatDefinitionLocations(event.definitionLocations, context);
157
- terminal.line(symbol, `${indent(suiteDepth)}${message}${failureLocation(event, definitionLocations)}`);
158
- logFailureDetails(event, definitionLocations);
159
- if (shouldLogTestArtifacts(event, verbose)) {
160
- logOutputArtifacts(terminal, suiteDepth, event.artifacts);
161
- }
162
- }
163
- function logSuiteStart(event) {
164
- terminal.line(infoSymbol, `${indent(suiteDepth)}${formatSuiteName(event)}`);
165
- suiteDepth += 1;
169
+ wrappedTerminal.line(symbol, `${message}${failureLocation(event, definitionLocations)}`);
166
170
  }
167
171
  return {
168
172
  dispose: null,
@@ -171,27 +175,22 @@ export function createLineReporter(dependencies) {
171
175
  sinks: [{ kind: 'stdout-raw' }],
172
176
  async onEvent(event) {
173
177
  if (event.kind === 'run-start') {
174
- terminal.line(infoSymbol, runStartLine(event));
175
- }
176
- else if (event.kind === 'suite-start') {
177
- logSuiteStart(event);
178
- }
179
- else if (event.kind === 'suite-end') {
180
- suiteDepth = Math.max(0, suiteDepth - 1);
178
+ wrappedTerminal.line(infoSymbol, runStartLine(event));
181
179
  }
182
180
  else if (event.kind === 'test-end') {
183
181
  logTestEnd(event);
184
182
  }
185
183
  else if (event.kind === 'runner-error') {
186
- terminal.line(errorSymbol, `Runner error: ${event.error.message}`);
184
+ wrappedTerminal.line(errorSymbol, `Runner error: ${event.error.message}`);
187
185
  }
188
186
  },
189
187
  async onFinish(finalResult) {
190
- logSummary(terminal, finalResult);
191
- if (nonGreenRun(finalResult) || verbose) {
192
- logOutputArtifacts(terminal, 0, runArtifacts(finalResult));
188
+ const lines = problemLines(finalResult, context, { verbose });
189
+ for (const line of lines) {
190
+ wrappedTerminal.line(line);
193
191
  }
194
- logOrphans(terminal, finalResult.orphans, context);
192
+ logSummary(wrappedTerminal, finalResult);
193
+ logOrphans(wrappedTerminal, finalResult.orphans, context);
195
194
  }
196
195
  };
197
196
  });
@@ -1 +1 @@
1
- {"version":3,"file":"line-reporter.js","sourceRoot":"","sources":["../../../../source/reporters/line-reporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"line-reporter.js","sourceRoot":"","sources":["../../../../source/reporters/line-reporter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ const microsecondsPerMillisecond = 1000;
2
+ function milliseconds(microseconds) {
3
+ return Math.round(microseconds / microsecondsPerMillisecond);
4
+ }
5
+ export function formatTimingSummary(result) {
6
+ const { summary } = result.timings;
7
+ return `total ${milliseconds(summary.totalWallTimeMicroseconds)} ms, ` +
8
+ `execution ${milliseconds(summary.testExecutionWallTimeMicroseconds)} ms, ` +
9
+ `overhead ${milliseconds(summary.runnerOverheadWallTimeMicroseconds)} ms`;
10
+ }
11
+ //# sourceMappingURL=run-timing-summary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-timing-summary.js","sourceRoot":"","sources":["../../../../source/reporters/run-timing-summary.ts"],"names":[],"mappings":"AAEA,MAAM,0BAA0B,GAAG,IAAI,CAAC;AAExC,SAAS,YAAY,CAAC,YAAoB;IACtC,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,0BAA0B,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAiB;IACjD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC;IAEnC,OAAO,SAAS,YAAY,CAAC,OAAO,CAAC,yBAAyB,CAAC,OAAO;QAClE,aAAa,YAAY,CAAC,OAAO,CAAC,iCAAiC,CAAC,OAAO;QAC3E,YAAY,YAAY,CAAC,OAAO,CAAC,kCAAkC,CAAC,KAAK,CAAC;AAClF,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import 'ansi-escapes';
2
- import 'string-width';
2
+ import stringWidth from 'string-width';
3
3
 
4
4
  export function createTerminalLineLogger(dependencies) {
5
5
  const { stdoutConsole } = dependencies;
@@ -10,4 +10,8 @@ export function createTerminalLineLogger(dependencies) {
10
10
  };
11
11
  }
12
12
 
13
+ export function visibleTerminalWidth(value) {
14
+ return stringWidth(value);
15
+ }
16
+
13
17
  //# sourceMappingURL=terminal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"terminal.js","sourceRoot":"","sources":["../../../../source/reporters/terminal.ts"],"names":[],"mappings":"AAAA,OAAwB,cAAc,CAAC;AACvC,OAAwB,cAAc,CAAC;AAuCZ;AAE3B,MAAM,UAAU,wBAAwB,CAAC,YAA4C;IACjF,MAAM,EAAE,aAAa,EAAE,GAAG,YAAY,CAAC;IAEvC,OAAO;QACH,IAAI,CAAC,GAAG,MAAM;YACV,aAAa,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;QACjC,CAAC;KACJ,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"terminal.js","sourceRoot":"","sources":["../../../../source/reporters/terminal.ts"],"names":[],"mappings":"AAAA,OAAwB,cAAc,CAAC;AACvC,OAAO,WAAW,MAAM,cAAc,CAAC;AAuCZ;AAE3B,MAAM,UAAU,wBAAwB,CAAC,YAA4C;IACjF,MAAM,EAAE,aAAa,EAAE,GAAG,YAAY,CAAC;IAEvC,OAAO;QACH,IAAI,CAAC,GAAG,MAAM;YACV,aAAa,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;QACjC,CAAC;KACJ,CAAC;AACN,CAAC;;MAMK,UAAU,oBAAoB,CAAC,KAAa;IAC9C,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC"}
@@ -26,7 +26,11 @@ type FaultDomain = {
26
26
  readonly key: string;
27
27
  readonly kind: 'fault-domain';
28
28
  };
29
- type PlacementRequirement = AffinityKey | CapacityWeight | ExclusiveResource | FaultDomain;
29
+ type DuplicateExecution = {
30
+ readonly kind: 'duplicate-execution';
31
+ readonly safety: 'disposable-isolated' | 'idempotent';
32
+ };
33
+ type PlacementRequirement = AffinityKey | CapacityWeight | DuplicateExecution | ExclusiveResource | FaultDomain;
30
34
  type SchedulingRequirement = SerialExecution | SingleWorkerExecution | StartupBudget;
31
35
  export type ExecutionRequirement = PlacementRequirement | SchedulingRequirement;
32
36
  export type ResourceScope = 'per-case' | 'per-file' | 'per-run' | 'per-suite' | 'shared-per-worker';
@@ -1 +1 @@
1
- {"version":3,"file":"resource-definition-shape.d.ts","sourceRoot":"","sources":["../../../../source/resources/resource-definition-shape.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resource-definition-shape.d.ts","sourceRoot":"","sources":["../../../../source/resources/resource-definition-shape.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import asyncHooks, { AsyncLocalStorage } from 'node:async_hooks';
2
2
  import diagnosticsChannel from 'node:diagnostics_channel';
3
3
  import { workIdentityKey } from "../engine/identity.js";
4
4
  import { recordReporterConsoleDiagnostic } from "../engine/reporter-output-scope.js";
5
+ import { createPermissionDenialRuntimePolicy as createPermissionDenialRuntimePolicyCore, createPermissionDiagnosticsSubscriptions } from "./permission-denial-runtime-policy.js";
5
6
  import { environmentChanged, localStorageChanged, sessionStorageChanged, takeSnapshots } from "./capability-policy-snapshots.js";
6
7
  const runtimePolicyCapabilities = {
7
8
  childProcess: 'child-process',
@@ -57,14 +58,6 @@ const diagnosticsCapabilities = {
57
58
  'locks.request.miss': runtimePolicyCapabilities.webLocks,
58
59
  'locks.request.start': runtimePolicyCapabilities.webLocks,
59
60
  'net.client.socket': runtimePolicyCapabilities.network,
60
- 'node:permission-model:child': runtimePolicyCapabilities.childProcess,
61
- 'node:permission-model:ffi': runtimePolicyCapabilities.worker,
62
- 'node:permission-model:fs': runtimePolicyCapabilities.fileRead,
63
- 'node:permission-model:inspector': runtimePolicyCapabilities.inspector,
64
- 'node:permission-model:net': runtimePolicyCapabilities.network,
65
- 'node:permission-model:openssl-store': runtimePolicyCapabilities.openSslStore,
66
- 'node:permission-model:wasi': runtimePolicyCapabilities.wasi,
67
- 'node:permission-model:worker': runtimePolicyCapabilities.worker,
68
61
  [processExecuteChannel]: runtimePolicyCapabilities.processExecute,
69
62
  'tracing:module.import:asyncStart': runtimePolicyCapabilities.dynamicModuleLoad,
70
63
  'tracing:module.import:start': runtimePolicyCapabilities.dynamicModuleLoad,
@@ -72,19 +65,6 @@ const diagnosticsCapabilities = {
72
65
  'udp.socket': runtimePolicyCapabilities.network,
73
66
  worker_threads: runtimePolicyCapabilities.worker
74
67
  };
75
- function permissionCapability(message, fallback) {
76
- if (typeof message !== 'object' || message === null) {
77
- return fallback;
78
- }
79
- const permission = String(Reflect.get(message, 'permission'));
80
- if (permission === 'FileSystemWrite') {
81
- return runtimePolicyCapabilities.fileWrite;
82
- }
83
- if (permission === 'FileSystemRead') {
84
- return runtimePolicyCapabilities.fileRead;
85
- }
86
- return fallback;
87
- }
88
68
  function asyncResourceReport(type, hasActiveCase) {
89
69
  if (type === 'Timeout' && hasActiveCase) {
90
70
  return {
@@ -119,6 +99,11 @@ function runtimePolicyError(violation) {
119
99
  attributedTo: violation.caseId,
120
100
  attributedToWork: violation.workId,
121
101
  cause: violation,
102
+ diagnostics: [
103
+ { label: 'capability', value: violation.capability },
104
+ { label: 'phase', value: violation.phase },
105
+ { label: 'strictness', value: violation.strictness }
106
+ ],
122
107
  message: violation.message,
123
108
  subtype: 'runtime-policy'
124
109
  };
@@ -141,17 +126,14 @@ function violationPhase(activeCase, loadComplete) {
141
126
  function createDiagnosticsSubscriptions(recordViolation) {
142
127
  return Object.entries(diagnosticsCapabilities).map(function subscribeToChannel([name, capability]) {
143
128
  const channel = diagnosticsChannel.channel(name);
144
- const listener = function recordDiagnostic(message) {
129
+ const listener = function recordDiagnostic() {
145
130
  if (recordReporterConsoleDiagnostic(name)) {
146
131
  return;
147
132
  }
148
- const resolvedCapability = name.startsWith('node:permission-model:')
149
- ? permissionCapability(message, capability)
150
- : capability;
151
133
  recordViolation({
152
- capability: resolvedCapability,
153
- message: `Runtime policy violation: ${resolvedCapability}.`,
154
- strictness: name.startsWith('node:permission-model:') ? 'blocked' : 'observed'
134
+ capability,
135
+ message: `Runtime policy violation: ${capability}.`,
136
+ strictness: 'observed'
155
137
  });
156
138
  };
157
139
  channel.subscribe(listener);
@@ -248,6 +230,10 @@ function completedRuntimePolicyViolation(violation, activeCase, loadComplete) {
248
230
  phase: violationPhase(activeCase, loadComplete)
249
231
  };
250
232
  }
233
+ function permissionDiagnosticsPhase(loadComplete) {
234
+ return loadComplete ? 'out-of-test' : 'load';
235
+ }
236
+ export const createPermissionDenialRuntimePolicy = createPermissionDenialRuntimePolicyCore;
251
237
  export function createRuntimeCapabilityPolicy(options) {
252
238
  const activeCaseStorage = new AsyncLocalStorage();
253
239
  const caseErrors = new Map();
@@ -266,6 +252,14 @@ export function createRuntimeCapabilityPolicy(options) {
266
252
  }
267
253
  caseErrors.set(activeCase.key, [...caseErrors.get(activeCase.key) ?? [], error]);
268
254
  }
255
+ function recordPermissionError(error) {
256
+ const activeCase = activeCaseStorage.getStore();
257
+ if (activeCase === undefined) {
258
+ runErrors.push(error);
259
+ return;
260
+ }
261
+ caseErrors.set(activeCase.key, [...caseErrors.get(activeCase.key) ?? [], error]);
262
+ }
269
263
  function tryRecord(violation) {
270
264
  try {
271
265
  record(violation);
@@ -274,6 +268,15 @@ export function createRuntimeCapabilityPolicy(options) {
274
268
  }
275
269
  }
276
270
  const monitoring = startRuntimePolicyMonitoring(activeCaseStorage, tryRecord, options.dependencies);
271
+ const permissionDiagnosticsSubscriptions = createPermissionDiagnosticsSubscriptions(activeCaseStorage, function currentPermissionDiagnosticsPhase() {
272
+ return permissionDiagnosticsPhase(loadComplete);
273
+ }, function recordPermissionErrorWithoutThrowing(error) {
274
+ try {
275
+ recordPermissionError(error);
276
+ }
277
+ catch {
278
+ }
279
+ });
277
280
  return {
278
281
  recordViolation(capability, message, strictness) {
279
282
  record({ capability, message, strictness });
@@ -318,6 +321,9 @@ export function createRuntimeCapabilityPolicy(options) {
318
321
  },
319
322
  takeRunErrors() {
320
323
  stopRuntimePolicyMonitoring(monitoring);
324
+ for (const subscription of permissionDiagnosticsSubscriptions) {
325
+ subscription.unsubscribe();
326
+ }
321
327
  runErrors.push(...rawOutputPolicyErrors(options));
322
328
  const errors = Array.from(runErrors);
323
329
  runErrors.length = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"capability-policy.js","sourceRoot":"","sources":["../../../../source/run/capability-policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capability-policy.js","sourceRoot":"","sources":["../../../../source/run/capability-policy.ts"],"names":[],"mappings":"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"}
@@ -2,10 +2,8 @@ const childProcessMessageKind = 'overkill-child-message';
2
2
  function isRecord(value) {
3
3
  return typeof value === 'object' && value !== null;
4
4
  }
5
- function ignoreTypeWitness(typeWitnessLength) {
6
- if (typeWitnessLength < 0) {
7
- throw new Error('Invalid type witness length.');
8
- }
5
+ function ignoreTypeWitness(typeWitness) {
6
+ String(typeWitness.length);
9
7
  }
10
8
  export function childProcessEnvelope(correlationId, message) {
11
9
  return {
@@ -21,7 +19,7 @@ function isChildProcessEnvelope(value, correlationId) {
21
19
  Object.hasOwn(value, 'message');
22
20
  }
23
21
  export function envelopeMessage(value, correlationId, ...typeWitness) {
24
- ignoreTypeWitness(typeWitness.length);
22
+ ignoreTypeWitness(typeWitness);
25
23
  if (!isChildProcessEnvelope(value, correlationId)) {
26
24
  return null;
27
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"child-process-protocol.js","sourceRoot":"","sources":["../../../../source/run/child-process-protocol.ts"],"names":[],"mappings":"AAAA,MAAM,uBAAuB,GAAG,wBAAwB,CAAC;AAQzD,SAAS,QAAQ,CAAC,KAAc;IAC5B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AACvD,CAAC;AAED,SAAS,iBAAiB,CAAC,iBAAyB;IAChD,IAAI,iBAAiB,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IACpD,CAAC;AACL,CAAC;AAED,MAAM,UAAU,oBAAoB,CAChC,aAAqB,EACrB,OAAgB;IAEhB,OAAO;QACH,aAAa;QACb,IAAI,EAAE,uBAAuB;QAC7B,OAAO;KACV,CAAC;AACN,CAAC;AAED,SAAS,sBAAsB,CAC3B,KAAc,EACd,aAAqB;IAErB,OAAO,QAAQ,CAAC,KAAK,CAAC;QAClB,KAAK,CAAC,IAAI,KAAK,uBAAuB;QACtC,KAAK,CAAC,aAAa,KAAK,aAAa;QACrC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,eAAe,CAC3B,KAAc,EACd,aAAqB,EACrB,GAAG,WAAgC;IAEnC,iBAAiB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAEtC,IAAI,CAAC,sBAAsB,CAAU,KAAK,EAAE,aAAa,CAAC,EAAE,CAAC;QACzD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,KAAK,CAAC,OAAO,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"child-process-protocol.js","sourceRoot":"","sources":["../../../../source/run/child-process-protocol.ts"],"names":[],"mappings":"AAAA,MAAM,uBAAuB,GAAG,wBAAwB,CAAC;AAQzD,SAAS,QAAQ,CAAC,KAAc;IAC5B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AACvD,CAAC;AAED,SAAS,iBAAiB,CAAC,WAA+B;IACtD,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,oBAAoB,CAChC,aAAqB,EACrB,OAAgB;IAEhB,OAAO;QACH,aAAa;QACb,IAAI,EAAE,uBAAuB;QAC7B,OAAO;KACV,CAAC;AACN,CAAC;AAED,SAAS,sBAAsB,CAC3B,KAAc,EACd,aAAqB;IAErB,OAAO,QAAQ,CAAC,KAAK,CAAC;QAClB,KAAK,CAAC,IAAI,KAAK,uBAAuB;QACtC,KAAK,CAAC,aAAa,KAAK,aAAa;QACrC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,eAAe,CAC3B,KAAc,EACd,aAAqB,EACrB,GAAG,WAAgC;IAEnC,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAE/B,IAAI,CAAC,sBAAsB,CAAU,KAAK,EAAE,aAAa,CAAC,EAAE,CAAC;QACzD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,KAAK,CAAC,OAAO,CAAC;AACzB,CAAC"}
@@ -2,6 +2,7 @@ import { resolveSourceLocation } from "../assertion-protocol/source-location.js"
2
2
  import { serializeValue } from "../compare/serialized-value.js";
3
3
  import { createCaseId, createDefaultWorkId, workIdentityKey } from "../engine/identity.js";
4
4
  import { runStatusFromPlan } from "../engine/run-result.js";
5
+ import { summaryRunTimings } from "../engine/run-timings.js";
5
6
  function suiteTitles(suitePath) {
6
7
  return suitePath.map(function toTitle(entry) {
7
8
  return entry.title;
@@ -233,7 +234,10 @@ export function createRunResultFromCollectedPlan(plan, perTest, runnerErrors, ti
233
234
  runnerErrors,
234
235
  status: runStatusFromPlan(summary, runnerErrors, timing.planStatus),
235
236
  summary,
236
- wallTimeMs: timing.wallClock.currentTimestampInMilliseconds - timing.startedAtMs
237
+ timings: summaryRunTimings({
238
+ testExecutionWallTimeMicroseconds: timing.testExecutionWallTimeMicroseconds,
239
+ totalWallTimeMicroseconds: timing.completedAtMicroseconds - timing.startedAtMicroseconds
240
+ })
237
241
  };
238
242
  }
239
243
  //# sourceMappingURL=collected-run-plan.js.map