Skip to content

Commit 4fa7523

Browse files
committed
add back broken error reporting and make log reporting optional
1 parent 29f73c5 commit 4fa7523

File tree

1 file changed

+20
-15
lines changed

1 file changed

+20
-15
lines changed

packages/test-runner/src/reporter/summaryReporter.ts

+20-15
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,13 @@ import type {
99
import { reportTestsErrors } from './reportTestsErrors.js';
1010
import { reportTestFileErrors } from './reportTestFileErrors.js';
1111

12+
import { TestRunnerLogger } from '../logger/TestRunnerLogger.js';
1213
import { reportBrowserLogs } from './reportBrowserLogs.js';
1314

1415
interface Options {
1516
flatten?: boolean;
17+
reportTestLogs?: boolean;
18+
reportTestErrors?: boolean;
1619
}
1720

1821
const color =
@@ -26,10 +29,12 @@ const dim = color([2, 0]);
2629

2730
/** Test reporter that summarizes all test for a given run */
2831
export function summaryReporter(opts: Options): Reporter {
29-
const { flatten = false } = opts ?? {};
32+
const { flatten = false, reportTestLogs = true, reportTestErrors = false } = opts ?? {};
3033
let args: ReporterArgs;
3134
let favoriteBrowser: string;
3235

36+
const testLogger = new TestRunnerLogger();
37+
3338
function log(
3439
logger: Logger,
3540
name: string,
@@ -80,7 +85,6 @@ export function summaryReporter(opts: Options): Reporter {
8085
logResults(logger, suite, pref, browser);
8186
}
8287

83-
let cachedLogger: Logger;
8488
return {
8589
start(_args) {
8690
args = _args;
@@ -92,26 +96,27 @@ export function summaryReporter(opts: Options): Reporter {
9296
},
9397

9498
reportTestFileResults({ logger, sessionsForTestFile }) {
95-
cachedLogger = logger;
9699
for (const session of sessionsForTestFile) {
97100
logResults(logger, session.testResults, '', session.browser);
98101
logger.log('');
99102
}
100-
reportBrowserLogs(logger, sessionsForTestFile);
103+
if (reportTestLogs) reportBrowserLogs(logger, sessionsForTestFile);
101104
},
102105

103106
onTestRunFinished({ sessions }) {
104-
const failedSessions = sessions.filter(s => !s.passed);
105-
if (failedSessions.length > 0) {
106-
cachedLogger.log('\n\nErrors Reported in Tests:\n\n');
107-
reportTestsErrors(cachedLogger, args.browserNames, favoriteBrowser, failedSessions);
108-
reportTestFileErrors(
109-
cachedLogger,
110-
args.browserNames,
111-
favoriteBrowser,
112-
failedSessions,
113-
true,
114-
);
107+
if (reportTestErrors) {
108+
const failedSessions = sessions.filter(s => !s.passed);
109+
if (failedSessions.length > 0) {
110+
testLogger.log('\n\nErrors Reported in Tests:\n\n');
111+
reportTestsErrors(testLogger, args.browserNames, favoriteBrowser, failedSessions);
112+
reportTestFileErrors(
113+
testLogger,
114+
args.browserNames,
115+
favoriteBrowser,
116+
failedSessions,
117+
true,
118+
);
119+
}
115120
}
116121
},
117122
};

0 commit comments

Comments
 (0)