@ohos-ports/web-test-runner 1.0.0-beta.0
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/README.md +65 -0
- package/dist/TestRunnerStartError.d.ts +3 -0
- package/dist/TestRunnerStartError.d.ts.map +1 -0
- package/dist/TestRunnerStartError.js +7 -0
- package/dist/TestRunnerStartError.js.map +1 -0
- package/dist/bin.d.ts +3 -0
- package/dist/bin.d.ts.map +1 -0
- package/dist/bin.js +6 -0
- package/dist/bin.js.map +1 -0
- package/dist/config/TestRunnerConfig.d.ts +10 -0
- package/dist/config/TestRunnerConfig.d.ts.map +1 -0
- package/dist/config/TestRunnerConfig.js +3 -0
- package/dist/config/TestRunnerConfig.js.map +1 -0
- package/dist/config/collectGroupConfigs.d.ts +3 -0
- package/dist/config/collectGroupConfigs.d.ts.map +1 -0
- package/dist/config/collectGroupConfigs.js +43 -0
- package/dist/config/collectGroupConfigs.js.map +1 -0
- package/dist/config/loadLauncher.d.ts +3 -0
- package/dist/config/loadLauncher.d.ts.map +1 -0
- package/dist/config/loadLauncher.js +43 -0
- package/dist/config/loadLauncher.js.map +1 -0
- package/dist/config/mergeConfigs.d.ts +3 -0
- package/dist/config/mergeConfigs.d.ts.map +1 -0
- package/dist/config/mergeConfigs.js +26 -0
- package/dist/config/mergeConfigs.js.map +1 -0
- package/dist/config/parseConfig.d.ts +9 -0
- package/dist/config/parseConfig.d.ts.map +1 -0
- package/dist/config/parseConfig.js +216 -0
- package/dist/config/parseConfig.js.map +1 -0
- package/dist/config/readCliArgs.d.ts +15 -0
- package/dist/config/readCliArgs.d.ts.map +1 -0
- package/dist/config/readCliArgs.js +148 -0
- package/dist/config/readCliArgs.js.map +1 -0
- package/dist/config/readFileConfig.d.ts +18 -0
- package/dist/config/readFileConfig.d.ts.map +1 -0
- package/dist/config/readFileConfig.js +22 -0
- package/dist/config/readFileConfig.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +31 -0
- package/dist/index.js.map +1 -0
- package/dist/logger/TestRunnerLogger.d.ts +15 -0
- package/dist/logger/TestRunnerLogger.d.ts.map +1 -0
- package/dist/logger/TestRunnerLogger.js +48 -0
- package/dist/logger/TestRunnerLogger.js.map +1 -0
- package/dist/reporter/defaultReporter.d.ts +7 -0
- package/dist/reporter/defaultReporter.d.ts.map +1 -0
- package/dist/reporter/defaultReporter.js +51 -0
- package/dist/reporter/defaultReporter.js.map +1 -0
- package/dist/reporter/dotReporter.d.ts +4 -0
- package/dist/reporter/dotReporter.d.ts.map +1 -0
- package/dist/reporter/dotReporter.js +53 -0
- package/dist/reporter/dotReporter.js.map +1 -0
- package/dist/reporter/getCodeCoverage.d.ts +3 -0
- package/dist/reporter/getCodeCoverage.d.ts.map +1 -0
- package/dist/reporter/getCodeCoverage.js +36 -0
- package/dist/reporter/getCodeCoverage.js.map +1 -0
- package/dist/reporter/getTestProgress.d.ts +16 -0
- package/dist/reporter/getTestProgress.d.ts.map +1 -0
- package/dist/reporter/getTestProgress.js +105 -0
- package/dist/reporter/getTestProgress.js.map +1 -0
- package/dist/reporter/renderProgressBar.d.ts +2 -0
- package/dist/reporter/renderProgressBar.d.ts.map +1 -0
- package/dist/reporter/renderProgressBar.js +23 -0
- package/dist/reporter/renderProgressBar.js.map +1 -0
- package/dist/reporter/reportBrowserLogs.d.ts +3 -0
- package/dist/reporter/reportBrowserLogs.d.ts.map +1 -0
- package/dist/reporter/reportBrowserLogs.js +61 -0
- package/dist/reporter/reportBrowserLogs.js.map +1 -0
- package/dist/reporter/reportRequest404s.d.ts +3 -0
- package/dist/reporter/reportRequest404s.d.ts.map +1 -0
- package/dist/reporter/reportRequest404s.js +54 -0
- package/dist/reporter/reportRequest404s.js.map +1 -0
- package/dist/reporter/reportTestFileErrors.d.ts +3 -0
- package/dist/reporter/reportTestFileErrors.d.ts.map +1 -0
- package/dist/reporter/reportTestFileErrors.js +52 -0
- package/dist/reporter/reportTestFileErrors.js.map +1 -0
- package/dist/reporter/reportTestFileResults.d.ts +3 -0
- package/dist/reporter/reportTestFileResults.d.ts.map +1 -0
- package/dist/reporter/reportTestFileResults.js +25 -0
- package/dist/reporter/reportTestFileResults.js.map +1 -0
- package/dist/reporter/reportTestsErrors.d.ts +4 -0
- package/dist/reporter/reportTestsErrors.d.ts.map +1 -0
- package/dist/reporter/reportTestsErrors.js +129 -0
- package/dist/reporter/reportTestsErrors.js.map +1 -0
- package/dist/reporter/summaryReporter.d.ts +10 -0
- package/dist/reporter/summaryReporter.d.ts.map +1 -0
- package/dist/reporter/summaryReporter.js +73 -0
- package/dist/reporter/summaryReporter.js.map +1 -0
- package/dist/reporter/utils/getFailedOnBrowsers.d.ts +2 -0
- package/dist/reporter/utils/getFailedOnBrowsers.d.ts.map +1 -0
- package/dist/reporter/utils/getFailedOnBrowsers.js +13 -0
- package/dist/reporter/utils/getFailedOnBrowsers.js.map +1 -0
- package/dist/reporter/utils/getFlattenedTestResults.d.ts +3 -0
- package/dist/reporter/utils/getFlattenedTestResults.d.ts.map +1 -0
- package/dist/reporter/utils/getFlattenedTestResults.js +21 -0
- package/dist/reporter/utils/getFlattenedTestResults.js.map +1 -0
- package/dist/reporter/utils/getPassedFailedSkippedCount.d.ts +7 -0
- package/dist/reporter/utils/getPassedFailedSkippedCount.d.ts.map +1 -0
- package/dist/reporter/utils/getPassedFailedSkippedCount.js +30 -0
- package/dist/reporter/utils/getPassedFailedSkippedCount.js.map +1 -0
- package/dist/reporter/utils/toBrowserPath.d.ts +2 -0
- package/dist/reporter/utils/toBrowserPath.d.ts.map +1 -0
- package/dist/reporter/utils/toBrowserPath.js +11 -0
- package/dist/reporter/utils/toBrowserPath.js.map +1 -0
- package/dist/reporter/utils/toFilePath.d.ts +6 -0
- package/dist/reporter/utils/toFilePath.d.ts.map +1 -0
- package/dist/reporter/utils/toFilePath.js +15 -0
- package/dist/reporter/utils/toFilePath.js.map +1 -0
- package/dist/startTestRunner.d.ts +33 -0
- package/dist/startTestRunner.d.ts.map +1 -0
- package/dist/startTestRunner.js +61 -0
- package/dist/startTestRunner.js.map +1 -0
- package/index.d.ts +2 -0
- package/index.mjs +38 -0
- package/package.json +107 -0
- package/scripts/ohos-postinstall-sign.js +117 -0
- package/src/TestRunnerStartError.ts +1 -0
- package/src/bin.ts +4 -0
- package/src/config/TestRunnerConfig.ts +14 -0
- package/src/config/collectGroupConfigs.ts +50 -0
- package/src/config/loadLauncher.ts +48 -0
- package/src/config/mergeConfigs.ts +26 -0
- package/src/config/parseConfig.ts +286 -0
- package/src/config/readCliArgs.ts +187 -0
- package/src/config/readFileConfig.ts +35 -0
- package/src/index.ts +11 -0
- package/src/logger/TestRunnerLogger.ts +54 -0
- package/src/reporter/defaultReporter.ts +78 -0
- package/src/reporter/dotReporter.ts +65 -0
- package/src/reporter/getCodeCoverage.ts +54 -0
- package/src/reporter/getTestProgress.ts +181 -0
- package/src/reporter/renderProgressBar.ts +27 -0
- package/src/reporter/reportBrowserLogs.ts +64 -0
- package/src/reporter/reportRequest404s.ts +55 -0
- package/src/reporter/reportTestFileErrors.ts +70 -0
- package/src/reporter/reportTestFileResults.ts +33 -0
- package/src/reporter/reportTestsErrors.ts +110 -0
- package/src/reporter/summaryReporter.ts +123 -0
- package/src/reporter/utils/getFailedOnBrowsers.ts +10 -0
- package/src/reporter/utils/getFlattenedTestResults.ts +24 -0
- package/src/reporter/utils/getPassedFailedSkippedCount.ts +31 -0
- package/src/reporter/utils/toBrowserPath.ts +5 -0
- package/src/reporter/utils/toFilePath.ts +9 -0
- package/src/startTestRunner.ts +101 -0
- package/web-test-runner.config.mjs +8 -0
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getTestProgressReport = getTestProgressReport;
|
|
4
|
+
const test_runner_core_1 = require("@web/test-runner-core");
|
|
5
|
+
const nanocolors_1 = require("nanocolors");
|
|
6
|
+
const getCodeCoverage_js_1 = require("./getCodeCoverage.js");
|
|
7
|
+
const renderProgressBar_js_1 = require("./renderProgressBar.js");
|
|
8
|
+
const getPassedFailedSkippedCount_js_1 = require("./utils/getPassedFailedSkippedCount.js");
|
|
9
|
+
function getProgressReport(name, minWidth, finishedFiles, activeFiles, testFiles, passedTests, skippedTests, failedTests) {
|
|
10
|
+
const failedText = `${failedTests} failed`;
|
|
11
|
+
const testResults = `${(0, nanocolors_1.green)(`${passedTests} passed`)}` +
|
|
12
|
+
`, ${failedTests !== 0 ? (0, nanocolors_1.red)(failedText) : failedText}` +
|
|
13
|
+
(skippedTests !== 0 ? `, ${(0, nanocolors_1.gray)(`${skippedTests} skipped`)}` : '');
|
|
14
|
+
const progressBar = `${(0, renderProgressBar_js_1.renderProgressBar)(finishedFiles, activeFiles, testFiles)} ${finishedFiles}/${testFiles} test files`;
|
|
15
|
+
return `${`${name}:`.padEnd(minWidth)} ${progressBar} | ${testResults}`;
|
|
16
|
+
}
|
|
17
|
+
function getTestProgressReport(config, args) {
|
|
18
|
+
const { browsers, browserNames, testRun, sessions, watch, startTime, focusedTestFile, coverage, coverageConfig, testCoverage, } = args;
|
|
19
|
+
const entries = [];
|
|
20
|
+
const unfinishedSessions = Array.from(sessions.forStatusAndTestFile(focusedTestFile, test_runner_core_1.SESSION_STATUS.SCHEDULED, test_runner_core_1.SESSION_STATUS.INITIALIZING, test_runner_core_1.SESSION_STATUS.TEST_STARTED, test_runner_core_1.SESSION_STATUS.TEST_FINISHED));
|
|
21
|
+
const finishedFiles = new Set();
|
|
22
|
+
let failedTestCount = 0;
|
|
23
|
+
let failed = false;
|
|
24
|
+
const longestBrowser = [...browserNames].sort((a, b) => b.length - a.length)[0];
|
|
25
|
+
const minWidth = longestBrowser ? longestBrowser.length + 1 : 0;
|
|
26
|
+
for (const browser of browsers) {
|
|
27
|
+
// when started or not initiliazing we render a progress bar
|
|
28
|
+
const allSessionsForBrowser = Array.from(sessions.forBrowser(browser));
|
|
29
|
+
const sessionsForBrowser = focusedTestFile
|
|
30
|
+
? allSessionsForBrowser.filter(s => s.testFile === focusedTestFile)
|
|
31
|
+
: allSessionsForBrowser;
|
|
32
|
+
const totalTestFiles = sessionsForBrowser.length;
|
|
33
|
+
let finishedFilesForBrowser = 0;
|
|
34
|
+
let activeFilesForBrowser = 0;
|
|
35
|
+
let passedTestsForBrowser = 0;
|
|
36
|
+
let skippedTestsForBrowser = 0;
|
|
37
|
+
let failedTestsForBrowser = 0;
|
|
38
|
+
for (const session of sessionsForBrowser) {
|
|
39
|
+
if (!session.passed) {
|
|
40
|
+
failed = true;
|
|
41
|
+
}
|
|
42
|
+
if (![test_runner_core_1.SESSION_STATUS.SCHEDULED, test_runner_core_1.SESSION_STATUS.FINISHED].includes(session.status)) {
|
|
43
|
+
activeFilesForBrowser += 1;
|
|
44
|
+
}
|
|
45
|
+
if (session.status === test_runner_core_1.SESSION_STATUS.FINISHED) {
|
|
46
|
+
const { testFile, testResults } = session;
|
|
47
|
+
finishedFiles.add(testFile);
|
|
48
|
+
finishedFilesForBrowser += 1;
|
|
49
|
+
if (testResults) {
|
|
50
|
+
const parsed = (0, getPassedFailedSkippedCount_js_1.getPassedFailedSkippedCount)(testResults);
|
|
51
|
+
passedTestsForBrowser += parsed.passed;
|
|
52
|
+
skippedTestsForBrowser += parsed.skipped;
|
|
53
|
+
failedTestsForBrowser += parsed.failed;
|
|
54
|
+
failedTestCount += parsed.failed;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
entries.push(getProgressReport(browser.name, minWidth, finishedFilesForBrowser, activeFilesForBrowser, totalTestFiles, passedTestsForBrowser, skippedTestsForBrowser, failedTestsForBrowser));
|
|
59
|
+
}
|
|
60
|
+
entries.push('');
|
|
61
|
+
if (coverage && coverageConfig) {
|
|
62
|
+
if (testCoverage) {
|
|
63
|
+
if (!testCoverage.passed) {
|
|
64
|
+
failed = true;
|
|
65
|
+
}
|
|
66
|
+
const coverageReport = (0, getCodeCoverage_js_1.getCodeCoverage)(testCoverage, watch, coverageConfig);
|
|
67
|
+
entries.push(...coverageReport);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
if (testRun !== -1 && unfinishedSessions.length === 0) {
|
|
71
|
+
if (coverage && !testCoverage) {
|
|
72
|
+
entries.push((0, nanocolors_1.bold)('Calculating code coverage...'));
|
|
73
|
+
}
|
|
74
|
+
else if (config.watch) {
|
|
75
|
+
entries.push((0, nanocolors_1.bold)(`Finished running tests, watching for file changes...`));
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
const durationInSec = (Date.now() - startTime) / 1000;
|
|
79
|
+
const duration = Math.trunc(durationInSec * 10) / 10;
|
|
80
|
+
if (failed) {
|
|
81
|
+
if (coverage && !testCoverage?.passed) {
|
|
82
|
+
entries.push((0, nanocolors_1.bold)((0, nanocolors_1.red)(`Finished running tests in ${duration}s, failed to meet coverage threshold.`)));
|
|
83
|
+
}
|
|
84
|
+
else if (failedTestCount > 0) {
|
|
85
|
+
entries.push((0, nanocolors_1.bold)((0, nanocolors_1.red)(`Finished running tests in ${duration}s with ${failedTestCount} failed tests.`)));
|
|
86
|
+
}
|
|
87
|
+
else if (finishedFiles.size > 0) {
|
|
88
|
+
entries.push((0, nanocolors_1.bold)((0, nanocolors_1.red)(`Error while running tests.`)));
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
entries.push((0, nanocolors_1.bold)((0, nanocolors_1.red)(`Failed to run any tests.`)));
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
entries.push((0, nanocolors_1.bold)(`Finished running tests in ${duration}s, all tests passed! 🎉`));
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
entries.push((0, nanocolors_1.bold)('Running tests...'));
|
|
101
|
+
}
|
|
102
|
+
entries.push('');
|
|
103
|
+
return entries;
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=getTestProgress.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getTestProgress.js","sourceRoot":"","sources":["../../src/reporter/getTestProgress.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderProgressBar.d.ts","sourceRoot":"","sources":["../../src/reporter/renderProgressBar.ts"],"names":[],"mappings":"AAmBA,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,UAOhF"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.renderProgressBar = renderProgressBar;
|
|
4
|
+
const nanocolors_1 = require("nanocolors");
|
|
5
|
+
const PROGRESS_BLOCKS = [' ', '▏', '▎', '▍', '▌', '▋', '▊', '▉', '█'];
|
|
6
|
+
const PROGRESS_WIDTH = 30;
|
|
7
|
+
function createProgressBlocks(value, total) {
|
|
8
|
+
if (value >= total) {
|
|
9
|
+
return PROGRESS_BLOCKS[8].repeat(PROGRESS_WIDTH);
|
|
10
|
+
}
|
|
11
|
+
const count = (PROGRESS_WIDTH * value) / total;
|
|
12
|
+
const floored = Math.floor(count);
|
|
13
|
+
const partialBlock = PROGRESS_BLOCKS[Math.floor((count - floored) * (PROGRESS_BLOCKS.length - 1))];
|
|
14
|
+
return `${PROGRESS_BLOCKS[8].repeat(floored)}${partialBlock}${' '.repeat(PROGRESS_WIDTH - floored - 1)}`;
|
|
15
|
+
}
|
|
16
|
+
function renderProgressBar(finished, active, total) {
|
|
17
|
+
const progressBlocks = createProgressBlocks(finished + active, total);
|
|
18
|
+
const finishedBlockCount = Math.floor((PROGRESS_WIDTH * finished) / total);
|
|
19
|
+
const finishedBlocks = (0, nanocolors_1.white)(progressBlocks.slice(0, finishedBlockCount));
|
|
20
|
+
const scheduledBlocks = (0, nanocolors_1.gray)(progressBlocks.slice(finishedBlockCount));
|
|
21
|
+
return `|${finishedBlocks}${scheduledBlocks}|`;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=renderProgressBar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderProgressBar.js","sourceRoot":"","sources":["../../src/reporter/renderProgressBar.ts"],"names":[],"mappings":";;AAmBA,8CAOC;AA1BD,2CAAyC;AAEzC,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACtE,MAAM,cAAc,GAAG,EAAE,CAAC;AAE1B,SAAS,oBAAoB,CAAC,KAAa,EAAE,KAAa;IACxD,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC;QACnB,OAAO,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,KAAK,GAAG,CAAC,cAAc,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC;IAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,YAAY,GAChB,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAChF,OAAO,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,YAAY,GAAG,GAAG,CAAC,MAAM,CACtE,cAAc,GAAG,OAAO,GAAG,CAAC,CAC7B,EAAE,CAAC;AACN,CAAC;AAED,SAAgB,iBAAiB,CAAC,QAAgB,EAAE,MAAc,EAAE,KAAa;IAC/E,MAAM,cAAc,GAAG,oBAAoB,CAAC,QAAQ,GAAG,MAAM,EAAE,KAAK,CAAC,CAAC;IACtE,MAAM,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,cAAc,GAAG,QAAQ,CAAC,GAAG,KAAK,CAAC,CAAC;IAE3E,MAAM,cAAc,GAAG,IAAA,kBAAK,EAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAC1E,MAAM,eAAe,GAAG,IAAA,iBAAI,EAAC,cAAc,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACvE,OAAO,IAAI,cAAc,GAAG,eAAe,GAAG,CAAC;AACjD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reportBrowserLogs.d.ts","sourceRoot":"","sources":["../../src/reporter/reportBrowserLogs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEtE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,QA6DxE"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.reportBrowserLogs = reportBrowserLogs;
|
|
4
|
+
function reportBrowserLogs(logger, sessions) {
|
|
5
|
+
const commonLogs = [];
|
|
6
|
+
const commonStringified = [];
|
|
7
|
+
const logsByBrowser = new Map();
|
|
8
|
+
const allStringified = sessions.map(s => JSON.stringify(s.logs));
|
|
9
|
+
for (const session of sessions) {
|
|
10
|
+
for (const args of session.logs) {
|
|
11
|
+
// for the first session, we always include all logs
|
|
12
|
+
// for others we deduplicate logs, this way we can allow the same log
|
|
13
|
+
// msg appearing multiple times while also deduplicating common logs
|
|
14
|
+
// between browsers
|
|
15
|
+
const stringifiedArgs = JSON.stringify(args);
|
|
16
|
+
if (args.length > 0 &&
|
|
17
|
+
(session === sessions[0] || !commonStringified.includes(stringifiedArgs))) {
|
|
18
|
+
if (allStringified.every(logs => logs.includes(stringifiedArgs))) {
|
|
19
|
+
commonLogs.push(args);
|
|
20
|
+
commonStringified.push(stringifiedArgs);
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
let logsForBrowser = logsByBrowser.get(session.browser.name);
|
|
24
|
+
if (!logsForBrowser) {
|
|
25
|
+
logsForBrowser = [];
|
|
26
|
+
logsByBrowser.set(session.browser.name, logsForBrowser);
|
|
27
|
+
}
|
|
28
|
+
logsForBrowser.push(args);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
if (commonLogs.length > 0) {
|
|
34
|
+
logger.log(` 🚧 Browser logs:`);
|
|
35
|
+
logger.group();
|
|
36
|
+
logger.group();
|
|
37
|
+
logger.group();
|
|
38
|
+
for (const args of commonLogs) {
|
|
39
|
+
logger.log(...args);
|
|
40
|
+
}
|
|
41
|
+
logger.groupEnd();
|
|
42
|
+
logger.groupEnd();
|
|
43
|
+
logger.groupEnd();
|
|
44
|
+
}
|
|
45
|
+
for (const [browser, logs] of logsByBrowser) {
|
|
46
|
+
logger.log(` 🚧 Browser logs on ${browser}:`);
|
|
47
|
+
logger.group();
|
|
48
|
+
logger.group();
|
|
49
|
+
logger.group();
|
|
50
|
+
for (const args of logs) {
|
|
51
|
+
logger.log(...args);
|
|
52
|
+
}
|
|
53
|
+
logger.groupEnd();
|
|
54
|
+
logger.groupEnd();
|
|
55
|
+
logger.groupEnd();
|
|
56
|
+
}
|
|
57
|
+
if (commonLogs.length > 0 || logsByBrowser.size > 0) {
|
|
58
|
+
logger.log('');
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=reportBrowserLogs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reportBrowserLogs.js","sourceRoot":"","sources":["../../src/reporter/reportBrowserLogs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reportRequest404s.d.ts","sourceRoot":"","sources":["../../src/reporter/reportRequest404s.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGtE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,QAmDxE"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.reportRequest404s = reportRequest404s;
|
|
4
|
+
const nanocolors_1 = require("nanocolors");
|
|
5
|
+
function reportRequest404s(logger, sessions) {
|
|
6
|
+
const common404s = [];
|
|
7
|
+
const request404sPerBrowser = new Map();
|
|
8
|
+
const all404s = sessions.map(s => s.request404s);
|
|
9
|
+
for (const session of sessions) {
|
|
10
|
+
for (const request404 of session.request404s) {
|
|
11
|
+
// for the first session, we always include all request 404s
|
|
12
|
+
// for others we deduplicate 404s, this way we can allow the same 404
|
|
13
|
+
// msg appearing multiple times while also deduplicating common 404s
|
|
14
|
+
// between browsers
|
|
15
|
+
if (session === sessions[0] || !common404s.includes(request404)) {
|
|
16
|
+
if (all404s.every(r404s => r404s.includes(request404))) {
|
|
17
|
+
common404s.push(request404);
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
let request404sForBrowser = request404sPerBrowser.get(session.browser.name);
|
|
21
|
+
if (!request404sForBrowser) {
|
|
22
|
+
request404sForBrowser = [];
|
|
23
|
+
request404sPerBrowser.set(session.browser.name, request404sForBrowser);
|
|
24
|
+
}
|
|
25
|
+
request404sForBrowser.push(request404);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
if (common404s.length > 0) {
|
|
31
|
+
logger.log(' 🚧 404 network requests:');
|
|
32
|
+
logger.group();
|
|
33
|
+
logger.group();
|
|
34
|
+
for (const request404 of common404s) {
|
|
35
|
+
logger.log(`${(0, nanocolors_1.bold)((0, nanocolors_1.gray)('-'))} ${request404}`);
|
|
36
|
+
}
|
|
37
|
+
logger.groupEnd();
|
|
38
|
+
logger.groupEnd();
|
|
39
|
+
}
|
|
40
|
+
for (const [browser, request404s] of request404sPerBrowser) {
|
|
41
|
+
logger.log(` 🚧 404 network requests on ${browser}:`);
|
|
42
|
+
logger.group();
|
|
43
|
+
logger.group();
|
|
44
|
+
for (const request404 of request404s) {
|
|
45
|
+
logger.log(`${(0, nanocolors_1.bold)((0, nanocolors_1.gray)('-'))} ${request404}`);
|
|
46
|
+
}
|
|
47
|
+
logger.groupEnd();
|
|
48
|
+
logger.groupEnd();
|
|
49
|
+
}
|
|
50
|
+
if (common404s.length > 0 || request404sPerBrowser.size > 0) {
|
|
51
|
+
logger.log('');
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=reportRequest404s.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reportRequest404s.js","sourceRoot":"","sources":["../../src/reporter/reportRequest404s.ts"],"names":[],"mappings":";;AAGA,8CAmDC;AArDD,2CAAwC;AAExC,SAAgB,iBAAiB,CAAC,MAAc,EAAE,QAAuB;IACvE,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAoB,CAAC;IAE1D,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IACjD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,KAAK,MAAM,UAAU,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YAC7C,4DAA4D;YAC5D,qEAAqE;YACrE,oEAAoE;YACpE,mBAAmB;YACnB,IAAI,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBAChE,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;oBACvD,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC9B,CAAC;qBAAM,CAAC;oBACN,IAAI,qBAAqB,GAAG,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBAC5E,IAAI,CAAC,qBAAqB,EAAE,CAAC;wBAC3B,qBAAqB,GAAG,EAAE,CAAC;wBAC3B,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;oBACzE,CAAC;oBACD,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;QACxC,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,KAAK,MAAM,UAAU,IAAI,UAAU,EAAE,CAAC;YACpC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAA,iBAAI,EAAC,IAAA,iBAAI,EAAC,GAAG,CAAC,CAAC,IAAI,UAAU,EAAE,CAAC,CAAC;QACjD,CAAC;QACD,MAAM,CAAC,QAAQ,EAAE,CAAC;QAClB,MAAM,CAAC,QAAQ,EAAE,CAAC;IACpB,CAAC;IAED,KAAK,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,qBAAqB,EAAE,CAAC;QAC3D,MAAM,CAAC,GAAG,CAAC,+BAA+B,OAAO,GAAG,CAAC,CAAC;QACtD,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACrC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAA,iBAAI,EAAC,IAAA,iBAAI,EAAC,GAAG,CAAC,CAAC,IAAI,UAAU,EAAE,CAAC,CAAC;QACjD,CAAC;QACD,MAAM,CAAC,QAAQ,EAAE,CAAC;QAClB,MAAM,CAAC,QAAQ,EAAE,CAAC;IACpB,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,qBAAqB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QAC5D,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { type Logger, type TestSession } from '@web/test-runner-core';
|
|
2
|
+
export declare function reportTestFileErrors(logger: Logger, browserNames: string[], favoriteBrowser: string, sessionsForTestFile: TestSession[], logFileNames?: boolean): void;
|
|
3
|
+
//# sourceMappingURL=reportTestFileErrors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reportTestFileErrors.d.ts","sourceRoot":"","sources":["../../src/reporter/reportTestFileErrors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAwB,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAe5F,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EAAE,EACtB,eAAe,EAAE,MAAM,EACvB,mBAAmB,EAAE,WAAW,EAAE,EAClC,YAAY,CAAC,EAAE,OAAO,QAiDvB"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.reportTestFileErrors = reportTestFileErrors;
|
|
4
|
+
const nanocolors_1 = require("nanocolors");
|
|
5
|
+
const getFailedOnBrowsers_js_1 = require("./utils/getFailedOnBrowsers.js");
|
|
6
|
+
function isSameError(a, b) {
|
|
7
|
+
return a.message === b.message && a.stack === b.stack;
|
|
8
|
+
}
|
|
9
|
+
function reportTestFileErrors(logger, browserNames, favoriteBrowser, sessionsForTestFile, logFileNames) {
|
|
10
|
+
const reports = [];
|
|
11
|
+
for (const session of sessionsForTestFile) {
|
|
12
|
+
for (const error of session.errors) {
|
|
13
|
+
let report = reports.find(r => isSameError(r.error, error));
|
|
14
|
+
if (!report) {
|
|
15
|
+
report = {
|
|
16
|
+
testFile: session.testFile,
|
|
17
|
+
failedBrowsers: [],
|
|
18
|
+
error,
|
|
19
|
+
};
|
|
20
|
+
reports.push(report);
|
|
21
|
+
}
|
|
22
|
+
report.failedBrowsers.push(session.browser.name);
|
|
23
|
+
if (session.browser.name === favoriteBrowser) {
|
|
24
|
+
report.error = error;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
for (const report of reports) {
|
|
29
|
+
const { name, message = 'Unknown error' } = report.error;
|
|
30
|
+
const errorMsg = name ? `${name}: ${message}` : message;
|
|
31
|
+
const failedOn = (0, getFailedOnBrowsers_js_1.getFailedOnBrowsers)(browserNames, report.failedBrowsers);
|
|
32
|
+
if (report.error.stack) {
|
|
33
|
+
// there was a stack trace, take the first line and decorate it with an icon and which browsers it failed on
|
|
34
|
+
logger.log(` ❌ ${(0, nanocolors_1.red)(errorMsg)} ${failedOn}`);
|
|
35
|
+
// if there was more to the stack trace, print it
|
|
36
|
+
logger.group();
|
|
37
|
+
logger.group();
|
|
38
|
+
logger.log((0, nanocolors_1.gray)(report.error.stack));
|
|
39
|
+
logger.groupEnd();
|
|
40
|
+
logger.groupEnd();
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
// there was no stack trace, so just print the error message
|
|
44
|
+
logger.log(` ❌ ${errorMsg} ${failedOn}`);
|
|
45
|
+
}
|
|
46
|
+
if (logFileNames) {
|
|
47
|
+
logger.log(` ${report.testFile}`);
|
|
48
|
+
}
|
|
49
|
+
logger.log('');
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=reportTestFileErrors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reportTestFileErrors.js","sourceRoot":"","sources":["../../src/reporter/reportTestFileErrors.ts"],"names":[],"mappings":";;AAeA,oDAsDC;AApED,2CAAuC;AAEvC,2EAAqE;AAErE,SAAS,WAAW,CAAC,CAAkB,EAAE,CAAkB;IACzD,OAAO,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,CAAC;AACxD,CAAC;AAQD,SAAgB,oBAAoB,CAClC,MAAc,EACd,YAAsB,EACtB,eAAuB,EACvB,mBAAkC,EAClC,YAAsB;IAEtB,MAAM,OAAO,GAAkB,EAAE,CAAC;IAElC,KAAK,MAAM,OAAO,IAAI,mBAAmB,EAAE,CAAC;QAC1C,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnC,IAAI,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;YAC5D,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,GAAG;oBACP,QAAQ,EAAE,OAAO,CAAC,QAAQ;oBAC1B,cAAc,EAAE,EAAE;oBAClB,KAAK;iBACN,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACvB,CAAC;YACD,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAEjD,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;gBAC7C,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;YACvB,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,eAAe,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC;QACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QACxD,MAAM,QAAQ,GAAG,IAAA,4CAAmB,EAAC,YAAY,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;QAE1E,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACvB,4GAA4G;YAC5G,MAAM,CAAC,GAAG,CAAC,MAAM,IAAA,gBAAG,EAAC,QAAQ,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC;YAE9C,iDAAiD;YACjD,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,GAAG,CAAC,IAAA,iBAAI,EAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;YACrC,MAAM,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,4DAA4D;YAC5D,MAAM,CAAC,GAAG,CAAC,MAAM,QAAQ,IAAI,QAAQ,EAAE,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QACrC,CAAC;QAED,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { type BufferedLogger, type TestSession } from '@web/test-runner-core';
|
|
2
|
+
export declare function reportTestFileResults(logger: BufferedLogger, testFile: string, allBrowserNames: string[], favoriteBrowser: string, sessionsForTestFile: TestSession[]): void;
|
|
3
|
+
//# sourceMappingURL=reportTestFileResults.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reportTestFileResults.d.ts","sourceRoot":"","sources":["../../src/reporter/reportTestFileResults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAS9E,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,MAAM,EAAE,EACzB,eAAe,EAAE,MAAM,EACvB,mBAAmB,EAAE,WAAW,EAAE,QAkBnC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.reportTestFileResults = reportTestFileResults;
|
|
4
|
+
const nanocolors_1 = require("nanocolors");
|
|
5
|
+
const path_1 = require("path");
|
|
6
|
+
const reportBrowserLogs_js_1 = require("./reportBrowserLogs.js");
|
|
7
|
+
const reportRequest404s_js_1 = require("./reportRequest404s.js");
|
|
8
|
+
const reportTestFileErrors_js_1 = require("./reportTestFileErrors.js");
|
|
9
|
+
const reportTestsErrors_js_1 = require("./reportTestsErrors.js");
|
|
10
|
+
function reportTestFileResults(logger, testFile, allBrowserNames, favoriteBrowser, sessionsForTestFile) {
|
|
11
|
+
const failedSessions = sessionsForTestFile.filter(s => !s.passed);
|
|
12
|
+
(0, reportBrowserLogs_js_1.reportBrowserLogs)(logger, sessionsForTestFile);
|
|
13
|
+
(0, reportRequest404s_js_1.reportRequest404s)(logger, sessionsForTestFile);
|
|
14
|
+
(0, reportTestFileErrors_js_1.reportTestFileErrors)(logger, allBrowserNames, favoriteBrowser, sessionsForTestFile);
|
|
15
|
+
if (failedSessions.length > 0) {
|
|
16
|
+
(0, reportTestsErrors_js_1.reportTestsErrors)(logger, allBrowserNames, favoriteBrowser, failedSessions);
|
|
17
|
+
}
|
|
18
|
+
if (logger.buffer.length > 0) {
|
|
19
|
+
logger.buffer.unshift({
|
|
20
|
+
method: 'log',
|
|
21
|
+
args: [`${(0, nanocolors_1.bold)((0, nanocolors_1.cyan)((0, path_1.relative)(process.cwd(), testFile)))}:\n`],
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=reportTestFileResults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reportTestFileResults.js","sourceRoot":"","sources":["../../src/reporter/reportTestFileResults.ts"],"names":[],"mappings":";;AASA,sDAuBC;AA/BD,2CAAwC;AACxC,+BAAgC;AAEhC,iEAA2D;AAC3D,iEAA2D;AAC3D,uEAAiE;AACjE,iEAA2D;AAE3D,SAAgB,qBAAqB,CACnC,MAAsB,EACtB,QAAgB,EAChB,eAAyB,EACzB,eAAuB,EACvB,mBAAkC;IAElC,MAAM,cAAc,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAElE,IAAA,wCAAiB,EAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAC/C,IAAA,wCAAiB,EAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAC/C,IAAA,8CAAoB,EAAC,MAAM,EAAE,eAAe,EAAE,eAAe,EAAE,mBAAmB,CAAC,CAAC;IAEpF,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,IAAA,wCAAiB,EAAC,MAAM,EAAE,eAAe,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;IAC9E,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;YACpB,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,CAAC,GAAG,IAAA,iBAAI,EAAC,IAAA,iBAAI,EAAC,IAAA,eAAQ,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;SAC9D,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { type Logger, type TestResultError, type TestSession } from '@web/test-runner-core';
|
|
2
|
+
export declare function formatError(error: TestResultError): string;
|
|
3
|
+
export declare function reportTestsErrors(logger: Logger, allBrowserNames: string[], favoriteBrowser: string, failedSessions: TestSession[]): void;
|
|
4
|
+
//# sourceMappingURL=reportTestsErrors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reportTestsErrors.d.ts","sourceRoot":"","sources":["../../src/reporter/reportTestsErrors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,eAAe,EAAE,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAmC5F,wBAAgB,WAAW,CAAC,KAAK,EAAE,eAAe,UA4BjD;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,EAAE,EACzB,eAAe,EAAE,MAAM,EACvB,cAAc,EAAE,WAAW,EAAE,QAwC9B"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.formatError = formatError;
|
|
37
|
+
exports.reportTestsErrors = reportTestsErrors;
|
|
38
|
+
const diff = __importStar(require("diff"));
|
|
39
|
+
const nanocolors_1 = require("nanocolors");
|
|
40
|
+
const getFailedOnBrowsers_js_1 = require("./utils/getFailedOnBrowsers.js");
|
|
41
|
+
const getFlattenedTestResults_js_1 = require("./utils/getFlattenedTestResults.js");
|
|
42
|
+
function renderDiff(actual, expected) {
|
|
43
|
+
function cleanUp(line) {
|
|
44
|
+
if (line[0] === '+') {
|
|
45
|
+
return (0, nanocolors_1.green)(line);
|
|
46
|
+
}
|
|
47
|
+
if (line[0] === '-') {
|
|
48
|
+
return (0, nanocolors_1.red)(line);
|
|
49
|
+
}
|
|
50
|
+
if (line.match(/@@/)) {
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
if (line.match(/\\ No newline/)) {
|
|
54
|
+
return null;
|
|
55
|
+
}
|
|
56
|
+
return line;
|
|
57
|
+
}
|
|
58
|
+
const diffMsg = diff
|
|
59
|
+
.createPatch('string', actual, expected)
|
|
60
|
+
.split('\n')
|
|
61
|
+
.splice(4)
|
|
62
|
+
.map(cleanUp)
|
|
63
|
+
.filter(l => !!l)
|
|
64
|
+
.join('\n');
|
|
65
|
+
return `${(0, nanocolors_1.green)('+ expected')} ${(0, nanocolors_1.red)('- actual')}\n\n${diffMsg}`;
|
|
66
|
+
}
|
|
67
|
+
function formatError(error) {
|
|
68
|
+
const strings = [];
|
|
69
|
+
const { name, message = 'Unknown error' } = error;
|
|
70
|
+
const errorMsg = name ? `${name}: ${message}` : message;
|
|
71
|
+
const showDiff = typeof error.expected === 'string' && typeof error.actual === 'string';
|
|
72
|
+
strings.push((0, nanocolors_1.red)(errorMsg));
|
|
73
|
+
if (showDiff) {
|
|
74
|
+
strings.push(`${renderDiff(error.actual, error.expected)}\n`);
|
|
75
|
+
}
|
|
76
|
+
if (error.stack) {
|
|
77
|
+
if (showDiff) {
|
|
78
|
+
const dedented = error.stack
|
|
79
|
+
.split('\n')
|
|
80
|
+
.map(s => s.trim())
|
|
81
|
+
.join('\n');
|
|
82
|
+
strings.push((0, nanocolors_1.gray)(dedented));
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
strings.push((0, nanocolors_1.gray)(error.stack));
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
if (!error.expected && !error.stack) {
|
|
89
|
+
strings.push((0, nanocolors_1.red)(error.message || 'Unknown error'));
|
|
90
|
+
}
|
|
91
|
+
return strings.join('\n');
|
|
92
|
+
}
|
|
93
|
+
function reportTestsErrors(logger, allBrowserNames, favoriteBrowser, failedSessions) {
|
|
94
|
+
const testErrorsPerBrowser = new Map();
|
|
95
|
+
for (const session of failedSessions) {
|
|
96
|
+
if (session.testResults) {
|
|
97
|
+
const flattenedTests = (0, getFlattenedTestResults_js_1.getFlattenedTestResults)(session.testResults);
|
|
98
|
+
for (const test of flattenedTests) {
|
|
99
|
+
if (test.error) {
|
|
100
|
+
let testErrorsForBrowser = testErrorsPerBrowser.get(test.name);
|
|
101
|
+
if (!testErrorsForBrowser) {
|
|
102
|
+
testErrorsForBrowser = new Map();
|
|
103
|
+
testErrorsPerBrowser.set(test.name, testErrorsForBrowser);
|
|
104
|
+
}
|
|
105
|
+
if (test.error) {
|
|
106
|
+
testErrorsForBrowser.set(session.browser.name, test.error);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
if (testErrorsPerBrowser.size > 0) {
|
|
113
|
+
for (const [name, errorsForBrowser] of testErrorsPerBrowser) {
|
|
114
|
+
const failedBrowsers = Array.from(errorsForBrowser.keys());
|
|
115
|
+
const error = errorsForBrowser.get(favoriteBrowser) ?? errorsForBrowser.get(failedBrowsers[0]);
|
|
116
|
+
const failedOn = (0, getFailedOnBrowsers_js_1.getFailedOnBrowsers)(allBrowserNames, failedBrowsers);
|
|
117
|
+
logger.log(` ❌ ${name}${failedOn}`);
|
|
118
|
+
logger.group();
|
|
119
|
+
logger.group();
|
|
120
|
+
logger.group();
|
|
121
|
+
logger.log(formatError(error));
|
|
122
|
+
logger.groupEnd();
|
|
123
|
+
logger.groupEnd();
|
|
124
|
+
logger.groupEnd();
|
|
125
|
+
logger.log('');
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=reportTestsErrors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reportTestsErrors.js","sourceRoot":"","sources":["../../src/reporter/reportTestsErrors.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Reporter } from '@web/test-runner-core';
|
|
2
|
+
interface Options {
|
|
3
|
+
flatten?: boolean;
|
|
4
|
+
reportTestLogs?: boolean;
|
|
5
|
+
reportTestErrors?: boolean;
|
|
6
|
+
}
|
|
7
|
+
/** Test reporter that summarizes all test for a given run */
|
|
8
|
+
export declare function summaryReporter(opts: Options): Reporter;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=summaryReporter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"summaryReporter.d.ts","sourceRoot":"","sources":["../../src/reporter/summaryReporter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,QAAQ,EAGT,MAAM,uBAAuB,CAAC;AAQ/B,UAAU,OAAO;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAWD,6DAA6D;AAC7D,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,QAAQ,CA4FvD"}
|