@overkill-dev/reporter-dot 0.0.33 → 0.0.35
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/package.json +5 -4
- package/reporters/dot-reporter.js +4 -64
- package/reporters/dot-reporter.js.map +1 -1
- package/reporters/human-reporter-rendering.js +214 -0
- package/reporters/human-reporter-rendering.js.map +1 -0
- package/reporters/line-failure-rendering.js +238 -0
- package/reporters/line-failure-rendering.js.map +1 -0
- package/reporters/run-timing-summary.js +11 -0
- package/reporters/run-timing-summary.js.map +1 -0
- package/reporters/serialized-value-rendering.js +108 -0
- package/reporters/serialized-value-rendering.js.map +1 -0
- package/sbom.cdx.json +14 -14
- package/reporters/failure-location.js +0 -7
- package/reporters/failure-location.js.map +0 -1
- package/reporters/failure-summary.js +0 -16
- package/reporters/failure-summary.js.map +0 -1
package/package.json
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"ansi-escapes": "7.3.0",
|
|
8
8
|
"figures": "6.1.0",
|
|
9
9
|
"is-interactive": "2.0.0",
|
|
10
|
-
"string-width": "8.
|
|
10
|
+
"string-width": "8.3.0",
|
|
11
11
|
"yoctocolors": "2.2.0"
|
|
12
12
|
},
|
|
13
13
|
"description": "Compact Overkill dot progress reporter.",
|
|
@@ -29,15 +29,16 @@
|
|
|
29
29
|
"license": "MIT",
|
|
30
30
|
"name": "@overkill-dev/reporter-dot",
|
|
31
31
|
"peerDependencies": {
|
|
32
|
-
"@overkill-dev/engine": "0.0.
|
|
32
|
+
"@overkill-dev/engine": "0.0.42"
|
|
33
33
|
},
|
|
34
34
|
"repository": {
|
|
35
35
|
"type": "git",
|
|
36
36
|
"url": "git+https://github.com/enormora/overkill.git"
|
|
37
37
|
},
|
|
38
38
|
"sideEffects": [
|
|
39
|
-
"./reporters/dot-reporter.js"
|
|
39
|
+
"./reporters/dot-reporter.js",
|
|
40
|
+
"./reporters/human-reporter-rendering.js"
|
|
40
41
|
],
|
|
41
42
|
"type": "module",
|
|
42
|
-
"version": "0.0.
|
|
43
|
+
"version": "0.0.35"
|
|
43
44
|
}
|
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
import figures from 'figures';
|
|
2
2
|
import colors from 'yoctocolors';
|
|
3
|
-
import { formatCaseId } from "@overkill-dev/engine";
|
|
4
3
|
import { defineReporter } from "@overkill-dev/engine";
|
|
5
|
-
import { formatSourceLocation } from "@overkill-dev/engine";
|
|
6
|
-
import { primaryFailureSourceLocation } from "./failure-location.js";
|
|
7
|
-
import { formatFailureSummary } from "./failure-summary.js";
|
|
8
4
|
import { formatRunFactSummary } from "./run-fact-summary.js";
|
|
9
5
|
import { createTerminalProgressRenderer } from "./terminal.js";
|
|
6
|
+
import { formatCountSummary, formatTimingSummary, problemLines } from "./human-reporter-rendering.js";
|
|
10
7
|
const passMark = colors.green(figures.tick);
|
|
11
8
|
const failMark = colors.red(figures.cross);
|
|
12
9
|
const skipMark = colors.cyan('°');
|
|
@@ -16,43 +13,9 @@ const microsecondsPerMillisecond = 1000;
|
|
|
16
13
|
function formatDuration(durationMicroseconds) {
|
|
17
14
|
return `${durationMicroseconds / microsecondsPerMillisecond} ms`;
|
|
18
15
|
}
|
|
19
|
-
function executedCount(result) {
|
|
20
|
-
const { summary } = result;
|
|
21
|
-
return summary.passed + summary.failed + summary.skipped + summary.inconclusive +
|
|
22
|
-
summary.resourceExhausted + summary.crashed;
|
|
23
|
-
}
|
|
24
16
|
function formatSummary(result) {
|
|
25
|
-
const { summary } = result;
|
|
26
|
-
const outcomes = [
|
|
27
|
-
`${summary.passed} pass`,
|
|
28
|
-
`${summary.failed} fail`,
|
|
29
|
-
`${summary.skipped} skip`,
|
|
30
|
-
...summary.inconclusive === 0 ? [] : [`${summary.inconclusive} inconclusive`],
|
|
31
|
-
...summary.resourceExhausted === 0 ? [] : [`${summary.resourceExhausted} resource-exhausted`],
|
|
32
|
-
...summary.crashed === 0 ? [] : [`${summary.crashed} crash`]
|
|
33
|
-
]
|
|
34
|
-
.join(', ');
|
|
35
|
-
const orphanSummary = result.orphans.length === 0 ? '' : `, ${result.orphans.length} orphaned`;
|
|
36
|
-
const countSummary = [
|
|
37
|
-
`${summary.discovered} discovered`,
|
|
38
|
-
`${summary.planned} planned`,
|
|
39
|
-
`${executedCount(result)} executed`
|
|
40
|
-
]
|
|
41
|
-
.join(', ');
|
|
42
17
|
const statusMark = result.status === 'failed' ? failMark : passMark;
|
|
43
|
-
return `${statusMark} ${
|
|
44
|
-
}
|
|
45
|
-
function failureOrigin(caseId, outcome, context) {
|
|
46
|
-
const failure = outcome.failures[0];
|
|
47
|
-
const location = primaryFailureSourceLocation(failure);
|
|
48
|
-
const locationText = location === null ? null : formatSourceLocation(location, context);
|
|
49
|
-
return locationText === null ? formatCaseId(caseId) : `${locationText} ${formatCaseId(caseId)}`;
|
|
50
|
-
}
|
|
51
|
-
function outcomeDetail(outcome) {
|
|
52
|
-
if (outcome.kind === 'inconclusive') {
|
|
53
|
-
return outcome.reason;
|
|
54
|
-
}
|
|
55
|
-
return null;
|
|
18
|
+
return `${statusMark} ${formatCountSummary(result)} in ${formatDuration(result.timings.summary.totalWallTimeMicroseconds)} (${formatTimingSummary(result)})`;
|
|
56
19
|
}
|
|
57
20
|
function markForVerdict(verdict) {
|
|
58
21
|
if (verdict === 'resource-exhausted' || verdict === 'crashed') {
|
|
@@ -72,30 +35,6 @@ function markForVerdict(verdict) {
|
|
|
72
35
|
function formatRunnerError(error) {
|
|
73
36
|
return `Runner error: ${error.message}`;
|
|
74
37
|
}
|
|
75
|
-
function interruptedTestDetailLine(testResult) {
|
|
76
|
-
const prefix = testResult.verdict === 'resource-exhausted' ? 'Resource exhausted' : 'Crashed';
|
|
77
|
-
return `${prefix}: ${formatCaseId(testResult.id)}`;
|
|
78
|
-
}
|
|
79
|
-
function failedTestDetailLine(caseId, outcome, context) {
|
|
80
|
-
const origin = failureOrigin(caseId, outcome, context);
|
|
81
|
-
const summary = formatFailureSummary(outcome.failures[0]);
|
|
82
|
-
return `Failed: ${origin}: ${summary}`;
|
|
83
|
-
}
|
|
84
|
-
function detailLines(result, context) {
|
|
85
|
-
return result.perTest.flatMap(function testDetail(testResult) {
|
|
86
|
-
if (testResult.outcome === null) {
|
|
87
|
-
return [interruptedTestDetailLine(testResult)];
|
|
88
|
-
}
|
|
89
|
-
if (testResult.outcome.kind === 'fail') {
|
|
90
|
-
return [failedTestDetailLine(testResult.id, testResult.outcome, context)];
|
|
91
|
-
}
|
|
92
|
-
const detail = outcomeDetail(testResult.outcome);
|
|
93
|
-
if (detail === null || testResult.outcome.kind === 'skip') {
|
|
94
|
-
return [];
|
|
95
|
-
}
|
|
96
|
-
return [`Inconclusive: ${formatCaseId(testResult.id)}: ${detail}`];
|
|
97
|
-
});
|
|
98
|
-
}
|
|
99
38
|
export function createDotReporter(dependencies) {
|
|
100
39
|
return defineReporter(function createDotRuntimeReporter(context) {
|
|
101
40
|
const progress = createTerminalProgressRenderer({
|
|
@@ -142,7 +81,8 @@ export function createDotReporter(dependencies) {
|
|
|
142
81
|
async onFinish(result) {
|
|
143
82
|
finishProgress();
|
|
144
83
|
writeLine(formatSummary(result));
|
|
145
|
-
|
|
84
|
+
const detailLines = problemLines(result, context, { verbose: false });
|
|
85
|
+
for (const detailLine of detailLines) {
|
|
146
86
|
writeLine(detailLine);
|
|
147
87
|
}
|
|
148
88
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dot-reporter.js","sourceRoot":"","sources":["../../../../source/reporters/dot-reporter.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"dot-reporter.js","sourceRoot":"","sources":["../../../../source/reporters/dot-reporter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
import colors from 'yoctocolors';
|
|
2
|
+
import { formatCaseId } from "@overkill-dev/engine";
|
|
3
|
+
import { formatDefinitionLocations } from "@overkill-dev/engine";
|
|
4
|
+
import { formatFailure } from "./line-failure-rendering.js";
|
|
5
|
+
import { formatTimingSummary as formatRunTimingSummary } from "./run-timing-summary.js";
|
|
6
|
+
const colorPalette = [
|
|
7
|
+
colors.cyan,
|
|
8
|
+
colors.green,
|
|
9
|
+
colors.magenta,
|
|
10
|
+
colors.yellow,
|
|
11
|
+
colors.blue
|
|
12
|
+
];
|
|
13
|
+
function executedCount(result) {
|
|
14
|
+
const { summary } = result;
|
|
15
|
+
return summary.passed + summary.failed + summary.skipped + summary.inconclusive +
|
|
16
|
+
summary.resourceExhausted + summary.crashed + summary.runtimePolicy;
|
|
17
|
+
}
|
|
18
|
+
export const formatTimingSummary = formatRunTimingSummary;
|
|
19
|
+
export function formatCountSummary(result) {
|
|
20
|
+
const { summary } = result;
|
|
21
|
+
const outcomes = [
|
|
22
|
+
`${summary.passed} pass`,
|
|
23
|
+
`${summary.failed} fail`,
|
|
24
|
+
`${summary.skipped} skip`,
|
|
25
|
+
...summary.inconclusive === 0 ? [] : [`${summary.inconclusive} inconclusive`],
|
|
26
|
+
...summary.resourceExhausted === 0 ? [] : [`${summary.resourceExhausted} resource-exhausted`],
|
|
27
|
+
...summary.runtimePolicy === 0 ? [] : [`${summary.runtimePolicy} runtime-policy`],
|
|
28
|
+
...summary.crashed === 0 ? [] : [`${summary.crashed} crash`]
|
|
29
|
+
]
|
|
30
|
+
.join(', ');
|
|
31
|
+
const orphanSummary = result.orphans.length === 0 ? '' : `, ${result.orphans.length} orphaned`;
|
|
32
|
+
return `${summary.discovered} discovered, ${summary.planned} planned, ${executedCount(result)} executed ` +
|
|
33
|
+
`(${outcomes})${orphanSummary}`;
|
|
34
|
+
}
|
|
35
|
+
function hashText(value) {
|
|
36
|
+
let hash = 0;
|
|
37
|
+
for (const character of value) {
|
|
38
|
+
hash += character.codePointAt(0) ?? 0;
|
|
39
|
+
}
|
|
40
|
+
return hash;
|
|
41
|
+
}
|
|
42
|
+
function paletteColor(value) {
|
|
43
|
+
return colorPalette[hashText(value) % colorPalette.length] ?? colors.cyan;
|
|
44
|
+
}
|
|
45
|
+
function formatColoredLabel(value, options) {
|
|
46
|
+
if (!options.color) {
|
|
47
|
+
return value;
|
|
48
|
+
}
|
|
49
|
+
return paletteColor(value)(value);
|
|
50
|
+
}
|
|
51
|
+
function runtimeLabel(runtime) {
|
|
52
|
+
if (runtime.variantId !== null) {
|
|
53
|
+
return `${runtime.name}:${runtime.variantId}`;
|
|
54
|
+
}
|
|
55
|
+
const dimensions = Object
|
|
56
|
+
.entries(runtime.dimensions)
|
|
57
|
+
.toSorted(function compareDimension([left], [right]) {
|
|
58
|
+
return left.localeCompare(right);
|
|
59
|
+
})
|
|
60
|
+
.map(function formatDimension([key, value]) {
|
|
61
|
+
return `${key}=${value}`;
|
|
62
|
+
});
|
|
63
|
+
return dimensions.length === 0 ? runtime.name : `${runtime.name}:${dimensions.join(',')}`;
|
|
64
|
+
}
|
|
65
|
+
function runtimePrefixes(runtimes, options) {
|
|
66
|
+
return runtimes
|
|
67
|
+
.map(function formatRuntime(runtime) {
|
|
68
|
+
const label = runtimeLabel(runtime);
|
|
69
|
+
return `[${formatColoredLabel(label, options)}]`;
|
|
70
|
+
})
|
|
71
|
+
.join(' ');
|
|
72
|
+
}
|
|
73
|
+
function suiteLabel(path, topLevel, options) {
|
|
74
|
+
if (!options.color) {
|
|
75
|
+
return path;
|
|
76
|
+
}
|
|
77
|
+
return `${paletteColor(topLevel)(topLevel)}${path.slice(topLevel.length)}`;
|
|
78
|
+
}
|
|
79
|
+
function suitePrefix(suite, options) {
|
|
80
|
+
if (suite.length === 0) {
|
|
81
|
+
return '';
|
|
82
|
+
}
|
|
83
|
+
const path = suite.join(' > ');
|
|
84
|
+
const topLevel = suite[0] ?? path;
|
|
85
|
+
const label = suiteLabel(path, topLevel, options);
|
|
86
|
+
return `[${label}]`;
|
|
87
|
+
}
|
|
88
|
+
export function contextPrefix(runtimes, suite, options) {
|
|
89
|
+
return [runtimePrefixes(runtimes, options), suitePrefix(suite, options)]
|
|
90
|
+
.filter(function present(value) {
|
|
91
|
+
return value.length > 0;
|
|
92
|
+
})
|
|
93
|
+
.join(' ');
|
|
94
|
+
}
|
|
95
|
+
function formatRunnerError(error) {
|
|
96
|
+
const attribution = error.attributedTo === null ? [] : [`test: ${formatCaseId(error.attributedTo)}`];
|
|
97
|
+
const diagnostics = error.diagnostics.map(function formatDiagnostic(diagnostic) {
|
|
98
|
+
return `${diagnostic.label}: ${diagnostic.value}`;
|
|
99
|
+
});
|
|
100
|
+
return [
|
|
101
|
+
`Runner error: ${error.message}`,
|
|
102
|
+
`type: ${error.subtype}`,
|
|
103
|
+
...attribution,
|
|
104
|
+
...diagnostics
|
|
105
|
+
];
|
|
106
|
+
}
|
|
107
|
+
function artifactCaseKey(id) {
|
|
108
|
+
return JSON.stringify([id.file, id.suite, id.title, id.params]);
|
|
109
|
+
}
|
|
110
|
+
function caseArtifacts(result, testResult) {
|
|
111
|
+
const testKey = artifactCaseKey(testResult.id);
|
|
112
|
+
return result.artifacts.filter(function artifactForCase(artifact) {
|
|
113
|
+
return artifact.id.scope.kind === 'case' && artifactCaseKey(artifact.id.scope.case) === testKey;
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
function runArtifacts(result) {
|
|
117
|
+
return result.artifacts.filter(function isRunArtifact(artifact) {
|
|
118
|
+
return artifact.id.scope.kind === 'run';
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
function artifactLines(artifact) {
|
|
122
|
+
if (artifact.payload.kind !== 'captured-output') {
|
|
123
|
+
return [];
|
|
124
|
+
}
|
|
125
|
+
const suffix = artifact.payload.truncated ? ' truncated' : '';
|
|
126
|
+
const header = `${artifact.payload.stream}${suffix}:`;
|
|
127
|
+
const textLines = artifact.payload.text.length === 0
|
|
128
|
+
? []
|
|
129
|
+
: artifact.payload.text.replace(/\n$/u, '').split('\n');
|
|
130
|
+
return [header, ...textLines];
|
|
131
|
+
}
|
|
132
|
+
function indentDetail(line) {
|
|
133
|
+
return ` ${line}`;
|
|
134
|
+
}
|
|
135
|
+
function failedTestLines(result, testResult, context, heading) {
|
|
136
|
+
if (testResult.outcome?.kind !== 'fail') {
|
|
137
|
+
return [];
|
|
138
|
+
}
|
|
139
|
+
return [
|
|
140
|
+
heading,
|
|
141
|
+
...testResult.outcome.failures.flatMap(function formatTestFailure(failure) {
|
|
142
|
+
return formatFailure(failure, context).map(indentDetail);
|
|
143
|
+
}),
|
|
144
|
+
...caseArtifacts(result, testResult).flatMap(function formatArtifact(artifact) {
|
|
145
|
+
return artifactLines(artifact).map(indentDetail);
|
|
146
|
+
})
|
|
147
|
+
];
|
|
148
|
+
}
|
|
149
|
+
function passedArtifactLines(result, testResult, heading) {
|
|
150
|
+
return caseArtifacts(result, testResult).flatMap(function formatArtifact(artifact) {
|
|
151
|
+
return [
|
|
152
|
+
heading,
|
|
153
|
+
...artifactLines(artifact).map(indentDetail)
|
|
154
|
+
];
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
function testProblemHeading(testResult, context) {
|
|
158
|
+
const location = formatDefinitionLocations(testResult.definitionLocations, context).primary;
|
|
159
|
+
const locationText = location === null ? '' : ` (${location})`;
|
|
160
|
+
return `${formatCaseId(testResult.id)}${locationText}`;
|
|
161
|
+
}
|
|
162
|
+
function knownOutcomeProblemLines(input) {
|
|
163
|
+
const { context, heading, options, outcome, result, testResult } = input;
|
|
164
|
+
if (outcome.kind === 'fail') {
|
|
165
|
+
return failedTestLines(result, testResult, context, heading);
|
|
166
|
+
}
|
|
167
|
+
if (outcome.kind === 'inconclusive') {
|
|
168
|
+
return [heading, ` ${outcome.reason}`];
|
|
169
|
+
}
|
|
170
|
+
if (options.verbose && outcome.kind === 'pass') {
|
|
171
|
+
return passedArtifactLines(result, testResult, heading);
|
|
172
|
+
}
|
|
173
|
+
return [];
|
|
174
|
+
}
|
|
175
|
+
function testProblemLines(result, testResult, context, options) {
|
|
176
|
+
const heading = testProblemHeading(testResult, context);
|
|
177
|
+
const { outcome } = testResult;
|
|
178
|
+
if (outcome === null) {
|
|
179
|
+
return [heading, ` ${testResult.verdict}`];
|
|
180
|
+
}
|
|
181
|
+
return knownOutcomeProblemLines({ context, heading, options, outcome, result, testResult });
|
|
182
|
+
}
|
|
183
|
+
function problemTestResult(testResult, verbose) {
|
|
184
|
+
const { outcome } = testResult;
|
|
185
|
+
if (outcome === null) {
|
|
186
|
+
return true;
|
|
187
|
+
}
|
|
188
|
+
if (outcome.kind === 'fail' || outcome.kind === 'inconclusive') {
|
|
189
|
+
return true;
|
|
190
|
+
}
|
|
191
|
+
return verbose && outcome.kind === 'pass';
|
|
192
|
+
}
|
|
193
|
+
export function problemLines(result, context, options) {
|
|
194
|
+
const testLines = result
|
|
195
|
+
.perTest
|
|
196
|
+
.filter(function isProblem(testResult) {
|
|
197
|
+
return problemTestResult(testResult, options.verbose);
|
|
198
|
+
})
|
|
199
|
+
.flatMap(function formatProblem(testResult) {
|
|
200
|
+
return testProblemLines(result, testResult, context, options);
|
|
201
|
+
});
|
|
202
|
+
const runnerErrorLines = result.runnerErrors.flatMap(formatRunnerError);
|
|
203
|
+
const runArtifactLines = result.status === 'failed'
|
|
204
|
+
? runArtifacts(result).flatMap(artifactLines)
|
|
205
|
+
: [];
|
|
206
|
+
const lines = [...testLines, ...runnerErrorLines, ...runArtifactLines];
|
|
207
|
+
return lines.length === 0 ? [] : [
|
|
208
|
+
'Problems',
|
|
209
|
+
...lines.map(function indentProblem(line) {
|
|
210
|
+
return ` ${line}`;
|
|
211
|
+
})
|
|
212
|
+
];
|
|
213
|
+
}
|
|
214
|
+
//# sourceMappingURL=human-reporter-rendering.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"human-reporter-rendering.js","sourceRoot":"","sources":["../../../../source/reporters/human-reporter-rendering.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
import colors from 'yoctocolors';
|
|
2
|
+
import { formatAssertionSourceLocations } from "@overkill-dev/engine";
|
|
3
|
+
import { formatSerializedValue, keyText } from "./serialized-value-rendering.js";
|
|
4
|
+
const blockLineLimit = 100;
|
|
5
|
+
const bytesPerKilobyte = 1024;
|
|
6
|
+
const valueKilobytes = 8;
|
|
7
|
+
const valueByteLimit = valueKilobytes * bytesPerKilobyte;
|
|
8
|
+
function byteLength(value) {
|
|
9
|
+
return Buffer.byteLength(value, 'utf8');
|
|
10
|
+
}
|
|
11
|
+
function truncateBytes(value) {
|
|
12
|
+
if (byteLength(value) <= valueByteLimit) {
|
|
13
|
+
return value;
|
|
14
|
+
}
|
|
15
|
+
let truncated = '';
|
|
16
|
+
for (const character of value) {
|
|
17
|
+
const next = `${truncated}${character}`;
|
|
18
|
+
if (byteLength(next) > valueByteLimit) {
|
|
19
|
+
break;
|
|
20
|
+
}
|
|
21
|
+
truncated = next;
|
|
22
|
+
}
|
|
23
|
+
return `${truncated}\n... truncated after ${valueByteLimit} bytes`;
|
|
24
|
+
}
|
|
25
|
+
function truncateLines(value) {
|
|
26
|
+
const lines = value.split('\n');
|
|
27
|
+
if (lines.length <= blockLineLimit) {
|
|
28
|
+
return value;
|
|
29
|
+
}
|
|
30
|
+
return [
|
|
31
|
+
...lines.slice(0, blockLineLimit),
|
|
32
|
+
`... truncated ${lines.length - blockLineLimit} lines`
|
|
33
|
+
]
|
|
34
|
+
.join('\n');
|
|
35
|
+
}
|
|
36
|
+
function truncateRenderedValue(value) {
|
|
37
|
+
return truncateLines(truncateBytes(value));
|
|
38
|
+
}
|
|
39
|
+
function formatPropertySegment(segment) {
|
|
40
|
+
const key = keyText(segment.key);
|
|
41
|
+
return /^[A-Za-z_$][\w$]*$/u.test(key) ? `.${key}` : `[${JSON.stringify(key)}]`;
|
|
42
|
+
}
|
|
43
|
+
function formatKeyedSegment(segment) {
|
|
44
|
+
if (segment.kind === 'set-value') {
|
|
45
|
+
return `[set ${formatSerializedValue(segment.value)}]`;
|
|
46
|
+
}
|
|
47
|
+
if (segment.kind === 'map-key') {
|
|
48
|
+
return `[map key ${formatSerializedValue(segment.key)}]`;
|
|
49
|
+
}
|
|
50
|
+
if (segment.kind === 'map-value') {
|
|
51
|
+
return `[map value ${formatSerializedValue(segment.key)}]`;
|
|
52
|
+
}
|
|
53
|
+
return formatPropertySegment(segment);
|
|
54
|
+
}
|
|
55
|
+
function formatSegment(segment) {
|
|
56
|
+
if (segment.kind === 'index') {
|
|
57
|
+
return `[${segment.index}]`;
|
|
58
|
+
}
|
|
59
|
+
return segment.kind === 'byte' ? `[byte ${segment.offset}]` : formatKeyedSegment(segment);
|
|
60
|
+
}
|
|
61
|
+
function formatPath(path) {
|
|
62
|
+
return path.map(formatSegment).join('');
|
|
63
|
+
}
|
|
64
|
+
function formatSerializedValueLines(label, value) {
|
|
65
|
+
return [`${label}: ${truncateRenderedValue(formatSerializedValue(value))}`];
|
|
66
|
+
}
|
|
67
|
+
function formatObjectOperation(operation) {
|
|
68
|
+
if (operation.operation === 'replace') {
|
|
69
|
+
return `replace ${formatPath(operation.path)}: expected ${formatSerializedValue(operation.from)}, actual ${formatSerializedValue(operation.to)}`;
|
|
70
|
+
}
|
|
71
|
+
if (operation.operation === 'add') {
|
|
72
|
+
return `add ${formatPath(operation.path)}: ${formatSerializedValue(operation.value)}`;
|
|
73
|
+
}
|
|
74
|
+
if (operation.operation === 'remove') {
|
|
75
|
+
return `remove ${formatPath(operation.path)}: ${formatSerializedValue(operation.value)}`;
|
|
76
|
+
}
|
|
77
|
+
return `missing ${formatPath(operation.path)}: ${formatSerializedValue(operation.value)}`;
|
|
78
|
+
}
|
|
79
|
+
function formatArrayOperation(operation) {
|
|
80
|
+
if (operation.operation === 'missing-index') {
|
|
81
|
+
return `missing [${operation.index}]: ${formatSerializedValue(operation.value)}`;
|
|
82
|
+
}
|
|
83
|
+
if (operation.operation === 'missing-member') {
|
|
84
|
+
return `missing array member: ${formatSerializedValue(operation.value)}`;
|
|
85
|
+
}
|
|
86
|
+
return formatObjectOperation(operation);
|
|
87
|
+
}
|
|
88
|
+
function formatMapOperation(operation) {
|
|
89
|
+
if (operation.operation === 'missing-entry') {
|
|
90
|
+
return `missing map entry ${formatSerializedValue(operation.key)}: ${formatSerializedValue(operation.value)}`;
|
|
91
|
+
}
|
|
92
|
+
return formatObjectOperation(operation);
|
|
93
|
+
}
|
|
94
|
+
function formatSetOperation(operation) {
|
|
95
|
+
if (operation.operation === 'missing-member') {
|
|
96
|
+
return `missing set member: ${formatSerializedValue(operation.value)}`;
|
|
97
|
+
}
|
|
98
|
+
return formatObjectOperation(operation);
|
|
99
|
+
}
|
|
100
|
+
function formatValueDiff(diff) {
|
|
101
|
+
return [
|
|
102
|
+
...formatSerializedValueLines('expected', diff.expected),
|
|
103
|
+
...formatSerializedValueLines('actual', diff.actual)
|
|
104
|
+
];
|
|
105
|
+
}
|
|
106
|
+
function formatStringDiff(diff) {
|
|
107
|
+
return diff.hunks.flatMap(function formatHunk(hunk) {
|
|
108
|
+
return [
|
|
109
|
+
`string hunk expected ${hunk.expectedStart}, actual ${hunk.actualStart}`,
|
|
110
|
+
...hunk.removed.map(function removed(line) {
|
|
111
|
+
return `- ${line}`;
|
|
112
|
+
}),
|
|
113
|
+
...hunk.added.map(function added(line) {
|
|
114
|
+
return `+ ${line}`;
|
|
115
|
+
})
|
|
116
|
+
];
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
function formatBinaryDiff(diff) {
|
|
120
|
+
const expectedSummary = `expected ${diff.expectedSize} bytes ${diff.expectedHash}`;
|
|
121
|
+
const actualSummary = `actual ${diff.actualSize} bytes ${diff.actualHash}`;
|
|
122
|
+
const header = `binary differs: ${expectedSummary}, ${actualSummary}`;
|
|
123
|
+
return [
|
|
124
|
+
header,
|
|
125
|
+
...diff.ranges.map(function formatRange(range) {
|
|
126
|
+
return `byte ${range.offset}: expected [${range.expected.join(', ')}], actual [${range.actual.join(', ')}]`;
|
|
127
|
+
})
|
|
128
|
+
];
|
|
129
|
+
}
|
|
130
|
+
function formatNonScalarDiff(diff) {
|
|
131
|
+
if (diff.kind === 'object') {
|
|
132
|
+
return diff.operations.map(formatObjectOperation);
|
|
133
|
+
}
|
|
134
|
+
if (diff.kind === 'array') {
|
|
135
|
+
return diff.operations.map(formatArrayOperation);
|
|
136
|
+
}
|
|
137
|
+
if (diff.kind === 'map') {
|
|
138
|
+
return diff.operations.map(formatMapOperation);
|
|
139
|
+
}
|
|
140
|
+
if (diff.kind === 'set') {
|
|
141
|
+
return diff.operations.map(formatSetOperation);
|
|
142
|
+
}
|
|
143
|
+
return formatBinaryDiff(diff);
|
|
144
|
+
}
|
|
145
|
+
function formatDiff(diff) {
|
|
146
|
+
if (diff.kind === 'value') {
|
|
147
|
+
return formatValueDiff(diff);
|
|
148
|
+
}
|
|
149
|
+
if (diff.kind === 'string') {
|
|
150
|
+
return formatStringDiff(diff);
|
|
151
|
+
}
|
|
152
|
+
return formatNonScalarDiff(diff);
|
|
153
|
+
}
|
|
154
|
+
function failedCheckDetailLines(check) {
|
|
155
|
+
if (check.kind === 'foreign') {
|
|
156
|
+
return [
|
|
157
|
+
`foreign assertion: ${check.label}`,
|
|
158
|
+
`${check.error.name}: ${check.error.message}`
|
|
159
|
+
];
|
|
160
|
+
}
|
|
161
|
+
return check.diff === null
|
|
162
|
+
? [
|
|
163
|
+
...formatSerializedValueLines('expected', check.expected),
|
|
164
|
+
...formatSerializedValueLines('actual', check.actual)
|
|
165
|
+
]
|
|
166
|
+
: formatDiff(check.diff);
|
|
167
|
+
}
|
|
168
|
+
function formatFailedCheck(check, context) {
|
|
169
|
+
const path = formatPath(check.path);
|
|
170
|
+
const sourceLocations = formatAssertionSourceLocations(check.sourceLocations, context);
|
|
171
|
+
const detailLines = failedCheckDetailLines(check);
|
|
172
|
+
const childLines = check.kind === 'composite'
|
|
173
|
+
? check.children.flatMap(function formatChild(child, index) {
|
|
174
|
+
return [
|
|
175
|
+
`child check ${index + 1}`,
|
|
176
|
+
...formatFailedCheck(child, context).map(function indentChild(line) {
|
|
177
|
+
return ` ${line}`;
|
|
178
|
+
})
|
|
179
|
+
];
|
|
180
|
+
})
|
|
181
|
+
: [];
|
|
182
|
+
return [
|
|
183
|
+
check.summary,
|
|
184
|
+
...path.length === 0 ? [] : [`path: ${path}`],
|
|
185
|
+
...sourceLocations.primary === null ? [] : [`source: ${sourceLocations.primary}`],
|
|
186
|
+
...sourceLocations.details.map(function formatLocationDetail(detail) {
|
|
187
|
+
return ` ${detail}`;
|
|
188
|
+
}),
|
|
189
|
+
...detailLines,
|
|
190
|
+
...childLines
|
|
191
|
+
];
|
|
192
|
+
}
|
|
193
|
+
function formatTestContractFailure(failure) {
|
|
194
|
+
return [
|
|
195
|
+
`${failure.summary} (${failure.code})`,
|
|
196
|
+
`expected: ${failure.expected}`,
|
|
197
|
+
`actual: ${truncateRenderedValue(String(failure.actual))}`
|
|
198
|
+
];
|
|
199
|
+
}
|
|
200
|
+
function formatBodyErrorFailure(failure) {
|
|
201
|
+
const stackLines = failure.error.stack === null
|
|
202
|
+
? []
|
|
203
|
+
: truncateRenderedValue(failure.error.stack).split('\n').map(function dimStackLine(line) {
|
|
204
|
+
return colors.dim(line);
|
|
205
|
+
});
|
|
206
|
+
return [
|
|
207
|
+
`${failure.error.name}: ${failure.error.message}`,
|
|
208
|
+
...stackLines
|
|
209
|
+
];
|
|
210
|
+
}
|
|
211
|
+
function formatAssertionFailure(failure, context) {
|
|
212
|
+
return failure.checks.flatMap(function formatCheck(check, index) {
|
|
213
|
+
const prefix = failure.checks.length === 1 ? [] : [`check ${index + 1}`];
|
|
214
|
+
return [...prefix, ...formatFailedCheck(check, context)];
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
function formatTimeoutFailure(failure) {
|
|
218
|
+
return [
|
|
219
|
+
`Timed out after ${failure.deadlineMilliseconds} ms.`,
|
|
220
|
+
`elapsed: ${failure.elapsedMilliseconds} ms`
|
|
221
|
+
];
|
|
222
|
+
}
|
|
223
|
+
export function formatFailure(failure, context) {
|
|
224
|
+
if (failure.kind === 'assertion') {
|
|
225
|
+
return formatAssertionFailure(failure, context);
|
|
226
|
+
}
|
|
227
|
+
if (failure.kind === 'body-error' || failure.kind === 'cleanup-error') {
|
|
228
|
+
return formatBodyErrorFailure(failure);
|
|
229
|
+
}
|
|
230
|
+
if (failure.kind === 'timeout') {
|
|
231
|
+
return formatTimeoutFailure(failure);
|
|
232
|
+
}
|
|
233
|
+
if (failure.kind === 'hedged-duplicate-conflict') {
|
|
234
|
+
return [failure.summary];
|
|
235
|
+
}
|
|
236
|
+
return formatTestContractFailure(failure);
|
|
237
|
+
}
|
|
238
|
+
//# sourceMappingURL=line-failure-rendering.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"line-failure-rendering.js","sourceRoot":"","sources":["../../../../source/reporters/line-failure-rendering.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"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
export function keyText(key) {
|
|
2
|
+
return key.kind === 'symbol' ? `[${key.value}]` : key.value;
|
|
3
|
+
}
|
|
4
|
+
function formatEntries(entries, format) {
|
|
5
|
+
return `{ ${entries
|
|
6
|
+
.map(function formatEntry(entry) {
|
|
7
|
+
return `${keyText(entry.key)}: ${format(entry.value)}`;
|
|
8
|
+
})
|
|
9
|
+
.join(', ')} }`;
|
|
10
|
+
}
|
|
11
|
+
function formatNullishValue(value) {
|
|
12
|
+
if (value.kind === 'undefined') {
|
|
13
|
+
return 'undefined';
|
|
14
|
+
}
|
|
15
|
+
return value.kind === 'null' ? 'null' : null;
|
|
16
|
+
}
|
|
17
|
+
function formatScalarValue(value) {
|
|
18
|
+
if (value.kind === 'boolean' || value.kind === 'number') {
|
|
19
|
+
return String(value.value);
|
|
20
|
+
}
|
|
21
|
+
return value.kind === 'bigint' ? `${value.value}n` : null;
|
|
22
|
+
}
|
|
23
|
+
function formatTextValue(value) {
|
|
24
|
+
if (value.kind === 'string') {
|
|
25
|
+
const rendered = JSON.stringify(value.value);
|
|
26
|
+
return value.truncation === null
|
|
27
|
+
? rendered
|
|
28
|
+
: `${rendered} (truncated at ${value.truncation.budget} bytes)`;
|
|
29
|
+
}
|
|
30
|
+
return value.kind === 'symbol' ? value.value : null;
|
|
31
|
+
}
|
|
32
|
+
function formatFunctionValue(value) {
|
|
33
|
+
if (value.kind !== 'function') {
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
return value.name === null ? '[Function]' : `[Function ${value.name}]`;
|
|
37
|
+
}
|
|
38
|
+
function formatCollectionValue(value, format) {
|
|
39
|
+
if (value.kind === 'array') {
|
|
40
|
+
return `[${value
|
|
41
|
+
.entries
|
|
42
|
+
.map(function formatArrayEntry(entry) {
|
|
43
|
+
return format(entry.value);
|
|
44
|
+
})
|
|
45
|
+
.join(', ')}]`;
|
|
46
|
+
}
|
|
47
|
+
if (value.kind === 'object') {
|
|
48
|
+
return `${value.constructorName} ${formatEntries(value.entries, format)}`;
|
|
49
|
+
}
|
|
50
|
+
if (value.kind === 'map') {
|
|
51
|
+
return `Map(${value.size})`;
|
|
52
|
+
}
|
|
53
|
+
return value.kind === 'set' ? `Set(${value.size})` : null;
|
|
54
|
+
}
|
|
55
|
+
function formatBuiltInValue(value) {
|
|
56
|
+
if (value.kind === 'date') {
|
|
57
|
+
return value.value === null ? 'Invalid Date' : `Date ${value.value}`;
|
|
58
|
+
}
|
|
59
|
+
if (value.kind === 'regexp') {
|
|
60
|
+
return `/${value.source}/${value.flags}`;
|
|
61
|
+
}
|
|
62
|
+
return value.kind === 'error' ? `${value.name}: ${value.message}` : null;
|
|
63
|
+
}
|
|
64
|
+
function formatByteValue(value) {
|
|
65
|
+
if (value.kind === 'array-buffer' || value.kind === 'data-view') {
|
|
66
|
+
return `${value.kind}(${value.byteLength} bytes)`;
|
|
67
|
+
}
|
|
68
|
+
return value.kind === 'typed-array' ? `${value.constructorName}(${value.length})` : null;
|
|
69
|
+
}
|
|
70
|
+
function formatFallbackValue(value) {
|
|
71
|
+
if (value.kind === 'circular') {
|
|
72
|
+
return `[Circular ${value.reference}]`;
|
|
73
|
+
}
|
|
74
|
+
if (value.kind === 'opaque') {
|
|
75
|
+
return `[${value.type}]`;
|
|
76
|
+
}
|
|
77
|
+
return value.kind === 'unavailable' ? `[Unavailable: ${value.reason}]` : null;
|
|
78
|
+
}
|
|
79
|
+
const scalarRenderers = [
|
|
80
|
+
formatNullishValue,
|
|
81
|
+
formatScalarValue,
|
|
82
|
+
formatTextValue,
|
|
83
|
+
formatFunctionValue
|
|
84
|
+
];
|
|
85
|
+
const referenceRenderers = [
|
|
86
|
+
formatBuiltInValue,
|
|
87
|
+
formatByteValue,
|
|
88
|
+
formatFallbackValue
|
|
89
|
+
];
|
|
90
|
+
function formatWithRenderers(value, renderers) {
|
|
91
|
+
for (const renderer of renderers) {
|
|
92
|
+
const rendered = renderer(value);
|
|
93
|
+
if (rendered !== null) {
|
|
94
|
+
return rendered;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
return null;
|
|
98
|
+
}
|
|
99
|
+
export function formatSerializedValue(value) {
|
|
100
|
+
const scalar = formatWithRenderers(value, scalarRenderers);
|
|
101
|
+
if (scalar !== null) {
|
|
102
|
+
return scalar;
|
|
103
|
+
}
|
|
104
|
+
const collection = formatCollectionValue(value, formatSerializedValue);
|
|
105
|
+
return collection ?? formatWithRenderers(value, referenceRenderers) ??
|
|
106
|
+
'[Unavailable: unsupported serialized value]';
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=serialized-value-rendering.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serialized-value-rendering.js","sourceRoot":"","sources":["../../../../source/reporters/serialized-value-rendering.ts"],"names":[],"mappings":"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"}
|
package/sbom.cdx.json
CHANGED
|
@@ -16,24 +16,24 @@
|
|
|
16
16
|
"component": {
|
|
17
17
|
"type": "library",
|
|
18
18
|
"name": "@overkill-dev/reporter-dot",
|
|
19
|
-
"version": "0.0.
|
|
20
|
-
"bom-ref": "pkg:npm/@overkill-dev/reporter-dot@0.0.
|
|
21
|
-
"purl": "pkg:npm/@overkill-dev/reporter-dot@0.0.
|
|
19
|
+
"version": "0.0.35",
|
|
20
|
+
"bom-ref": "pkg:npm/@overkill-dev/reporter-dot@0.0.35",
|
|
21
|
+
"purl": "pkg:npm/@overkill-dev/reporter-dot@0.0.35"
|
|
22
22
|
}
|
|
23
23
|
},
|
|
24
24
|
"components": [
|
|
25
25
|
{
|
|
26
26
|
"type": "library",
|
|
27
27
|
"name": "@overkill-dev/engine",
|
|
28
|
-
"version": "0.0.
|
|
29
|
-
"bom-ref": "pkg:npm/@overkill-dev/engine@0.0.
|
|
28
|
+
"version": "0.0.42",
|
|
29
|
+
"bom-ref": "pkg:npm/@overkill-dev/engine@0.0.42",
|
|
30
30
|
"scope": "optional",
|
|
31
31
|
"licenses": [
|
|
32
32
|
{
|
|
33
33
|
"expression": "MIT"
|
|
34
34
|
}
|
|
35
35
|
],
|
|
36
|
-
"purl": "pkg:npm/@overkill-dev/engine@0.0.
|
|
36
|
+
"purl": "pkg:npm/@overkill-dev/engine@0.0.42"
|
|
37
37
|
},
|
|
38
38
|
{
|
|
39
39
|
"type": "library",
|
|
@@ -77,15 +77,15 @@
|
|
|
77
77
|
{
|
|
78
78
|
"type": "library",
|
|
79
79
|
"name": "string-width",
|
|
80
|
-
"version": "8.
|
|
81
|
-
"bom-ref": "pkg:npm/string-width@8.
|
|
80
|
+
"version": "8.3.0",
|
|
81
|
+
"bom-ref": "pkg:npm/string-width@8.3.0",
|
|
82
82
|
"scope": "required",
|
|
83
83
|
"licenses": [
|
|
84
84
|
{
|
|
85
85
|
"expression": "MIT"
|
|
86
86
|
}
|
|
87
87
|
],
|
|
88
|
-
"purl": "pkg:npm/string-width@8.
|
|
88
|
+
"purl": "pkg:npm/string-width@8.3.0"
|
|
89
89
|
},
|
|
90
90
|
{
|
|
91
91
|
"type": "library",
|
|
@@ -103,16 +103,16 @@
|
|
|
103
103
|
],
|
|
104
104
|
"dependencies": [
|
|
105
105
|
{
|
|
106
|
-
"ref": "pkg:npm/@overkill-dev/engine@0.0.
|
|
106
|
+
"ref": "pkg:npm/@overkill-dev/engine@0.0.42"
|
|
107
107
|
},
|
|
108
108
|
{
|
|
109
|
-
"ref": "pkg:npm/@overkill-dev/reporter-dot@0.0.
|
|
109
|
+
"ref": "pkg:npm/@overkill-dev/reporter-dot@0.0.35",
|
|
110
110
|
"dependsOn": [
|
|
111
|
-
"pkg:npm/@overkill-dev/engine@0.0.
|
|
111
|
+
"pkg:npm/@overkill-dev/engine@0.0.42",
|
|
112
112
|
"pkg:npm/ansi-escapes@7.3.0",
|
|
113
113
|
"pkg:npm/figures@6.1.0",
|
|
114
114
|
"pkg:npm/is-interactive@2.0.0",
|
|
115
|
-
"pkg:npm/string-width@8.
|
|
115
|
+
"pkg:npm/string-width@8.3.0",
|
|
116
116
|
"pkg:npm/yoctocolors@2.2.0"
|
|
117
117
|
]
|
|
118
118
|
},
|
|
@@ -126,7 +126,7 @@
|
|
|
126
126
|
"ref": "pkg:npm/is-interactive@2.0.0"
|
|
127
127
|
},
|
|
128
128
|
{
|
|
129
|
-
"ref": "pkg:npm/string-width@8.
|
|
129
|
+
"ref": "pkg:npm/string-width@8.3.0"
|
|
130
130
|
},
|
|
131
131
|
{
|
|
132
132
|
"ref": "pkg:npm/yoctocolors@2.2.0"
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
function firstAssertionCheck(failure) {
|
|
2
|
-
return failure.kind === 'assertion' ? failure.checks[0] : null;
|
|
3
|
-
}
|
|
4
|
-
export function primaryFailureSourceLocation(failure) {
|
|
5
|
-
return firstAssertionCheck(failure)?.sourceLocations[0] ?? null;
|
|
6
|
-
}
|
|
7
|
-
//# sourceMappingURL=failure-location.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"failure-location.js","sourceRoot":"","sources":["../../../../source/reporters/failure-location.ts"],"names":[],"mappings":"AAGA,SAAS,mBAAmB,CAAC,OAAoB;IAC7C,OAAO,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,OAAoB;IAC7D,OAAO,mBAAmB,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AACpE,CAAC"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
export function formatFailureSummary(failure) {
|
|
2
|
-
if (failure.kind === 'assertion') {
|
|
3
|
-
return failure.checks[0].summary;
|
|
4
|
-
}
|
|
5
|
-
if (failure.kind === 'body-error') {
|
|
6
|
-
return failure.error.message;
|
|
7
|
-
}
|
|
8
|
-
if (failure.kind === 'cleanup-error') {
|
|
9
|
-
return failure.error.message;
|
|
10
|
-
}
|
|
11
|
-
if (failure.kind === 'timeout') {
|
|
12
|
-
return `Timed out after ${failure.deadlineMilliseconds} ms.`;
|
|
13
|
-
}
|
|
14
|
-
return failure.summary;
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=failure-summary.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"failure-summary.js","sourceRoot":"","sources":["../../../../source/reporters/failure-summary.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,oBAAoB,CAAC,OAAoB;IACrD,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAC/B,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IACrC,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QAChC,OAAO,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;IACjC,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;QACnC,OAAO,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;IACjC,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,mBAAmB,OAAO,CAAC,oBAAoB,MAAM,CAAC;IACjE,CAAC;IAED,OAAO,OAAO,CAAC,OAAO,CAAC;AAC3B,CAAC"}
|