@empiricalrun/test-run 0.15.0 → 0.16.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/CHANGELOG.md +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -5
- package/dist/lib/merge-reports/html.d.ts.map +1 -1
- package/dist/lib/merge-reports/html.js +5 -1
- package/dist/lib/merge-reports/index.d.ts.map +1 -1
- package/dist/lib/merge-reports/index.js +4 -4
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,IAAI,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAI/E,OAAO,EAAkB,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,+BAA+B,EAAE,MAAM,gBAAgB,CAAC;AAEjE,OAAO,EACL,+BAA+B,EAC/B,mBAAmB,EACnB,mBAAmB,EACnB,QAAQ,GACT,CAAC;AACF,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,8BAA8B,EAC9B,KAAK,UAAU,GAChB,MAAM,oBAAoB,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EACL,KAAK,mBAAmB,EACxB,wBAAwB,GACzB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,4BAA4B,EAC5B,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,IAAI,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAI/E,OAAO,EAAkB,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,+BAA+B,EAAE,MAAM,gBAAgB,CAAC;AAEjE,OAAO,EACL,+BAA+B,EAC/B,mBAAmB,EACnB,mBAAmB,EACnB,QAAQ,GACT,CAAC;AACF,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,8BAA8B,EAC9B,KAAK,UAAU,GAChB,MAAM,oBAAoB,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EACL,KAAK,mBAAmB,EACxB,wBAAwB,GACzB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,4BAA4B,EAC5B,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,SAAS,CAAC;AAQjB,wBAAsB,aAAa,CAAC,EAClC,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,OAAO,EACP,MAAM,EACN,MAAM,GACP,EAAE;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;CAChC,GAAG,OAAO,CAAC;IACV,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,EAAE,oBAAoB,CAAC;CACnC,CAAC,CAmBD;AAED,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IACnE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;CACjD,CAAC,CAeD"}
|
package/dist/index.js
CHANGED
|
@@ -40,11 +40,9 @@ Object.defineProperty(exports, "filterArrayByGlobMatchersSet", { enumerable: tru
|
|
|
40
40
|
Object.defineProperty(exports, "generateProjectFilters", { enumerable: true, get: function () { return utils_1.generateProjectFilters; } });
|
|
41
41
|
Object.defineProperty(exports, "generateProjectFiltersV2", { enumerable: true, get: function () { return utils_1.generateProjectFiltersV2; } });
|
|
42
42
|
function getSummaryJsonPath(repoDir) {
|
|
43
|
-
const
|
|
44
|
-
const
|
|
45
|
-
return fs_1.default.existsSync(
|
|
46
|
-
? pathForPlaywright147
|
|
47
|
-
: pathForOtherPlaywrightVersions;
|
|
43
|
+
const newPath = path_1.default.join(repoDir, "playwright-report", "summary.json");
|
|
44
|
+
const legacyPath = path_1.default.join(repoDir, "summary.json");
|
|
45
|
+
return fs_1.default.existsSync(newPath) ? newPath : legacyPath;
|
|
48
46
|
}
|
|
49
47
|
async function runSingleTest({ testName, suites, filePath, projects, envOverrides, repoDir, stdout, stderr, }) {
|
|
50
48
|
const testDir = "tests";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../../../src/lib/merge-reports/html.ts"],"names":[],"mappings":"AAaA,wBAAsB,qBAAqB,CACzC,YAAY,EAAE,MAAM,EACpB,mBAAmB,EAAE,MAAM,GAC1B,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../../../src/lib/merge-reports/html.ts"],"names":[],"mappings":"AAaA,wBAAsB,qBAAqB,CACzC,YAAY,EAAE,MAAM,EACpB,mBAAmB,EAAE,MAAM,GAC1B,OAAO,CAAC,IAAI,CAAC,CAsIf"}
|
|
@@ -24,7 +24,11 @@ async function patchMergedHtmlReport(htmlFilePath, summaryJsonFilePath) {
|
|
|
24
24
|
// Ensure attachment.name includes a file extension so that
|
|
25
25
|
// Playwright's downloadFileNameForAttachment() uses it as-is
|
|
26
26
|
// instead of parsing the (now URL) path for an extension.
|
|
27
|
-
|
|
27
|
+
// Exception: keep "trace" as-is because the HTML reporter checks
|
|
28
|
+
// `attachment.name === 'trace'` to show the "View Trace" button.
|
|
29
|
+
if (attachment.path &&
|
|
30
|
+
attachment.name !== "trace" &&
|
|
31
|
+
!attachment.name.includes(".")) {
|
|
28
32
|
const ext = attachment.path.match(/\.[^/.]+$/)?.[0];
|
|
29
33
|
if (ext) {
|
|
30
34
|
return { ...attachment, name: attachment.name + ext };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/merge-reports/index.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAElE,OAAO,EAAE,qBAAqB,EAAE,MAAM,QAAQ,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAC1C,YAAY,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AA0DlE,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/merge-reports/index.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAElE,OAAO,EAAE,qBAAqB,EAAE,MAAM,QAAQ,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAC1C,YAAY,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AA0DlE,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CA+B/B;AAED,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAoCjC;AAED,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,aAAa,GAC3B,OAAO,CAAC,IAAI,CAAC,CAsDf;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CA+EhC"}
|
|
@@ -75,7 +75,7 @@ async function runPlaywrightMergeReports(options) {
|
|
|
75
75
|
envOverrides: {
|
|
76
76
|
PLAYWRIGHT_HTML_OPEN: "never",
|
|
77
77
|
PLAYWRIGHT_HTML_OUTPUT_DIR: outputDir,
|
|
78
|
-
PLAYWRIGHT_JSON_OUTPUT_NAME: path_1.default.join(cwd, "summary.json"),
|
|
78
|
+
PLAYWRIGHT_JSON_OUTPUT_NAME: path_1.default.join(cwd, "playwright-report", "summary.json"),
|
|
79
79
|
},
|
|
80
80
|
captureOutput: false,
|
|
81
81
|
throwOnError: true,
|
|
@@ -116,7 +116,7 @@ async function uploadMergedReports(cwd, outputDir, uploadOptions) {
|
|
|
116
116
|
const { projectName, runId, baseUrl, uploadBucket, credentials } = uploadOptions;
|
|
117
117
|
const destinationDir = path_1.default.join(projectName, runId);
|
|
118
118
|
const htmlFilePath = path_1.default.join(outputDir, "index.html");
|
|
119
|
-
const jsonFilePath = path_1.default.join(
|
|
119
|
+
const jsonFilePath = path_1.default.join(outputDir, "summary.json");
|
|
120
120
|
if (fs_1.default.existsSync(htmlFilePath)) {
|
|
121
121
|
logger_1.logger.debug(`[Merge Reports] Uploading HTML report`);
|
|
122
122
|
const task = (0, r2_uploader_1.createUploadTask)({
|
|
@@ -132,7 +132,7 @@ async function uploadMergedReports(cwd, outputDir, uploadOptions) {
|
|
|
132
132
|
if (fs_1.default.existsSync(jsonFilePath)) {
|
|
133
133
|
logger_1.logger.debug(`[Merge Reports] Uploading summary.json`);
|
|
134
134
|
const task = (0, r2_uploader_1.createUploadTask)({
|
|
135
|
-
sourceDir:
|
|
135
|
+
sourceDir: outputDir,
|
|
136
136
|
fileList: [jsonFilePath],
|
|
137
137
|
destinationDir,
|
|
138
138
|
uploadBucket,
|
|
@@ -193,7 +193,7 @@ async function mergeReports(options) {
|
|
|
193
193
|
return { success: false };
|
|
194
194
|
}
|
|
195
195
|
const htmlFilePath = path_1.default.join(outputDir, "index.html");
|
|
196
|
-
const jsonFilePath = path_1.default.join(
|
|
196
|
+
const jsonFilePath = path_1.default.join(outputDir, "summary.json");
|
|
197
197
|
// Patch summary.json first (replaces local paths with URLs),
|
|
198
198
|
// then patch the HTML report (reads the patched summary.json to build an attachment map).
|
|
199
199
|
await (0, json_1.patchSummaryJson)(jsonFilePath, urlMappings);
|