@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.
- package/dist/playwright/baseConfig.d.ts.map +1 -1
- package/dist/playwright/baseConfig.js +13 -1
- package/dist/playwright/baseConfig.js.map +1 -1
- package/dist/probes/runProbe.js +0 -0
- package/dist/scripts/addStore.js +0 -0
- package/dist/scripts/captureAuth.js +0 -0
- package/dist/scripts/captureContracts.js +0 -0
- package/dist/scripts/captureRestContracts.js +0 -0
- package/dist/scripts/checkOperationCoverage.js +0 -0
- package/dist/scripts/cleanupStores.js +0 -0
- package/dist/scripts/createStores.js +0 -0
- package/dist/scripts/deployAppVersion.js +0 -0
- package/dist/scripts/devOnlineBackend.js +0 -0
- package/dist/scripts/installApp.js +0 -0
- package/dist/scripts/listStores.js +0 -0
- package/dist/scripts/runOffline.js +66 -2
- package/dist/scripts/runOffline.js.map +1 -1
- package/dist/scripts/runOfflineFullTests.js +0 -0
- package/dist/scripts/runTests.js +0 -0
- package/dist/scripts/runVm.js +0 -0
- package/dist/scripts/runVmAuth.js +0 -0
- package/dist/scripts/setupTestDb.js +0 -0
- package/dist/scripts/verifyContracts.js +0 -0
- package/dist/scripts/verifyRestContracts.js +0 -0
- package/package.json +7 -7
- package/src/playwright/baseConfig.ts +16 -1
- package/src/scripts/runOffline.ts +67 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseConfig.d.ts","sourceRoot":"","sources":["../../src/playwright/baseConfig.ts"],"names":[],"mappings":"
|
|
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;
|
|
1
|
+
{"version":3,"file":"baseConfig.js","sourceRoot":"","sources":["../../src/playwright/baseConfig.ts"],"names":[],"mappings":"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"}
|
package/dist/probes/runProbe.js
CHANGED
|
File without changes
|
package/dist/scripts/addStore.js
CHANGED
|
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
|
-
|
|
635
|
-
|
|
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
|
package/dist/scripts/runTests.js
CHANGED
|
File without changes
|
package/dist/scripts/runVm.js
CHANGED
|
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.
|
|
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.
|
|
62
|
-
"@essential-apps/shopify-test-contracts": "^1.0.
|
|
63
|
-
"@essential-apps/shopify-test-mock-admin": "^1.0.
|
|
64
|
-
"@essential-apps/shopify-test-shopify-api": "^1.0.
|
|
65
|
-
"@essential-apps/shopify-test-storefront": "^1.0.
|
|
66
|
-
"@essential-apps/shopify-test-themes": "^1.0.
|
|
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
|
-
|
|
702
|
-
|
|
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);
|