@overkill-dev/reporter-dot 0.0.27 → 0.0.29

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
@@ -29,7 +29,7 @@
29
29
  "license": "MIT",
30
30
  "name": "@overkill-dev/reporter-dot",
31
31
  "peerDependencies": {
32
- "@overkill-dev/engine": "0.0.26"
32
+ "@overkill-dev/engine": "0.0.28"
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.27"
42
+ "version": "0.0.29"
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,6 +2,8 @@ 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";
6
8
  import { createTerminalProgressRenderer } from "./terminal.js";
7
9
  const passMark = colors.green(figures.tick);
@@ -37,10 +39,13 @@ function formatSummary(result) {
37
39
  .join(', ');
38
40
  return `${countSummary} (${outcomes})${orphanSummary} in ${formatDuration(result.wallTimeMs)}`;
39
41
  }
42
+ function failureOrigin(caseId, outcome, context) {
43
+ const failure = outcome.failures[0];
44
+ const location = primaryFailureSourceLocation(failure);
45
+ const locationText = location === null ? null : formatSourceLocation(location, context);
46
+ return locationText === null ? formatCaseId(caseId) : `${locationText} ${formatCaseId(caseId)}`;
47
+ }
40
48
  function outcomeDetail(outcome) {
41
- if (outcome.kind === 'fail') {
42
- return formatFailureSummary(outcome.failures[0]);
43
- }
44
49
  if (outcome.kind === 'inconclusive') {
45
50
  return outcome.reason;
46
51
  }
@@ -64,66 +69,78 @@ function markForVerdict(verdict) {
64
69
  function formatRunnerError(error) {
65
70
  return `Runner error: ${error.message}`;
66
71
  }
67
- function detailLines(result) {
72
+ function interruptedTestDetailLine(testResult) {
73
+ const prefix = testResult.verdict === 'resource-exhausted' ? 'Resource exhausted' : 'Crashed';
74
+ return `${prefix}: ${formatCaseId(testResult.id)}`;
75
+ }
76
+ function failedTestDetailLine(caseId, outcome, context) {
77
+ const origin = failureOrigin(caseId, outcome, context);
78
+ const summary = formatFailureSummary(outcome.failures[0]);
79
+ return `Failed: ${origin}: ${summary}`;
80
+ }
81
+ function detailLines(result, context) {
68
82
  return [
69
83
  ...result.perTest.flatMap(function testDetail(testResult) {
70
84
  if (testResult.outcome === null) {
71
- const prefix = testResult.verdict === 'resource-exhausted' ? 'Resource exhausted' : 'Crashed';
72
- return [`${prefix}: ${formatCaseId(testResult.id)}`];
85
+ return [interruptedTestDetailLine(testResult)];
86
+ }
87
+ if (testResult.outcome.kind === 'fail') {
88
+ return [failedTestDetailLine(testResult.id, testResult.outcome, context)];
73
89
  }
74
90
  const detail = outcomeDetail(testResult.outcome);
75
91
  if (detail === null || testResult.outcome.kind === 'skip') {
76
92
  return [];
77
93
  }
78
- const prefix = testResult.outcome.kind === 'fail' ? 'Failed' : 'Inconclusive';
79
- return [`${prefix}: ${formatCaseId(testResult.id)}: ${detail}`];
94
+ return [`Inconclusive: ${formatCaseId(testResult.id)}: ${detail}`];
80
95
  }),
81
96
  ...result.runnerErrors.map(formatRunnerError)
82
97
  ];
83
98
  }
84
99
  export function createDotReporter(dependencies) {
85
- const progress = createTerminalProgressRenderer({
86
- interactive: dependencies.interactive,
87
- output: dependencies.stdout
88
- });
89
- let finished = false;
90
- function writeLine(line) {
91
- dependencies.stdout.write(`${line}\n`);
92
- }
93
- function finishProgress() {
94
- if (finished) {
95
- return;
100
+ return defineReporter(function createDotRuntimeReporter(context) {
101
+ const progress = createTerminalProgressRenderer({
102
+ interactive: dependencies.interactive,
103
+ output: dependencies.stdout
104
+ });
105
+ let finished = false;
106
+ function writeLine(line) {
107
+ dependencies.stdout.write(`${line}\n`);
96
108
  }
97
- finished = true;
98
- progress.finish();
99
- }
100
- return defineReporter({
101
- dispose() {
102
- progress.dispose();
103
- },
104
- kind: 'real-time',
105
- name: 'dot',
106
- sinks: [{ kind: 'stdout-raw' }],
107
- async onEvent(event) {
108
- if (event.kind === 'test-end') {
109
- progress.writeMark(markForVerdict(event.verdict));
109
+ function finishProgress() {
110
+ if (finished) {
111
+ return;
110
112
  }
111
- else if (event.kind === 'runner-error') {
112
- if (finished) {
113
- writeLine(formatRunnerError(event.error));
113
+ finished = true;
114
+ progress.finish();
115
+ }
116
+ return {
117
+ dispose() {
118
+ progress.dispose();
119
+ },
120
+ kind: 'real-time',
121
+ name: 'dot',
122
+ sinks: [{ kind: 'stdout-raw' }],
123
+ async onEvent(event) {
124
+ if (event.kind === 'test-end') {
125
+ progress.writeMark(markForVerdict(event.verdict));
114
126
  }
115
- else {
116
- progress.writeMark(runnerErrorMark);
127
+ else if (event.kind === 'runner-error') {
128
+ if (finished) {
129
+ writeLine(formatRunnerError(event.error));
130
+ }
131
+ else {
132
+ progress.writeMark(runnerErrorMark);
133
+ }
134
+ }
135
+ },
136
+ async onFinish(result) {
137
+ finishProgress();
138
+ writeLine(formatSummary(result));
139
+ for (const detailLine of detailLines(result, context)) {
140
+ writeLine(detailLine);
117
141
  }
118
142
  }
119
- },
120
- async onFinish(result) {
121
- finishProgress();
122
- writeLine(formatSummary(result));
123
- for (const detailLine of detailLines(result)) {
124
- writeLine(detailLine);
125
- }
126
- }
143
+ };
127
144
  });
128
145
  }
129
146
  //# sourceMappingURL=dot-reporter.js.map
@@ -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"}
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.27",
20
- "bom-ref": "pkg:npm/@overkill-dev/reporter-dot@0.0.27",
21
- "purl": "pkg:npm/@overkill-dev/reporter-dot@0.0.27"
19
+ "version": "0.0.29",
20
+ "bom-ref": "pkg:npm/@overkill-dev/reporter-dot@0.0.29",
21
+ "purl": "pkg:npm/@overkill-dev/reporter-dot@0.0.29"
22
22
  }
23
23
  },
24
24
  "components": [
25
25
  {
26
26
  "type": "library",
27
27
  "name": "@overkill-dev/engine",
28
- "version": "0.0.26",
29
- "bom-ref": "pkg:npm/@overkill-dev/engine@0.0.26",
28
+ "version": "0.0.28",
29
+ "bom-ref": "pkg:npm/@overkill-dev/engine@0.0.28",
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.26"
36
+ "purl": "pkg:npm/@overkill-dev/engine@0.0.28"
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.26"
106
+ "ref": "pkg:npm/@overkill-dev/engine@0.0.28"
107
107
  },
108
108
  {
109
- "ref": "pkg:npm/@overkill-dev/reporter-dot@0.0.27",
109
+ "ref": "pkg:npm/@overkill-dev/reporter-dot@0.0.29",
110
110
  "dependsOn": [
111
- "pkg:npm/@overkill-dev/engine@0.0.26",
111
+ "pkg:npm/@overkill-dev/engine@0.0.28",
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",