forked from BasedHardware/omi
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrun-lifecycle-e2e.mjs
More file actions
21 lines (18 loc) · 939 Bytes
/
Copy pathrun-lifecycle-e2e.mjs
File metadata and controls
21 lines (18 loc) · 939 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// Build the app, then run the lifecycle E2E against the real built main process.
// Hermetic: the spec launches out/main/index.js with a throwaway --user-data-dir
// and asserts only main-process facts (renderer/Firebase errors are ignored).
import { execFileSync } from 'node:child_process'
import { fileURLToPath } from 'node:url'
import path from 'node:path'
const root = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..')
const NO_BUILD = process.argv.includes('--no-build')
// Build main + preload + renderer so out/main/index.js is current (skip with
// --no-build to reuse an existing out/ from a prior build).
if (!NO_BUILD) {
execFileSync('npx', ['electron-vite', 'build'], { stdio: 'inherit', cwd: root, shell: true })
}
// node:test runner. --test-timeout guards against a wedged launch.
execFileSync('node', ['--test', '--test-timeout=60000', 'e2e/lifecycle.spec.mjs'], {
stdio: 'inherit',
cwd: root
})