chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
import assert from "node:assert/strict";
|
||||
import test from "node:test";
|
||||
|
||||
import {
|
||||
buildSmokeEnv,
|
||||
FATAL_LOG_PATTERNS,
|
||||
LINUX_EXECUTABLE_NAMES,
|
||||
} from "../../scripts/dev/smoke-electron-packaged.mjs";
|
||||
|
||||
test("electron smoke discovers the default Linux executable name", () => {
|
||||
assert.ok(LINUX_EXECUTABLE_NAMES.includes("omniroute-desktop"));
|
||||
});
|
||||
|
||||
test("electron smoke env allowlists runtime variables and drops secrets", () => {
|
||||
const env = buildSmokeEnv({
|
||||
currentPlatform: "linux",
|
||||
dataDir: "/tmp/omniroute-electron-smoke-test",
|
||||
parentEnv: {
|
||||
DISPLAY: ":99",
|
||||
GITHUB_TOKEN: "should-not-leak",
|
||||
PATH: "/usr/bin",
|
||||
SNYK_TOKEN: "should-not-leak",
|
||||
},
|
||||
});
|
||||
|
||||
assert.equal(env.DATA_DIR, "/tmp/omniroute-electron-smoke-test");
|
||||
assert.equal(env.DISPLAY, ":99");
|
||||
assert.equal(env.PATH, "/usr/bin");
|
||||
assert.equal(env.HOME, "/tmp/omniroute-electron-smoke-test/home");
|
||||
assert.equal(env.XDG_CONFIG_HOME, "/tmp/omniroute-electron-smoke-test/config");
|
||||
assert.equal(env.ELECTRON_ENABLE_LOGGING, "1");
|
||||
assert.equal(env.ELECTRON_ENABLE_STACK_DUMPING, "1");
|
||||
assert.equal(env.GITHUB_TOKEN, undefined);
|
||||
assert.equal(env.SNYK_TOKEN, undefined);
|
||||
});
|
||||
|
||||
test("electron smoke treats Electron process errors as fatal startup logs", () => {
|
||||
const logs = [
|
||||
"[Electron] Unhandled Rejection: Error: startup failed",
|
||||
"[Electron] Uncaught Exception: Error: startup failed",
|
||||
];
|
||||
|
||||
for (const log of logs) {
|
||||
assert.ok(
|
||||
FATAL_LOG_PATTERNS.some((pattern) => pattern.test(log)),
|
||||
`${log} should match a fatal log pattern`
|
||||
);
|
||||
}
|
||||
});
|
||||
Reference in New Issue
Block a user