@essential-apps/shopify-test-runner 1.0.17 → 1.0.19

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.
@@ -1 +1 @@
1
- {"version":3,"file":"baseConfig.d.ts","sourceRoot":"","sources":["../../src/playwright/baseConfig.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgB,KAAK,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAY3E,MAAM,WAAW,6BAA6B;IAC5C;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC9B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC/B,iEAAiE;IACjE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iEAAiE;IACjE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2CAA2C;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6CAA6C;IAC7C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC;;;;;;;;;;OAUG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,6BAA6B,GAClC,oBAAoB,CA2CtB"}
1
+ {"version":3,"file":"baseConfig.d.ts","sourceRoot":"","sources":["../../src/playwright/baseConfig.ts"],"names":[],"mappings":"AAGA,OAAO,EAAgB,KAAK,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAY3E,MAAM,WAAW,6BAA6B;IAC5C;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC9B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC/B,iEAAiE;IACjE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iEAAiE;IACjE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2CAA2C;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6CAA6C;IAC7C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC;;;;;;;;;;OAUG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,6BAA6B,GAClC,oBAAoB,CAyDtB"}
@@ -1,5 +1,6 @@
1
1
  import { existsSync } from 'node:fs';
2
2
  import { fileURLToPath } from 'node:url';
3
+ import { resolve } from 'node:path';
3
4
  import { defineConfig } from '@playwright/test';
4
5
  import { storageStatePath } from '@essential-apps/shopify-test-core';
5
6
  /**
@@ -37,8 +38,19 @@ export function definePlaywrightConfig(opts) {
37
38
  // mode doesn't get a default ignore since its testMatch already
38
39
  // narrows in.
39
40
  const defaultTestIgnore = opts.offline ? [] : ['**/*offline*.spec.ts'];
41
+ // Per-run results folder, shared by EVERY tier: `tests/results/<ts>/`
42
+ // (sibling of the testDir, i.e. tests/online or tests/offline → tests/
43
+ // results). Keeps artifacts + the HTML report under `tests/` instead of
44
+ // Playwright's default top-level `test-results/` + `playwright-report/`,
45
+ // and co-locates online/offline/conformance output. A shared RUN_ID env
46
+ // lets sharded invocations land in one folder; otherwise mint one.
47
+ const runId = process.env['TEST_RESULTS_RUN_ID'] ??
48
+ process.env['TEST_OFFLINE_RESULTS_RUN_ID'] ??
49
+ new Date().toISOString().replace(/[:.]/g, '-');
50
+ const resultsDir = resolve(opts.testDir, '..', 'results', runId);
40
51
  const base = {
41
52
  testDir: opts.testDir,
53
+ outputDir: resolve(resultsDir, 'artifacts'),
42
54
  testMatch: opts.testMatch ?? ['**/*.spec.ts'],
43
55
  testIgnore: opts.testIgnore ?? defaultTestIgnore,
44
56
  // No globalSetup in offline mode — its checks (NODE_ENV=test,
@@ -54,7 +66,7 @@ export function definePlaywrightConfig(opts) {
54
66
  workers: opts.workers ?? Number(process.env['TEST_WORKERS'] ?? 1),
55
67
  // CF's bot challenge can fire on profile creation; one retry is enough.
56
68
  retries: opts.retries ?? Number(process.env['TEST_RETRIES'] ?? 1),
57
- reporter: [['list'], ['html', { open: 'never' }]],
69
+ reporter: [['list'], ['html', { open: 'never', outputFolder: resolve(resultsDir, 'report') }]],
58
70
  use: {
59
71
  trace: 'retain-on-failure',
60
72
  screenshot: 'only-on-failure',
@@ -1 +1 @@
1
- {"version":3,"file":"baseConfig.js","sourceRoot":"","sources":["../../src/playwright/baseConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,YAAY,EAA6B,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAErE;;;;;;GAMG;AACH,MAAM,eAAe,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AA+CpF;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,sBAAsB,CACpC,IAAmC;IAEnC,iEAAiE;IACjE,iEAAiE;IACjE,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CACb,2BAA2B,gBAAgB,iCAAiC,CAC7E,CAAC;IACJ,CAAC;IAED,oEAAoE;IACpE,oEAAoE;IACpE,oEAAoE;IACpE,gEAAgE;IAChE,cAAc;IACd,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC;IACvE,MAAM,IAAI,GAAyB;QACjC,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,CAAC,cAAc,CAAC;QAC7C,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,iBAAiB;QAChD,8DAA8D;QAC9D,8DAA8D;QAC9D,0BAA0B;QAC1B,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;QACzD,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,MAAM;QAC/B,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,IAAI,MAAM,EAAE;QACjD,aAAa,EAAE,KAAK;QACpB,wEAAwE;QACxE,qEAAqE;QACrE,sEAAsE;QACtE,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACjE,wEAAwE;QACxE,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACjE,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACjD,GAAG,EAAE;YACH,KAAK,EAAE,mBAAmB;YAC1B,UAAU,EAAE,iBAAiB;SAC9B;QACD,kEAAkE;QAClE,sDAAsD;QACtD,mEAAmE;KACpE,CAAC;IAEF,OAAO,YAAY,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;AACrD,CAAC"}
1
+ {"version":3,"file":"baseConfig.js","sourceRoot":"","sources":["../../src/playwright/baseConfig.ts"],"names":[],"mappings":"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"}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -592,6 +592,20 @@ async function main() {
592
592
  }
593
593
  })();
594
594
  pump.catch(() => { });
595
+ // Mirror stderr too — the orchestrator's `headed under Xvfb` +
596
+ // Chromium launch diagnostics land on stderr (separate stream, no
597
+ // tty), so the stdout-only pump above would otherwise drop them.
598
+ const pumpErr = (async () => {
599
+ while (true) {
600
+ const err = await exploreProc.readStderr(64 * 1024);
601
+ if (err.length === 0) {
602
+ await new Promise((r) => setTimeout(r, 200));
603
+ continue;
604
+ }
605
+ process.stderr.write(err);
606
+ }
607
+ })();
608
+ pumpErr.catch(() => { });
595
609
  const wait = await exploreProc.wait();
596
610
  process.exitCode = wait.exitCode ?? 0;
597
611
  return;
@@ -631,10 +645,44 @@ async function main() {
631
645
  // Cumulative cold-start silence can reach ~60-90 s before any test
632
646
  // produces stdout. Default 180 s lives comfortably outside that
633
647
  // window. Override via env if a test legitimately needs more.
634
- const maxMs = Number(process.env['TEST_ONLINE_VM_TIMEOUT_MS'] ?? 10 * 60 * 1000);
635
- const stallMs = Number(process.env['TEST_OFFLINE_STALL_MS'] ?? 180_000);
648
+ // Video recording (TEST_OFFLINE_VIDEO) runs headed under Xvfb and
649
+ // starts+stops an ffmpeg per test, so the suite is MUCH slower and has
650
+ // longer silent gaps (the graceful ffmpeg stop has no stdout). Under
651
+ // the normal 10-min cap a full video run gets killed at an inter-test
652
+ // silence — mid-suite, BEFORE Playwright writes its end-of-run HTML
653
+ // report — so the report goes missing. Give video runs a far larger
654
+ // default budget + stall window so the run reaches onEnd and the
655
+ // report reliably lands. Explicit env overrides always win.
656
+ const videoOn = process.env['TEST_OFFLINE_VIDEO'] === 'true';
657
+ const defaultMaxMs = (videoOn ? 45 : 10) * 60 * 1000;
658
+ const defaultStallMs = videoOn ? 420_000 : 180_000;
659
+ const maxMs = Number(process.env['TEST_ONLINE_VM_TIMEOUT_MS'] ?? defaultMaxMs);
660
+ const stallMs = Number(process.env['TEST_OFFLINE_STALL_MS'] ?? defaultStallMs);
636
661
  const start = Date.now();
637
662
  let lastByteAt = Date.now();
663
+ // Drain the orchestrator's stderr concurrently with stdout. We spawn
664
+ // without a tty, so the guest agent keeps the two streams SEPARATE and
665
+ // every orchestrator `console.error` lands ONLY on stderr — the
666
+ // `headed under Xvfb :99 (recording)` confirmation, the ffmpeg-missing
667
+ // / Xvfb-failed-to-start warnings, and fatal stack traces among them.
668
+ // Reading only stdout (as this loop does) silently dropped all of it,
669
+ // which made headed/video runs impossible to diagnose from the host
670
+ // log. Mirror stderr to the host's stderr and count it as liveness too,
671
+ // so a run that's chatty only on stderr doesn't trip the stall guard.
672
+ // Best-effort + background; never throws.
673
+ let stderrDone = false;
674
+ const pumpStderr = (async () => {
675
+ while (!stderrDone) {
676
+ const err = await testProc.readStderr(64 * 1024);
677
+ if (err.length === 0) {
678
+ await new Promise((r) => setTimeout(r, 100));
679
+ continue;
680
+ }
681
+ lastByteAt = Date.now();
682
+ process.stderr.write(err);
683
+ }
684
+ })();
685
+ pumpStderr.catch(() => { });
638
686
  while (true) {
639
687
  const out = await testProc.readStdout(64 * 1024);
640
688
  const now = Date.now();
@@ -665,6 +713,22 @@ async function main() {
665
713
  }
666
714
  }
667
715
  const wait = await testProc.wait();
716
+ // Stop the background stderr pump, then flush anything emitted in its
717
+ // final moments. With the pump halted there's no concurrent reader, so
718
+ // this drain can't race it.
719
+ stderrDone = true;
720
+ await pumpStderr.catch(() => { });
721
+ try {
722
+ for (;;) {
723
+ const err = await testProc.readStderr(64 * 1024);
724
+ if (err.length === 0)
725
+ break;
726
+ process.stderr.write(err);
727
+ }
728
+ }
729
+ catch {
730
+ /* process gone — nothing left to drain */
731
+ }
668
732
  console.error(`[runOffline] tests: ${((performance.now() - tTests) / 1000).toFixed(1)} s`);
669
733
  console.error(`[runOffline] grand: ${((performance.now() - tBake) / 1000).toFixed(1)} s`);
670
734
  process.exit(wait.exitCode ?? 0);
@@ -1 +1 @@
1
- {"version":3,"file":"runOffline.js","sourceRoot":"","sources":["../../src/scripts/runOffline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runOffline.js","sourceRoot":"","sources":["../../src/scripts/runOffline.ts"],"names":[],"mappings":"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"}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@essential-apps/shopify-test-runner",
3
- "version": "1.0.17",
3
+ "version": "1.0.19",
4
4
  "description": "Orchestration scripts (container, auth capture, install) and Playwright config preset for Essential Apps' Shopify test suites. Internal use only.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -58,12 +58,12 @@
58
58
  "clean": "rm -rf dist"
59
59
  },
60
60
  "dependencies": {
61
- "@essential-apps/shopify-test-core": "^1.0.17",
62
- "@essential-apps/shopify-test-contracts": "^1.0.17",
63
- "@essential-apps/shopify-test-mock-admin": "^1.0.17",
64
- "@essential-apps/shopify-test-shopify-api": "^1.0.17",
65
- "@essential-apps/shopify-test-storefront": "^1.0.17",
66
- "@essential-apps/shopify-test-themes": "^1.0.17",
61
+ "@essential-apps/shopify-test-core": "^1.0.18",
62
+ "@essential-apps/shopify-test-contracts": "^1.0.18",
63
+ "@essential-apps/shopify-test-mock-admin": "^1.0.18",
64
+ "@essential-apps/shopify-test-shopify-api": "^1.0.18",
65
+ "@essential-apps/shopify-test-storefront": "^1.0.18",
66
+ "@essential-apps/shopify-test-themes": "^1.0.18",
67
67
  "@playwright/test": "^1.49.0",
68
68
  "@types/node": "^20.19.40",
69
69
  "@types/tar-stream": "^3.1.4",
@@ -1,5 +1,6 @@
1
1
  import { existsSync } from 'node:fs';
2
2
  import { fileURLToPath } from 'node:url';
3
+ import { resolve } from 'node:path';
3
4
  import { defineConfig, type PlaywrightTestConfig } from '@playwright/test';
4
5
  import { storageStatePath } from '@essential-apps/shopify-test-core';
5
6
 
@@ -89,8 +90,22 @@ export function definePlaywrightConfig(
89
90
  // mode doesn't get a default ignore since its testMatch already
90
91
  // narrows in.
91
92
  const defaultTestIgnore = opts.offline ? [] : ['**/*offline*.spec.ts'];
93
+
94
+ // Per-run results folder, shared by EVERY tier: `tests/results/<ts>/`
95
+ // (sibling of the testDir, i.e. tests/online or tests/offline → tests/
96
+ // results). Keeps artifacts + the HTML report under `tests/` instead of
97
+ // Playwright's default top-level `test-results/` + `playwright-report/`,
98
+ // and co-locates online/offline/conformance output. A shared RUN_ID env
99
+ // lets sharded invocations land in one folder; otherwise mint one.
100
+ const runId =
101
+ process.env['TEST_RESULTS_RUN_ID'] ??
102
+ process.env['TEST_OFFLINE_RESULTS_RUN_ID'] ??
103
+ new Date().toISOString().replace(/[:.]/g, '-');
104
+ const resultsDir = resolve(opts.testDir, '..', 'results', runId);
105
+
92
106
  const base: PlaywrightTestConfig = {
93
107
  testDir: opts.testDir,
108
+ outputDir: resolve(resultsDir, 'artifacts'),
94
109
  testMatch: opts.testMatch ?? ['**/*.spec.ts'],
95
110
  testIgnore: opts.testIgnore ?? defaultTestIgnore,
96
111
  // No globalSetup in offline mode — its checks (NODE_ENV=test,
@@ -106,7 +121,7 @@ export function definePlaywrightConfig(
106
121
  workers: opts.workers ?? Number(process.env['TEST_WORKERS'] ?? 1),
107
122
  // CF's bot challenge can fire on profile creation; one retry is enough.
108
123
  retries: opts.retries ?? Number(process.env['TEST_RETRIES'] ?? 1),
109
- reporter: [['list'], ['html', { open: 'never' }]],
124
+ reporter: [['list'], ['html', { open: 'never', outputFolder: resolve(resultsDir, 'report') }]],
110
125
  use: {
111
126
  trace: 'retain-on-failure',
112
127
  screenshot: 'only-on-failure',
@@ -658,6 +658,21 @@ async function main(): Promise<void> {
658
658
  })();
659
659
  pump.catch(() => {});
660
660
 
661
+ // Mirror stderr too — the orchestrator's `headed under Xvfb` +
662
+ // Chromium launch diagnostics land on stderr (separate stream, no
663
+ // tty), so the stdout-only pump above would otherwise drop them.
664
+ const pumpErr = (async () => {
665
+ while (true) {
666
+ const err = await exploreProc.readStderr(64 * 1024);
667
+ if (err.length === 0) {
668
+ await new Promise((r) => setTimeout(r, 200));
669
+ continue;
670
+ }
671
+ process.stderr.write(err);
672
+ }
673
+ })();
674
+ pumpErr.catch(() => {});
675
+
661
676
  const wait = await exploreProc.wait();
662
677
  process.exitCode = wait.exitCode ?? 0;
663
678
  return;
@@ -698,10 +713,46 @@ async function main(): Promise<void> {
698
713
  // Cumulative cold-start silence can reach ~60-90 s before any test
699
714
  // produces stdout. Default 180 s lives comfortably outside that
700
715
  // window. Override via env if a test legitimately needs more.
701
- const maxMs = Number(process.env['TEST_ONLINE_VM_TIMEOUT_MS'] ?? 10 * 60 * 1000);
702
- const stallMs = Number(process.env['TEST_OFFLINE_STALL_MS'] ?? 180_000);
716
+ // Video recording (TEST_OFFLINE_VIDEO) runs headed under Xvfb and
717
+ // starts+stops an ffmpeg per test, so the suite is MUCH slower and has
718
+ // longer silent gaps (the graceful ffmpeg stop has no stdout). Under
719
+ // the normal 10-min cap a full video run gets killed at an inter-test
720
+ // silence — mid-suite, BEFORE Playwright writes its end-of-run HTML
721
+ // report — so the report goes missing. Give video runs a far larger
722
+ // default budget + stall window so the run reaches onEnd and the
723
+ // report reliably lands. Explicit env overrides always win.
724
+ const videoOn = process.env['TEST_OFFLINE_VIDEO'] === 'true';
725
+ const defaultMaxMs = (videoOn ? 45 : 10) * 60 * 1000;
726
+ const defaultStallMs = videoOn ? 420_000 : 180_000;
727
+ const maxMs = Number(process.env['TEST_ONLINE_VM_TIMEOUT_MS'] ?? defaultMaxMs);
728
+ const stallMs = Number(process.env['TEST_OFFLINE_STALL_MS'] ?? defaultStallMs);
703
729
  const start = Date.now();
704
730
  let lastByteAt = Date.now();
731
+
732
+ // Drain the orchestrator's stderr concurrently with stdout. We spawn
733
+ // without a tty, so the guest agent keeps the two streams SEPARATE and
734
+ // every orchestrator `console.error` lands ONLY on stderr — the
735
+ // `headed under Xvfb :99 (recording)` confirmation, the ffmpeg-missing
736
+ // / Xvfb-failed-to-start warnings, and fatal stack traces among them.
737
+ // Reading only stdout (as this loop does) silently dropped all of it,
738
+ // which made headed/video runs impossible to diagnose from the host
739
+ // log. Mirror stderr to the host's stderr and count it as liveness too,
740
+ // so a run that's chatty only on stderr doesn't trip the stall guard.
741
+ // Best-effort + background; never throws.
742
+ let stderrDone = false;
743
+ const pumpStderr = (async () => {
744
+ while (!stderrDone) {
745
+ const err = await testProc.readStderr(64 * 1024);
746
+ if (err.length === 0) {
747
+ await new Promise((r) => setTimeout(r, 100));
748
+ continue;
749
+ }
750
+ lastByteAt = Date.now();
751
+ process.stderr.write(err);
752
+ }
753
+ })();
754
+ pumpStderr.catch(() => {});
755
+
705
756
  while (true) {
706
757
  const out = await testProc.readStdout(64 * 1024);
707
758
  const now = Date.now();
@@ -731,6 +782,20 @@ async function main(): Promise<void> {
731
782
  }
732
783
  }
733
784
  const wait = await testProc.wait();
785
+ // Stop the background stderr pump, then flush anything emitted in its
786
+ // final moments. With the pump halted there's no concurrent reader, so
787
+ // this drain can't race it.
788
+ stderrDone = true;
789
+ await pumpStderr.catch(() => {});
790
+ try {
791
+ for (;;) {
792
+ const err = await testProc.readStderr(64 * 1024);
793
+ if (err.length === 0) break;
794
+ process.stderr.write(err);
795
+ }
796
+ } catch {
797
+ /* process gone — nothing left to drain */
798
+ }
734
799
  console.error(`[runOffline] tests: ${((performance.now() - tTests) / 1000).toFixed(1)} s`);
735
800
  console.error(`[runOffline] grand: ${((performance.now() - tBake) / 1000).toFixed(1)} s`);
736
801
  process.exit(wait.exitCode ?? 0);