@overkill-dev/reporter-dot 0.0.28 → 0.0.30
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 +3 -3
- package/readme.md +2 -1
- package/reporters/dot-reporter.js +43 -23
- package/reporters/dot-reporter.js.map +1 -1
- package/reporters/failure-location.js +7 -0
- package/reporters/failure-location.js.map +1 -0
- package/reporters/failure-summary.js +3 -0
- package/reporters/failure-summary.js.map +1 -1
- package/reporters/run-fact-summary.js +20 -0
- package/reporters/run-fact-summary.js.map +1 -0
- package/sbom.cdx.json +9 -9
package/package.json
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
},
|
|
13
13
|
"description": "Compact Overkill dot progress reporter.",
|
|
14
14
|
"engines": {
|
|
15
|
-
"node": "^26"
|
|
15
|
+
"node": "^26.9.0"
|
|
16
16
|
},
|
|
17
17
|
"exports": {
|
|
18
18
|
".": {
|
|
@@ -29,7 +29,7 @@
|
|
|
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.38"
|
|
33
33
|
},
|
|
34
34
|
"repository": {
|
|
35
35
|
"type": "git",
|
|
@@ -39,5 +39,5 @@
|
|
|
39
39
|
"./reporters/dot-reporter.js"
|
|
40
40
|
],
|
|
41
41
|
"type": "module",
|
|
42
|
-
"version": "0.0.
|
|
42
|
+
"version": "0.0.30"
|
|
43
43
|
}
|
package/readme.md
CHANGED
|
@@ -20,4 +20,5 @@ The reporter writes directly to `stdout` and declares `stdout-raw`.
|
|
|
20
20
|
|
|
21
21
|
It prints one mark per completed test and runner error, then a compact
|
|
22
22
|
summary and short detail lines for failed tests, inconclusive tests, and
|
|
23
|
-
runner errors.
|
|
23
|
+
runner errors. Failed assertion detail lines include the primary source
|
|
24
|
+
location when the failed check has one.
|
|
@@ -2,7 +2,10 @@ import figures from 'figures';
|
|
|
2
2
|
import colors from 'yoctocolors';
|
|
3
3
|
import { formatCaseId } from "@overkill-dev/engine";
|
|
4
4
|
import { defineReporter } from "@overkill-dev/engine";
|
|
5
|
+
import { formatSourceLocation } from "@overkill-dev/engine";
|
|
6
|
+
import { primaryFailureSourceLocation } from "./failure-location.js";
|
|
5
7
|
import { formatFailureSummary } from "./failure-summary.js";
|
|
8
|
+
import { formatRunFactSummary } from "./run-fact-summary.js";
|
|
6
9
|
import { createTerminalProgressRenderer } from "./terminal.js";
|
|
7
10
|
const passMark = colors.green(figures.tick);
|
|
8
11
|
const failMark = colors.red(figures.cross);
|
|
@@ -35,12 +38,16 @@ function formatSummary(result) {
|
|
|
35
38
|
`${executedCount(result)} executed`
|
|
36
39
|
]
|
|
37
40
|
.join(', ');
|
|
38
|
-
|
|
41
|
+
const statusMark = result.status === 'failed' ? failMark : passMark;
|
|
42
|
+
return `${statusMark} ${countSummary} (${outcomes})${orphanSummary} in ${formatDuration(result.wallTimeMs)}`;
|
|
43
|
+
}
|
|
44
|
+
function failureOrigin(caseId, outcome, context) {
|
|
45
|
+
const failure = outcome.failures[0];
|
|
46
|
+
const location = primaryFailureSourceLocation(failure);
|
|
47
|
+
const locationText = location === null ? null : formatSourceLocation(location, context);
|
|
48
|
+
return locationText === null ? formatCaseId(caseId) : `${locationText} ${formatCaseId(caseId)}`;
|
|
39
49
|
}
|
|
40
50
|
function outcomeDetail(outcome) {
|
|
41
|
-
if (outcome.kind === 'fail') {
|
|
42
|
-
return formatFailureSummary(outcome.failures[0]);
|
|
43
|
-
}
|
|
44
51
|
if (outcome.kind === 'inconclusive') {
|
|
45
52
|
return outcome.reason;
|
|
46
53
|
}
|
|
@@ -64,25 +71,32 @@ function markForVerdict(verdict) {
|
|
|
64
71
|
function formatRunnerError(error) {
|
|
65
72
|
return `Runner error: ${error.message}`;
|
|
66
73
|
}
|
|
67
|
-
function
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
return [
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
|
|
74
|
+
function interruptedTestDetailLine(testResult) {
|
|
75
|
+
const prefix = testResult.verdict === 'resource-exhausted' ? 'Resource exhausted' : 'Crashed';
|
|
76
|
+
return `${prefix}: ${formatCaseId(testResult.id)}`;
|
|
77
|
+
}
|
|
78
|
+
function failedTestDetailLine(caseId, outcome, context) {
|
|
79
|
+
const origin = failureOrigin(caseId, outcome, context);
|
|
80
|
+
const summary = formatFailureSummary(outcome.failures[0]);
|
|
81
|
+
return `Failed: ${origin}: ${summary}`;
|
|
82
|
+
}
|
|
83
|
+
function detailLines(result, context) {
|
|
84
|
+
return result.perTest.flatMap(function testDetail(testResult) {
|
|
85
|
+
if (testResult.outcome === null) {
|
|
86
|
+
return [interruptedTestDetailLine(testResult)];
|
|
87
|
+
}
|
|
88
|
+
if (testResult.outcome.kind === 'fail') {
|
|
89
|
+
return [failedTestDetailLine(testResult.id, testResult.outcome, context)];
|
|
90
|
+
}
|
|
91
|
+
const detail = outcomeDetail(testResult.outcome);
|
|
92
|
+
if (detail === null || testResult.outcome.kind === 'skip') {
|
|
93
|
+
return [];
|
|
94
|
+
}
|
|
95
|
+
return [`Inconclusive: ${formatCaseId(testResult.id)}: ${detail}`];
|
|
96
|
+
});
|
|
83
97
|
}
|
|
84
98
|
export function createDotReporter(dependencies) {
|
|
85
|
-
return defineReporter(function createDotRuntimeReporter() {
|
|
99
|
+
return defineReporter(function createDotRuntimeReporter(context) {
|
|
86
100
|
const progress = createTerminalProgressRenderer({
|
|
87
101
|
interactive: dependencies.interactive,
|
|
88
102
|
output: dependencies.stdout
|
|
@@ -106,7 +120,13 @@ export function createDotReporter(dependencies) {
|
|
|
106
120
|
name: 'dot',
|
|
107
121
|
sinks: [{ kind: 'stdout-raw' }],
|
|
108
122
|
async onEvent(event) {
|
|
109
|
-
if (event.kind === '
|
|
123
|
+
if (event.kind === 'run-start') {
|
|
124
|
+
const summary = formatRunFactSummary(event.facts);
|
|
125
|
+
if (summary !== null) {
|
|
126
|
+
writeLine(summary);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
else if (event.kind === 'test-end') {
|
|
110
130
|
progress.writeMark(markForVerdict(event.verdict));
|
|
111
131
|
}
|
|
112
132
|
else if (event.kind === 'runner-error') {
|
|
@@ -121,7 +141,7 @@ export function createDotReporter(dependencies) {
|
|
|
121
141
|
async onFinish(result) {
|
|
122
142
|
finishProgress();
|
|
123
143
|
writeLine(formatSummary(result));
|
|
124
|
-
for (const detailLine of detailLines(result)) {
|
|
144
|
+
for (const detailLine of detailLines(result, context)) {
|
|
125
145
|
writeLine(detailLine);
|
|
126
146
|
}
|
|
127
147
|
}
|
|
@@ -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,YAAY,
|
|
1
|
+
{"version":3,"file":"dot-reporter.js","sourceRoot":"","sources":["../../../../source/reporters/dot-reporter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -5,6 +5,9 @@ export function formatFailureSummary(failure) {
|
|
|
5
5
|
if (failure.kind === 'body-error') {
|
|
6
6
|
return failure.error.message;
|
|
7
7
|
}
|
|
8
|
+
if (failure.kind === 'cleanup-error') {
|
|
9
|
+
return failure.error.message;
|
|
10
|
+
}
|
|
8
11
|
if (failure.kind === 'timeout') {
|
|
9
12
|
return `Timed out after ${failure.deadlineMilliseconds} ms.`;
|
|
10
13
|
}
|
|
@@ -1 +1 @@
|
|
|
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,SAAS,EAAE,CAAC;QAC7B,OAAO,mBAAmB,OAAO,CAAC,oBAAoB,MAAM,CAAC;IACjE,CAAC;IAED,OAAO,OAAO,CAAC,OAAO,CAAC;AAC3B,CAAC"}
|
|
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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
function isRecord(value) {
|
|
2
|
+
return typeof value === 'object' && value !== null;
|
|
3
|
+
}
|
|
4
|
+
function stringField(value, key) {
|
|
5
|
+
const field = value[key];
|
|
6
|
+
return typeof field === 'string' ? field : null;
|
|
7
|
+
}
|
|
8
|
+
export function formatRunFactSummary(facts) {
|
|
9
|
+
const { execution, reproducibility } = facts;
|
|
10
|
+
if (!isRecord(execution) || !isRecord(reproducibility)) {
|
|
11
|
+
return null;
|
|
12
|
+
}
|
|
13
|
+
const order = stringField(execution, 'order');
|
|
14
|
+
const seed = stringField(reproducibility, 'seed');
|
|
15
|
+
if (order === null || seed === null) {
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
return `order=${order} seed=${seed}`;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=run-fact-summary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-fact-summary.js","sourceRoot":"","sources":["../../../../source/reporters/run-fact-summary.ts"],"names":[],"mappings":"AAEA,SAAS,QAAQ,CAAC,KAAc;IAC5B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AACvD,CAAC;AAED,SAAS,WAAW,CAAC,KAAwC,EAAE,GAAW;IACtE,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IAEzB,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAe;IAChD,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,KAAK,CAAC;IAE7C,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;QACrD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,WAAW,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IAElD,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,SAAS,KAAK,SAAS,IAAI,EAAE,CAAC;AACzC,CAAC"}
|
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.30",
|
|
20
|
+
"bom-ref": "pkg:npm/@overkill-dev/reporter-dot@0.0.30",
|
|
21
|
+
"purl": "pkg:npm/@overkill-dev/reporter-dot@0.0.30"
|
|
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.38",
|
|
29
|
+
"bom-ref": "pkg:npm/@overkill-dev/engine@0.0.38",
|
|
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.38"
|
|
37
37
|
},
|
|
38
38
|
{
|
|
39
39
|
"type": "library",
|
|
@@ -103,12 +103,12 @@
|
|
|
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.38"
|
|
107
107
|
},
|
|
108
108
|
{
|
|
109
|
-
"ref": "pkg:npm/@overkill-dev/reporter-dot@0.0.
|
|
109
|
+
"ref": "pkg:npm/@overkill-dev/reporter-dot@0.0.30",
|
|
110
110
|
"dependsOn": [
|
|
111
|
-
"pkg:npm/@overkill-dev/engine@0.0.
|
|
111
|
+
"pkg:npm/@overkill-dev/engine@0.0.38",
|
|
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",
|