@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.
- package/clock/overkill-clock.d.ts +30 -0
- package/clock/overkill-clock.d.ts.map +1 -0
- package/clock/overkill-clock.js +53 -0
- package/clock/overkill-clock.js.map +1 -0
- package/engine/async-leak-diagnostics.d.ts.map +1 -1
- package/engine/async-leak-diagnostics.js +10 -0
- package/engine/async-leak-diagnostics.js.map +1 -1
- package/engine/case-execution.d.ts +3 -3
- package/engine/case-execution.d.ts.map +1 -1
- package/engine/case-execution.js +22 -10
- package/engine/case-execution.js.map +1 -1
- package/engine/engine.d.ts +2 -2
- package/engine/engine.d.ts.map +1 -1
- package/engine/execution-async-leak-policy.d.ts.map +1 -1
- package/engine/execution-async-leak-policy.js +3 -2
- package/engine/execution-async-leak-policy.js.map +1 -1
- package/engine/execution-global-error-observer.d.ts +20 -0
- package/engine/execution-global-error-observer.d.ts.map +1 -0
- package/engine/execution-global-error-observer.js +342 -0
- package/engine/execution-global-error-observer.js.map +1 -0
- package/engine/execution-result.js +5 -1
- package/engine/execution-result.js.map +1 -1
- package/engine/execution-supervision.d.ts +7 -5
- package/engine/execution-supervision.d.ts.map +1 -1
- package/engine/execution-supervision.js +47 -29
- package/engine/execution-supervision.js.map +1 -1
- package/engine/execution-test-plan-cases.js +72 -14
- package/engine/execution-test-plan-cases.js.map +1 -1
- package/engine/execution.d.ts +2 -2
- package/engine/execution.d.ts.map +1 -1
- package/engine/execution.js +38 -20
- package/engine/execution.js.map +1 -1
- package/engine/reporter-dispatcher.d.ts +2 -2
- package/engine/reporter-dispatcher.d.ts.map +1 -1
- package/engine/reporter-dispatcher.js +1 -0
- package/engine/reporter-dispatcher.js.map +1 -1
- package/engine/reporter.d.ts +1 -1
- package/engine/reporter.d.ts.map +1 -1
- package/engine/resource-usage-growth.js +4 -4
- package/engine/resource-usage-growth.js.map +1 -1
- package/engine/run-result.d.ts +88 -7
- package/engine/run-result.d.ts.map +1 -1
- package/engine/run-result.js +114 -0
- package/engine/run-result.js.map +1 -1
- package/engine/run-timings.d.ts +68 -0
- package/engine/run-timings.d.ts.map +1 -0
- package/engine/run-timings.js +116 -0
- package/engine/run-timings.js.map +1 -0
- package/engine/test-data.d.ts +4 -0
- package/engine/test-data.d.ts.map +1 -1
- package/engine/test-data.js +14 -1
- package/engine/test-data.js.map +1 -1
- package/package.json +4 -2
- package/packages/engine/engine.entry-point.d.ts +5 -3
- package/packages/engine/engine.entry-point.d.ts.map +1 -1
- package/packages/engine/engine.entry-point.js +3 -3
- package/packages/engine/engine.entry-point.js.map +1 -1
- package/packages/reporter-line/reporter-line.entry-point.js +19 -1
- package/packages/reporter-line/reporter-line.entry-point.js.map +1 -1
- package/packages/run/command-line.entry-point.d.ts +1 -1
- package/packages/run/command-line.entry-point.d.ts.map +1 -1
- package/packages/run/config.entry-point.d.ts +1 -1
- package/packages/run/config.entry-point.d.ts.map +1 -1
- package/packages/run/run.entry-point.d.ts +2 -2
- package/packages/run/run.entry-point.d.ts.map +1 -1
- package/packages/run/run.entry-point.js +2 -2
- package/packages/run/run.entry-point.js.map +1 -1
- package/readme.md +14 -0
- package/reporters/failure-summary.js +16 -0
- package/reporters/failure-summary.js.map +1 -0
- package/reporters/human-reporter-rendering.js +214 -0
- package/reporters/human-reporter-rendering.js.map +1 -0
- package/reporters/line-failure-rendering.js +3 -0
- package/reporters/line-failure-rendering.js.map +1 -1
- package/reporters/line-reporter.js +95 -96
- package/reporters/line-reporter.js.map +1 -1
- package/reporters/run-timing-summary.js +11 -0
- package/reporters/run-timing-summary.js.map +1 -0
- package/reporters/terminal.js +5 -1
- package/reporters/terminal.js.map +1 -1
- package/resources/resource-definition-shape.d.ts +5 -1
- package/resources/resource-definition-shape.d.ts.map +1 -1
- package/run/capability-policy.js +34 -28
- package/run/capability-policy.js.map +1 -1
- package/run/child-process-protocol.js +3 -5
- package/run/child-process-protocol.js.map +1 -1
- package/run/collected-run-plan.js +5 -1
- package/run/collected-run-plan.js.map +1 -1
- package/run/command-line-runner.d.ts.map +1 -1
- package/run/command-line-runner.js +1 -0
- package/run/command-line-runner.js.map +1 -1
- package/run/default-run-engine.js +2 -2
- package/run/default-run-engine.js.map +1 -1
- package/run/duration-history.d.ts +1 -0
- package/run/duration-history.d.ts.map +1 -1
- package/run/duration-history.js +33 -12
- package/run/duration-history.js.map +1 -1
- package/run/permission-denial-runtime-policy.js +118 -0
- package/run/permission-denial-runtime-policy.js.map +1 -0
- package/run/placement-trace.d.ts +27 -1
- package/run/placement-trace.d.ts.map +1 -1
- package/run/placement-trace.js.map +1 -1
- package/run/resource-usage.d.ts +3 -3
- package/run/resource-usage.d.ts.map +1 -1
- package/run/resource-usage.js +5 -5
- package/run/resource-usage.js.map +1 -1
- package/run/run-collected-planning.js +1 -1
- package/run/run-collected-planning.js.map +1 -1
- package/run/run-collection-error-result.js +9 -3
- package/run/run-collection-error-result.js.map +1 -1
- package/run/run-config-defaults.js +47 -0
- package/run/run-config-defaults.js.map +1 -0
- package/run/run-config-schema.d.ts +37 -0
- package/run/run-config-schema.d.ts.map +1 -1
- package/run/run-config-schema.js +26 -0
- package/run/run-config-schema.js.map +1 -1
- package/run/run-config.d.ts +3 -1
- package/run/run-config.d.ts.map +1 -1
- package/run/run-config.js +21 -42
- package/run/run-config.js.map +1 -1
- package/run/run-empty-shard.js +11 -9
- package/run/run-empty-shard.js.map +1 -1
- package/run/run-errors.d.ts +1 -1
- package/run/run-errors.d.ts.map +1 -1
- package/run/run-errors.js +13 -0
- package/run/run-errors.js.map +1 -1
- package/run/run-facts.js +13 -0
- package/run/run-facts.js.map +1 -1
- package/run/run-if-main-facts.js +7 -1
- package/run/run-if-main-facts.js.map +1 -1
- package/run/run-if-main.d.ts +3 -3
- package/run/run-if-main.d.ts.map +1 -1
- package/run/run-if-main.js +6 -3
- package/run/run-if-main.js.map +1 -1
- package/run/run-local-execution.js +1 -1
- package/run/run-local-execution.js.map +1 -1
- package/run/run-local-resolution.js +4 -3
- package/run/run-local-resolution.js.map +1 -1
- package/run/run-local-test-plan.js +20 -1
- package/run/run-local-test-plan.js.map +1 -1
- package/run/run-orchestrator-dependencies.d.ts +9 -3
- package/run/run-orchestrator-dependencies.d.ts.map +1 -1
- package/run/run-orchestrator-dependencies.js +14 -0
- package/run/run-orchestrator-dependencies.js.map +1 -0
- package/run/run-orchestrator.js +2 -2
- package/run/run-orchestrator.js.map +1 -1
- package/run/run-support.js +14 -4
- package/run/run-support.js.map +1 -1
- package/run/run-timing-collection.js +26 -0
- package/run/run-timing-collection.js.map +1 -0
- package/run/run-types.d.ts +22 -2
- package/run/run-types.d.ts.map +1 -1
- package/run/run-types.js +1 -0
- package/run/run-types.js.map +1 -1
- package/run/run-validation.js +10 -0
- package/run/run-validation.js.map +1 -1
- package/run/supervised-child-process.d.ts +2 -3
- package/run/supervised-child-process.d.ts.map +1 -1
- package/run/supervised-child-process.js +1 -1
- package/run/supervised-child-process.js.map +1 -1
- package/run/supervised-child-test-plan.js +47 -0
- package/run/supervised-child-test-plan.js.map +1 -1
- package/run/supervised-child.entry-point.js +2 -2
- package/run/supervised-child.entry-point.js.map +1 -1
- package/run/supervised-child.js +15 -17
- package/run/supervised-child.js.map +1 -1
- package/run/supervised-run-resource-policy.js +6 -0
- package/run/supervised-run-resource-policy.js.map +1 -1
- package/run/supervised-run-runtime.js +45 -29
- package/run/supervised-run-runtime.js.map +1 -1
- package/run/supervised-run-state.d.ts +9 -5
- package/run/supervised-run-state.d.ts.map +1 -1
- package/run/supervised-run-state.js +67 -14
- package/run/supervised-run-state.js.map +1 -1
- package/run/supervised-run.js +18 -8
- package/run/supervised-run.js.map +1 -1
- package/run/work-unit-resource-constraints.js +20 -0
- package/run/work-unit-resource-constraints.js.map +1 -1
- package/run/worker-pool-collection.js +3 -2
- package/run/worker-pool-collection.js.map +1 -1
- package/run/worker-pool-compatible-batching.js +115 -0
- package/run/worker-pool-compatible-batching.js.map +1 -0
- package/run/worker-pool-dispatch-state.js +59 -0
- package/run/worker-pool-dispatch-state.js.map +1 -1
- package/run/worker-pool-dynamic-plan.js +62 -0
- package/run/worker-pool-dynamic-plan.js.map +1 -0
- package/run/worker-pool-execution.js +168 -90
- package/run/worker-pool-execution.js.map +1 -1
- package/run/worker-pool-hedge-dispatch.js +83 -0
- package/run/worker-pool-hedge-dispatch.js.map +1 -0
- package/run/worker-pool-hedged-arbitration.js +186 -0
- package/run/worker-pool-hedged-arbitration.js.map +1 -0
- package/run/worker-pool-host-process.js +12 -0
- package/run/worker-pool-host-process.js.map +1 -1
- package/run/worker-pool-host-protocol.js +26 -14
- package/run/worker-pool-host-protocol.js.map +1 -1
- package/run/worker-pool-host.entry-point.js +35 -8
- package/run/worker-pool-host.entry-point.js.map +1 -1
- package/run/worker-pool-lanes.js +6 -6
- package/run/worker-pool-lanes.js.map +1 -1
- package/run/worker-pool-lease-selection.js +85 -0
- package/run/worker-pool-lease-selection.js.map +1 -0
- package/run/worker-pool-output.js +1 -1
- package/run/worker-pool-output.js.map +1 -1
- package/run/worker-pool-resource-tracking.js +2 -2
- package/run/worker-pool-resource-tracking.js.map +1 -1
- package/run/worker-pool-results.js +32 -17
- package/run/worker-pool-results.js.map +1 -1
- package/run/worker-pool-routing.js +154 -0
- package/run/worker-pool-routing.js.map +1 -0
- package/run/worker-pool-run.js +5 -4
- package/run/worker-pool-run.js.map +1 -1
- package/run/worker-pool-runtime.js +2 -149
- package/run/worker-pool-runtime.js.map +1 -1
- package/run/worker-pool-static-dispatcher.js +74 -0
- package/run/worker-pool-static-dispatcher.js.map +1 -0
- package/run/worker-pool-task-events.js +165 -0
- package/run/worker-pool-task-events.js.map +1 -0
- package/run/worker-pool-warm-lane-affinity.d.ts +13 -0
- package/run/worker-pool-warm-lane-affinity.d.ts.map +1 -0
- package/run/worker-pool-warm-lane-affinity.js +147 -0
- package/run/worker-pool-warm-lane-affinity.js.map +1 -0
- package/run/worker-pool-work-dispatcher.js +148 -230
- package/run/worker-pool-work-dispatcher.js.map +1 -1
- package/run/worker-pool-work-load.js +45 -0
- package/run/worker-pool-work-load.js.map +1 -0
- package/run/worker-pool-worker-plan.js +37 -8
- package/run/worker-pool-worker-plan.js.map +1 -1
- package/run/worker-pool-worker.js +61 -36
- package/run/worker-pool-worker.js.map +1 -1
- 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 {
|
|
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(
|
|
27
|
-
return `${
|
|
29
|
+
function formatDuration(durationMicroseconds) {
|
|
30
|
+
return `${durationMicroseconds / microsecondsPerMillisecond} ms`;
|
|
28
31
|
}
|
|
29
|
-
function
|
|
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
|
-
|
|
32
|
-
|
|
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,
|
|
42
|
-
const
|
|
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, `${
|
|
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
|
-
|
|
143
|
-
|
|
144
|
-
|
|
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
|
-
|
|
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.
|
|
155
|
-
: formatTestResult(event.case, event.outcome, event.
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
184
|
+
wrappedTerminal.line(errorSymbol, `Runner error: ${event.error.message}`);
|
|
187
185
|
}
|
|
188
186
|
},
|
|
189
187
|
async onFinish(finalResult) {
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
188
|
+
const lines = problemLines(finalResult, context, { verbose });
|
|
189
|
+
for (const line of lines) {
|
|
190
|
+
wrappedTerminal.line(line);
|
|
193
191
|
}
|
|
194
|
-
|
|
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":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,OAAO,EAAE,cAAc,EAAmE,MAAM,uBAAuB,CAAC;AACxH,OAAO,EACH,yBAAyB,
|
|
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"}
|
package/reporters/terminal.js
CHANGED
|
@@ -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,
|
|
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
|
|
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":"AAAA,MAAM,MAAM,SAAS,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;AACtD,MAAM,MAAM,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,MAAM,CAAC,CAAC;AAEnD,KAAK,iBAAiB,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CAAE,CAAC;AACzF,KAAK,eAAe,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;CAAE,CAAC;AACpD,KAAK,qBAAqB,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;CAAE,CAAC;AACjE,KAAK,aAAa,GAAG;IACjB,QAAQ,CAAC,IAAI,EAAE,6BAA6B,CAAC;IAC7C,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;CACxC,CAAC;AACF,KAAK,cAAc,GAAG;IAClB,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CAC3B,CAAC;AACF,KAAK,WAAW,GAAG;IACf,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;CACjC,CAAC;AACF,KAAK,WAAW,GAAG;IACf,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;CACjC,CAAC;AAEF,KAAK,oBAAoB,GAAG,WAAW,GAAG,cAAc,GAAG,iBAAiB,GAAG,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"resource-definition-shape.d.ts","sourceRoot":"","sources":["../../../../source/resources/resource-definition-shape.ts"],"names":[],"mappings":"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"}
|
package/run/capability-policy.js
CHANGED
|
@@ -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(
|
|
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
|
|
153
|
-
message: `Runtime policy violation: ${
|
|
154
|
-
strictness:
|
|
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":"AAAA,OAAO,UAAU,EAAE,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,kBAAkB,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAA4B,MAAM,uBAAuB,CAAC;AAClF,OAAO,EAAE,+BAA+B,EAAE,MAAM,oCAAoC,CAAC;AAGrF,OAAO,EACH,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,aAAa,EAGhB,MAAM,kCAAkC,CAAC;AAU1C,MAAM,yBAAyB,GAAG;IAC9B,YAAY,EAAE,eAAe;IAC7B,OAAO,EAAE,SAAS;IAClB,YAAY,EAAE,eAAe;IAC7B,iBAAiB,EAAE,qBAAqB;IACxC,QAAQ,EAAE,SAAS;IACnB,SAAS,EAAE,UAAU;IACrB,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,KAAK;IACd,YAAY,EAAE,eAAe;IAC7B,kBAAkB,EAAE,aAAa;IACjC,cAAc,EAAE,iBAAiB;IACjC,SAAS,EAAE,YAAY;IACvB,SAAS,EAAE,YAAY;IACvB,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,WAAW;IACrB,MAAM,EAAE,QAAQ;CACV,CAAC;AAiDX,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC;IACnC,YAAY;IACZ,oBAAoB;IACpB,GAAG,CAAE,IAAI,EAAE,KAAK,CAAE,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU;IACrC,GAAG,CAAE,IAAI,EAAE,KAAK,CAAE,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS;CACvC,CAAC,CAAC;AACH,MAAM,qBAAqB,GAAG,CAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACpE,MAAM,oBAAoB,GAAwB;IAC9C,UAAU,EAAE,yBAAyB,CAAC,YAAY;IAClD,OAAO,EAAE,yDAAyD;IAClE,UAAU,EAAE,UAAU;CACzB,CAAC;AACF,MAAM,0BAA0B,GAAkD;IAC9E,kBAAkB,EAAE,oBAAoB;IACxC,kBAAkB,EAAE,oBAAoB;IACxC,MAAM,EAAE;QACJ,UAAU,EAAE,yBAAyB,CAAC,MAAM;QAC5C,OAAO,EAAE,oDAAoD;QAC7D,UAAU,EAAE,UAAU;KACzB;CACJ,CAAC;AAEF,MAAM,uBAAuB,GAAsD;IAC/E,eAAe,EAAE,yBAAyB,CAAC,OAAO;IAClD,eAAe,EAAE,yBAAyB,CAAC,OAAO;IAClD,cAAc,EAAE,yBAAyB,CAAC,OAAO;IACjD,aAAa,EAAE,yBAAyB,CAAC,OAAO;IAChD,cAAc,EAAE,yBAAyB,CAAC,OAAO;IACjD,6BAA6B,EAAE,yBAAyB,CAAC,OAAO;IAChE,2BAA2B,EAAE,yBAAyB,CAAC,OAAO;IAC9D,2BAA2B,EAAE,yBAAyB,CAAC,OAAO;IAC9D,mBAAmB,EAAE,yBAAyB,CAAC,QAAQ;IACvD,qBAAqB,EAAE,yBAAyB,CAAC,QAAQ;IACzD,oBAAoB,EAAE,yBAAyB,CAAC,QAAQ;IACxD,qBAAqB,EAAE,yBAAyB,CAAC,QAAQ;IACzD,mBAAmB,EAAE,yBAAyB,CAAC,OAAO;IACtD,
|
|
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(
|
|
6
|
-
|
|
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
|
|
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,
|
|
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
|
-
|
|
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
|