@essential-apps/shopify-test-runner 1.0.12 → 1.0.13
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/lib/guestVnc.d.ts +31 -0
- package/dist/lib/guestVnc.d.ts.map +1 -0
- package/dist/lib/guestVnc.js +111 -0
- package/dist/lib/guestVnc.js.map +1 -0
- package/dist/probes/runProbe.js +0 -0
- package/dist/scripts/addStore.js +0 -0
- package/dist/scripts/buildImage.d.ts +3 -0
- package/dist/scripts/buildImage.d.ts.map +1 -0
- package/dist/scripts/{buildDockerImage.js → buildImage.js} +12 -10
- package/dist/scripts/buildImage.js.map +1 -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/captureSharedContracts.d.ts +3 -0
- package/dist/scripts/captureSharedContracts.d.ts.map +1 -0
- package/dist/scripts/captureSharedContracts.js +209 -0
- package/dist/scripts/captureSharedContracts.js.map +1 -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 +78 -1
- package/dist/scripts/runOffline.js.map +1 -1
- package/dist/scripts/runOfflineFullTests.js +49 -21
- package/dist/scripts/runOfflineFullTests.js.map +1 -1
- 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 +20 -29
- package/dist/scripts/verifyContracts.js.map +1 -1
- package/dist/scripts/verifyRestContracts.js +17 -30
- package/dist/scripts/verifyRestContracts.js.map +1 -1
- package/package.json +11 -9
- package/src/lib/guestVnc.ts +147 -0
- package/src/scripts/{buildDockerImage.ts → buildImage.ts} +11 -9
- package/src/scripts/captureSharedContracts.ts +228 -0
- package/src/scripts/runOffline.ts +82 -1
- package/src/scripts/runOfflineFullTests.ts +56 -21
- package/src/scripts/verifyContracts.ts +22 -38
- package/src/scripts/verifyRestContracts.ts +23 -42
- package/dist/edge/nodeShim.d.ts +0 -2
- package/dist/edge/nodeShim.d.ts.map +0 -1
- package/dist/edge/nodeShim.js +0 -217
- package/dist/edge/nodeShim.js.map +0 -1
- package/dist/scripts/_probeSourceUrl.d.ts +0 -3
- package/dist/scripts/_probeSourceUrl.d.ts.map +0 -1
- package/dist/scripts/_probeSourceUrl.js +0 -119
- package/dist/scripts/_probeSourceUrl.js.map +0 -1
- package/dist/scripts/buildDockerImage.d.ts +0 -3
- package/dist/scripts/buildDockerImage.d.ts.map +0 -1
- package/dist/scripts/buildDockerImage.js.map +0 -1
- package/dist/scripts/devE2eBackend.d.ts +0 -3
- package/dist/scripts/devE2eBackend.d.ts.map +0 -1
- package/dist/scripts/devE2eBackend.js +0 -117
- package/dist/scripts/devE2eBackend.js.map +0 -1
- package/dist/scripts/runDocker.d.ts +0 -3
- package/dist/scripts/runDocker.d.ts.map +0 -1
- package/dist/scripts/runDocker.js +0 -88
- package/dist/scripts/runDocker.js.map +0 -1
- package/dist/scripts/runDockerAuth.d.ts +0 -3
- package/dist/scripts/runDockerAuth.d.ts.map +0 -1
- package/dist/scripts/runDockerAuth.js +0 -108
- package/dist/scripts/runDockerAuth.js.map +0 -1
- package/dist/scripts/runDockerOffline.d.ts +0 -3
- package/dist/scripts/runDockerOffline.d.ts.map +0 -1
- package/dist/scripts/runDockerOffline.js +0 -129
- package/dist/scripts/runDockerOffline.js.map +0 -1
- package/dist/scripts/runDockerOfflineExplore.d.ts +0 -3
- package/dist/scripts/runDockerOfflineExplore.d.ts.map +0 -1
- package/dist/scripts/runDockerOfflineExplore.js +0 -116
- package/dist/scripts/runDockerOfflineExplore.js.map +0 -1
- package/dist/scripts/runIsolatedDockerOffline.d.ts +0 -3
- package/dist/scripts/runIsolatedDockerOffline.d.ts.map +0 -1
- package/dist/scripts/runIsolatedDockerOffline.js +0 -351
- package/dist/scripts/runIsolatedDockerOffline.js.map +0 -1
- package/dist/scripts/runOfflineE2e.d.ts +0 -3
- package/dist/scripts/runOfflineE2e.d.ts.map +0 -1
- package/dist/scripts/runOfflineE2e.js +0 -408
- package/dist/scripts/runOfflineE2e.js.map +0 -1
- package/dist/scripts/runSupermachine.d.ts +0 -3
- package/dist/scripts/runSupermachine.d.ts.map +0 -1
- package/dist/scripts/runSupermachine.js +0 -474
- package/dist/scripts/runSupermachine.js.map +0 -1
- package/dist/scripts/runSupermachineAuth.d.ts +0 -3
- package/dist/scripts/runSupermachineAuth.d.ts.map +0 -1
- package/dist/scripts/runSupermachineAuth.js +0 -454
- package/dist/scripts/runSupermachineAuth.js.map +0 -1
- package/dist/vite/offlineConfig.d.ts +0 -34
- package/dist/vite/offlineConfig.d.ts.map +0 -1
- package/dist/vite/offlineConfig.js +0 -61
- package/dist/vite/offlineConfig.js.map +0 -1
- package/src/scripts/runDockerAuth.ts +0 -120
|
@@ -1,351 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
/**
|
|
3
|
-
* runIsolatedDockerOffline — one libkrun microVM per test.
|
|
4
|
-
*
|
|
5
|
-
* Same target as `runDockerOffline.ts`, different parallelism model.
|
|
6
|
-
*
|
|
7
|
-
* runDockerOffline:
|
|
8
|
-
* One container. One Postgres. One Remix. Playwright runs all
|
|
9
|
-
* tests serially (or sharded via `E2E_OFFLINE_WORKERS=N` which
|
|
10
|
-
* forks shards INSIDE the container, sharing the kernel + image).
|
|
11
|
-
*
|
|
12
|
-
* runIsolatedDockerOffline (this script):
|
|
13
|
-
* N microVMs in parallel, one per test. Each VM gets its own
|
|
14
|
-
* filesystem, kernel, Postgres binary, Remix backend, mock stack,
|
|
15
|
-
* Chromium. A buggy test cannot leak processes, file handles, or
|
|
16
|
-
* in-memory state into the next test — the entire VM is
|
|
17
|
-
* destroyed after each test.
|
|
18
|
-
*
|
|
19
|
-
* Same isolation model the live-test suite already uses (#2 in the
|
|
20
|
-
* architecture doc). Offline mode now matches.
|
|
21
|
-
*
|
|
22
|
-
* Pool model:
|
|
23
|
-
* - Host enumerates tests once via `playwright --list --reporter=json`.
|
|
24
|
-
* - Worker pool of `E2E_PARALLEL_VMS` slots (default: cpus/2).
|
|
25
|
-
* - Each slot claims the next test off the queue, spawns
|
|
26
|
-
* `container run` with env identifying the test, waits for exit,
|
|
27
|
-
* loops until queue empty.
|
|
28
|
-
*
|
|
29
|
-
* Per-test container envelope:
|
|
30
|
-
* - The whole runOfflineFullTests.ts boot runs inside, but
|
|
31
|
-
* Playwright is invoked with `<file> --grep "<exact title>"` so
|
|
32
|
-
* only ONE test runs. The Postgres/Remix/mock-server boot is
|
|
33
|
-
* overhead-per-test (~5-8s); accept it for the isolation
|
|
34
|
-
* guarantee.
|
|
35
|
-
*
|
|
36
|
-
* Reporting:
|
|
37
|
-
* - Per-test stdout/stderr is captured to
|
|
38
|
-
* `<repo>/test-results-isolated/<slug>/output.log`.
|
|
39
|
-
* - JUnit XML per test (Playwright's built-in reporter) lands in
|
|
40
|
-
* the same dir.
|
|
41
|
-
* - This script aggregates final pass/fail counts to stdout and
|
|
42
|
-
* prints failed-test names + log paths for triage.
|
|
43
|
-
*/
|
|
44
|
-
import { spawn, execSync } from 'node:child_process';
|
|
45
|
-
import { existsSync, mkdirSync, readFileSync, writeFileSync, createWriteStream } from 'node:fs';
|
|
46
|
-
import { homedir, cpus } from 'node:os';
|
|
47
|
-
import { resolve, relative } from 'node:path';
|
|
48
|
-
const repoRoot = process.cwd();
|
|
49
|
-
function readAppName() {
|
|
50
|
-
const pkgPath = resolve(repoRoot, 'package.json');
|
|
51
|
-
if (!existsSync(pkgPath)) {
|
|
52
|
-
throw new Error(`No package.json at ${pkgPath}. Run this from the consuming app's repo root.`);
|
|
53
|
-
}
|
|
54
|
-
const pkg = JSON.parse(readFileSync(pkgPath, 'utf8'));
|
|
55
|
-
if (!pkg.name) {
|
|
56
|
-
throw new Error(`package.json at ${pkgPath} has no \`name\` field.`);
|
|
57
|
-
}
|
|
58
|
-
return pkg.name.replace(/^@[^/]+\//, '');
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Slug-ify a test title for use as a directory name. Keep it human-
|
|
62
|
-
* readable: strip emoji-like chars and tag markers, collapse spaces
|
|
63
|
-
* to dashes, truncate. Collisions (two tests sharing the same slug)
|
|
64
|
-
* are appended with an index — the caller handles that.
|
|
65
|
-
*/
|
|
66
|
-
function slugify(s) {
|
|
67
|
-
return s
|
|
68
|
-
.toLowerCase()
|
|
69
|
-
.replace(/[^a-z0-9]+/g, '-')
|
|
70
|
-
.replace(/^-+|-+$/g, '')
|
|
71
|
-
.slice(0, 80);
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* Enumerate tests via Playwright's JSON list output. Runs on the
|
|
75
|
-
* HOST (not inside the container) because `--list` doesn't construct
|
|
76
|
-
* fixtures — it just parses test files and emits structure. Means
|
|
77
|
-
* the host needs a `node_modules` deep enough to load Playwright +
|
|
78
|
-
* the spec imports, which it already does (the same dir is
|
|
79
|
-
* bind-mounted into containers).
|
|
80
|
-
*/
|
|
81
|
-
function discoverTests(playwrightConfig, grep) {
|
|
82
|
-
const args = [
|
|
83
|
-
'playwright',
|
|
84
|
-
'test',
|
|
85
|
-
'--config',
|
|
86
|
-
playwrightConfig,
|
|
87
|
-
'--list',
|
|
88
|
-
'--reporter=json',
|
|
89
|
-
];
|
|
90
|
-
if (grep)
|
|
91
|
-
args.push('--grep', grep);
|
|
92
|
-
let output;
|
|
93
|
-
try {
|
|
94
|
-
output = execSync(`npx ${args.map((a) => JSON.stringify(a)).join(' ')}`, {
|
|
95
|
-
encoding: 'utf8',
|
|
96
|
-
stdio: ['ignore', 'pipe', 'pipe'],
|
|
97
|
-
});
|
|
98
|
-
}
|
|
99
|
-
catch (err) {
|
|
100
|
-
const stderr = err.stderr?.toString() ?? '';
|
|
101
|
-
throw new Error(`playwright --list failed:\n${stderr || err.message}`);
|
|
102
|
-
}
|
|
103
|
-
const data = JSON.parse(output);
|
|
104
|
-
// Playwright reports `spec.file` relative to testDir, not cwd. To
|
|
105
|
-
// pass that file back to `playwright test <file>` we need a path
|
|
106
|
-
// Playwright can resolve — easiest is testDir-relative (Playwright
|
|
107
|
-
// resolves positional args against testDir first) but we'll go
|
|
108
|
-
// cwd-relative to be unambiguous. Walk the config tree to find
|
|
109
|
-
// the testDir for project 0 (we have one project).
|
|
110
|
-
const testDirAbs = data.config?.projects?.[0]?.testDir ?? '';
|
|
111
|
-
const testDirRelToCwd = testDirAbs ? relative(repoRoot, testDirAbs) : '';
|
|
112
|
-
const tests = [];
|
|
113
|
-
const usedSlugs = new Map();
|
|
114
|
-
const walk = (suite, ancestors) => {
|
|
115
|
-
// Skip the file-level suite from the title path. Playwright
|
|
116
|
-
// emits the tree as: project ("") → file (titled with the spec
|
|
117
|
-
// file path) → describe → … → spec. `--grep` matches against
|
|
118
|
-
// the test's full name which is `describe > … > spec`, NOT
|
|
119
|
-
// including the file. So we drop any suite whose title looks
|
|
120
|
-
// like a spec file path.
|
|
121
|
-
const isFileSuite = !!suite.title && /\.spec\.[tj]sx?$/.test(suite.title);
|
|
122
|
-
const path = suite.title && !isFileSuite ? [...ancestors, suite.title] : ancestors;
|
|
123
|
-
for (const child of suite.suites ?? [])
|
|
124
|
-
walk(child, path);
|
|
125
|
-
for (const spec of suite.specs ?? []) {
|
|
126
|
-
// A spec maps to ONE test name (its title). Tests array under
|
|
127
|
-
// it lists projected runs (per-project / browser config) —
|
|
128
|
-
// we have one project, so length 1.
|
|
129
|
-
const fileRelToTestDir = spec.file ?? '';
|
|
130
|
-
const fileRelToCwd = testDirRelToCwd
|
|
131
|
-
? `${testDirRelToCwd}/${fileRelToTestDir}`
|
|
132
|
-
: fileRelToTestDir;
|
|
133
|
-
const displayTitle = [...path, spec.title].join(' > ');
|
|
134
|
-
// Playwright's --grep target: describes + test title joined
|
|
135
|
-
// by single spaces. See the comment on DiscoveredTest.grepTitle.
|
|
136
|
-
const grepTitle = [...path, spec.title].join(' ');
|
|
137
|
-
const baseSlug = slugify(`${fileRelToTestDir.split('/').pop() ?? 'spec'}-${spec.title}`);
|
|
138
|
-
const count = usedSlugs.get(baseSlug) ?? 0;
|
|
139
|
-
usedSlugs.set(baseSlug, count + 1);
|
|
140
|
-
const slug = count === 0 ? baseSlug : `${baseSlug}-${count + 1}`;
|
|
141
|
-
tests.push({ file: fileRelToCwd, displayTitle, grepTitle, slug });
|
|
142
|
-
}
|
|
143
|
-
};
|
|
144
|
-
for (const root of data.suites ?? [])
|
|
145
|
-
walk(root, []);
|
|
146
|
-
return tests;
|
|
147
|
-
}
|
|
148
|
-
/**
|
|
149
|
-
* Spawn one libkrun container that runs exactly one test, wait for
|
|
150
|
-
* exit, return the result. Stdout/stderr are streamed to a per-test
|
|
151
|
-
* log file AND mirrored to the host stdout with a `[slot K] ` prefix
|
|
152
|
-
* so live runs show progress.
|
|
153
|
-
*/
|
|
154
|
-
async function runOneTestInContainer(test, slot, ctx) {
|
|
155
|
-
const outDir = resolve(ctx.outRoot, test.slug);
|
|
156
|
-
mkdirSync(outDir, { recursive: true });
|
|
157
|
-
const logPath = resolve(outDir, 'output.log');
|
|
158
|
-
const logStream = createWriteStream(logPath);
|
|
159
|
-
const escapedTitle = escapeForGrep(test.grepTitle);
|
|
160
|
-
// `${file} --grep "${title}"` — Playwright's positional file arg
|
|
161
|
-
// restricts to that spec, --grep restricts to that test title.
|
|
162
|
-
// The runOfflineFullTests script forwards any extra argv to
|
|
163
|
-
// playwright.
|
|
164
|
-
//
|
|
165
|
-
// `--output` is critical when running multiple VMs in parallel.
|
|
166
|
-
// `/workspace` is bind-mounted from the host into every VM, so a
|
|
167
|
-
// shared `test-results/` write path causes traces + screenshots
|
|
168
|
-
// from one VM to overwrite the other (Playwright's
|
|
169
|
-
// `.playwright-artifacts-N` temp files in particular race and
|
|
170
|
-
// throw ENOENT on cleanup). Per-test output dir under
|
|
171
|
-
// `test-results-isolated/<slug>/` keeps each VM's artifacts in
|
|
172
|
-
// its own slot.
|
|
173
|
-
const forwarded = [
|
|
174
|
-
JSON.stringify(test.file),
|
|
175
|
-
'--grep',
|
|
176
|
-
JSON.stringify(escapedTitle),
|
|
177
|
-
'--output',
|
|
178
|
-
JSON.stringify(`test-results-isolated/${test.slug}/playwright`),
|
|
179
|
-
].join(' ');
|
|
180
|
-
const innerCmd = [
|
|
181
|
-
// Same node_modules guard as runDockerOffline: tolerate stale
|
|
182
|
-
// caches from previous failed installs.
|
|
183
|
-
'if [ ! -f node_modules/.package-lock.json ] || [ ! -f node_modules/hono/package.json ]; then ' +
|
|
184
|
-
'echo "[runIsolated] node_modules empty/partial — running fresh npm install…"; ' +
|
|
185
|
-
'rm -rf node_modules; ' +
|
|
186
|
-
'npm install --legacy-peer-deps --engine-strict=false; ' +
|
|
187
|
-
'fi',
|
|
188
|
-
`node --env-file=.env.test --import tsx node_modules/@essential-apps/shopify-test-runner/src/scripts/runOfflineFullTests.ts ${forwarded}`,
|
|
189
|
-
].join(' && ');
|
|
190
|
-
const args = [
|
|
191
|
-
'run',
|
|
192
|
-
'--rm',
|
|
193
|
-
'--arch',
|
|
194
|
-
'amd64',
|
|
195
|
-
// Smaller per-VM footprint than `runDockerOffline` (8 GB) — we
|
|
196
|
-
// run many in parallel and each is doing one test's worth of
|
|
197
|
-
// work. Bump if your tests need more.
|
|
198
|
-
'--memory',
|
|
199
|
-
ctx.perVmMemory,
|
|
200
|
-
'--cpus',
|
|
201
|
-
ctx.perVmCpus,
|
|
202
|
-
...ctx.passthroughEnv,
|
|
203
|
-
'--env',
|
|
204
|
-
// Each VM gets its own slot index so anything that wants a
|
|
205
|
-
// deterministic per-slot value (port base, log prefix) can use it.
|
|
206
|
-
`E2E_ISOLATED_SLOT=${slot}`,
|
|
207
|
-
'--env',
|
|
208
|
-
`E2E_ISOLATED_TEST_SLUG=${test.slug}`,
|
|
209
|
-
'--mount',
|
|
210
|
-
`type=bind,source=${repoRoot},target=/workspace`,
|
|
211
|
-
'--mount',
|
|
212
|
-
`type=bind,source=${ctx.linuxModules},target=/workspace/node_modules`,
|
|
213
|
-
'-w',
|
|
214
|
-
'/workspace',
|
|
215
|
-
ctx.image,
|
|
216
|
-
'bash',
|
|
217
|
-
'-c',
|
|
218
|
-
innerCmd,
|
|
219
|
-
];
|
|
220
|
-
const start = Date.now();
|
|
221
|
-
return new Promise((resolveRun) => {
|
|
222
|
-
const proc = spawn('container', args, { stdio: ['ignore', 'pipe', 'pipe'] });
|
|
223
|
-
const prefix = `[slot ${slot} | ${test.slug}] `;
|
|
224
|
-
const relay = (chunk) => {
|
|
225
|
-
const text = chunk.toString('utf8');
|
|
226
|
-
logStream.write(text);
|
|
227
|
-
// Prefix each non-empty line on the host stdout so logs
|
|
228
|
-
// interleave readably across slots.
|
|
229
|
-
for (const line of text.split('\n')) {
|
|
230
|
-
if (line.length > 0)
|
|
231
|
-
process.stdout.write(prefix + line + '\n');
|
|
232
|
-
}
|
|
233
|
-
};
|
|
234
|
-
proc.stdout.on('data', relay);
|
|
235
|
-
proc.stderr.on('data', relay);
|
|
236
|
-
proc.on('exit', (code) => {
|
|
237
|
-
logStream.end();
|
|
238
|
-
resolveRun({
|
|
239
|
-
test,
|
|
240
|
-
exitCode: code ?? 1,
|
|
241
|
-
durationMs: Date.now() - start,
|
|
242
|
-
logPath,
|
|
243
|
-
});
|
|
244
|
-
});
|
|
245
|
-
});
|
|
246
|
-
}
|
|
247
|
-
/**
|
|
248
|
-
* Playwright's `--grep` is interpreted as a regex. Test titles
|
|
249
|
-
* frequently contain regex meta-characters (parens, brackets, `?`,
|
|
250
|
-
* `+`) so we escape them to a literal match.
|
|
251
|
-
*/
|
|
252
|
-
function escapeForGrep(s) {
|
|
253
|
-
return s.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
254
|
-
}
|
|
255
|
-
async function main() {
|
|
256
|
-
const appName = readAppName();
|
|
257
|
-
const image = process.env['E2E_IMAGE'] ?? `${appName}-e2e:latest`;
|
|
258
|
-
const linuxModules = process.env['E2E_LINUX_NODE_MODULES'] ??
|
|
259
|
-
resolve(homedir(), `.cache/${appName}-e2e/node_modules`);
|
|
260
|
-
mkdirSync(linuxModules, { recursive: true });
|
|
261
|
-
const playwrightConfig = process.env['E2E_PLAYWRIGHT_CONFIG'] ??
|
|
262
|
-
'tests/e2e/playwright.offline-full.config.ts';
|
|
263
|
-
// Forward any positional non-flag arg as a `--grep` filter so
|
|
264
|
-
// `npm run e2e:offline-full:isolated -- --grep "cart-page"` works.
|
|
265
|
-
// We don't parse arbitrary playwright flags here — keep this
|
|
266
|
-
// script's surface small.
|
|
267
|
-
const argv = process.argv.slice(2);
|
|
268
|
-
let listGrep;
|
|
269
|
-
for (let i = 0; i < argv.length; i++) {
|
|
270
|
-
if (argv[i] === '--grep' && i + 1 < argv.length) {
|
|
271
|
-
listGrep = argv[i + 1];
|
|
272
|
-
i++;
|
|
273
|
-
}
|
|
274
|
-
}
|
|
275
|
-
console.log(`[runIsolated] enumerating tests via Playwright (config=${playwrightConfig})…`);
|
|
276
|
-
const tests = discoverTests(playwrightConfig, listGrep);
|
|
277
|
-
if (tests.length === 0) {
|
|
278
|
-
console.error('[runIsolated] no tests discovered — exiting');
|
|
279
|
-
process.exit(1);
|
|
280
|
-
}
|
|
281
|
-
console.log(`[runIsolated] discovered ${tests.length} test(s)`);
|
|
282
|
-
const concurrency = Math.max(1, Number(process.env['E2E_PARALLEL_VMS'] ?? Math.max(2, Math.floor(cpus().length / 2))));
|
|
283
|
-
console.log(`[runIsolated] parallelism: ${concurrency} VM(s)`);
|
|
284
|
-
const outRoot = resolve(repoRoot, 'test-results-isolated');
|
|
285
|
-
mkdirSync(outRoot, { recursive: true });
|
|
286
|
-
const passthroughEnv = [
|
|
287
|
-
'E2E_OFFLINE_EXTENSIONS_JSON',
|
|
288
|
-
'E2E_OFFLINE_POST_PURCHASE_EXT',
|
|
289
|
-
'E2E_OFFLINE_FIXTURE_DEBUG',
|
|
290
|
-
'E2E_OFFLINE_EDGE_DEBUG',
|
|
291
|
-
'E2E_OFFLINE_SHIM_DEBUG',
|
|
292
|
-
'E2E_OFFLINE_SKIP_LEAK_CHECK',
|
|
293
|
-
'E2E_OFFLINE_STRICT_GRAPHQL',
|
|
294
|
-
].flatMap((k) => process.env[k] !== undefined ? ['--env', `${k}=${process.env[k]}`] : []);
|
|
295
|
-
const ctx = {
|
|
296
|
-
image,
|
|
297
|
-
linuxModules,
|
|
298
|
-
outRoot,
|
|
299
|
-
perVmMemory: process.env['E2E_PER_VM_MEMORY'] ?? '4096M',
|
|
300
|
-
perVmCpus: process.env['E2E_PER_VM_CPUS'] ?? '2',
|
|
301
|
-
passthroughEnv,
|
|
302
|
-
};
|
|
303
|
-
const queue = [...tests];
|
|
304
|
-
const results = [];
|
|
305
|
-
const startedAt = Date.now();
|
|
306
|
-
await Promise.all(Array.from({ length: concurrency }, async (_, slot) => {
|
|
307
|
-
while (queue.length > 0) {
|
|
308
|
-
const test = queue.shift();
|
|
309
|
-
if (!test)
|
|
310
|
-
return;
|
|
311
|
-
console.log(`[runIsolated] slot ${slot} starting: ${test.slug} (${queue.length} left in queue)`);
|
|
312
|
-
const result = await runOneTestInContainer(test, slot, ctx);
|
|
313
|
-
results.push(result);
|
|
314
|
-
const verb = result.exitCode === 0 ? '✓' : '✗';
|
|
315
|
-
console.log(`[runIsolated] slot ${slot} ${verb} ${test.slug} (${(result.durationMs / 1000).toFixed(1)}s, exit=${result.exitCode})`);
|
|
316
|
-
}
|
|
317
|
-
}));
|
|
318
|
-
const totalMs = Date.now() - startedAt;
|
|
319
|
-
const passed = results.filter((r) => r.exitCode === 0);
|
|
320
|
-
const failed = results.filter((r) => r.exitCode !== 0);
|
|
321
|
-
console.log(`\n[runIsolated] done: ${passed.length}/${results.length} passed in ${(totalMs / 1000).toFixed(1)}s wall-clock`);
|
|
322
|
-
if (failed.length > 0) {
|
|
323
|
-
console.log(`\n[runIsolated] failed tests:`);
|
|
324
|
-
for (const f of failed) {
|
|
325
|
-
console.log(` ✗ ${f.test.displayTitle}`);
|
|
326
|
-
console.log(` file: ${f.test.file}`);
|
|
327
|
-
console.log(` log: ${relative(repoRoot, f.logPath)}`);
|
|
328
|
-
}
|
|
329
|
-
}
|
|
330
|
-
// Summary JSON for CI consumers — single source of truth on
|
|
331
|
-
// pass/fail counts + per-test outcomes.
|
|
332
|
-
writeFileSync(resolve(outRoot, 'summary.json'), JSON.stringify({
|
|
333
|
-
totalMs,
|
|
334
|
-
concurrency,
|
|
335
|
-
passed: passed.length,
|
|
336
|
-
failed: failed.length,
|
|
337
|
-
tests: results.map((r) => ({
|
|
338
|
-
file: r.test.file,
|
|
339
|
-
title: r.test.displayTitle,
|
|
340
|
-
slug: r.test.slug,
|
|
341
|
-
exitCode: r.exitCode,
|
|
342
|
-
durationMs: r.durationMs,
|
|
343
|
-
})),
|
|
344
|
-
}, null, 2));
|
|
345
|
-
process.exit(failed.length === 0 ? 0 : 1);
|
|
346
|
-
}
|
|
347
|
-
main().catch((err) => {
|
|
348
|
-
console.error(err);
|
|
349
|
-
process.exit(1);
|
|
350
|
-
});
|
|
351
|
-
//# sourceMappingURL=runIsolatedDockerOffline.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"runIsolatedDockerOffline.js","sourceRoot":"","sources":["../../src/scripts/runIsolatedDockerOffline.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"runOfflineE2e.d.ts","sourceRoot":"","sources":["../../src/scripts/runOfflineE2e.ts"],"names":[],"mappings":""}
|