@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 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.27"
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.28"
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
- return `${countSummary} (${outcomes})${orphanSummary} in ${formatDuration(result.wallTimeMs)}`;
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 detailLines(result) {
68
- return [
69
- ...result.perTest.flatMap(function testDetail(testResult) {
70
- if (testResult.outcome === null) {
71
- const prefix = testResult.verdict === 'resource-exhausted' ? 'Resource exhausted' : 'Crashed';
72
- return [`${prefix}: ${formatCaseId(testResult.id)}`];
73
- }
74
- const detail = outcomeDetail(testResult.outcome);
75
- if (detail === null || testResult.outcome.kind === 'skip') {
76
- return [];
77
- }
78
- const prefix = testResult.outcome.kind === 'fail' ? 'Failed' : 'Inconclusive';
79
- return [`${prefix}: ${formatCaseId(testResult.id)}: ${detail}`];
80
- }),
81
- ...result.runnerErrors.map(formatRunnerError)
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 === 'test-end') {
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":"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"}
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.28",
20
- "bom-ref": "pkg:npm/@overkill-dev/reporter-dot@0.0.28",
21
- "purl": "pkg:npm/@overkill-dev/reporter-dot@0.0.28"
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.27",
29
- "bom-ref": "pkg:npm/@overkill-dev/engine@0.0.27",
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.27"
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.27"
106
+ "ref": "pkg:npm/@overkill-dev/engine@0.0.38"
107
107
  },
108
108
  {
109
- "ref": "pkg:npm/@overkill-dev/reporter-dot@0.0.28",
109
+ "ref": "pkg:npm/@overkill-dev/reporter-dot@0.0.30",
110
110
  "dependsOn": [
111
- "pkg:npm/@overkill-dev/engine@0.0.27",
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",