const test = require("node:test"); const assert = require("node:assert/strict"); const fs = require("node:fs"); const os = require("node:os"); const path = require("node:path"); const { spawnSync } = require("node:child_process"); test("integrity check warns instead of failing when GeoLite asset is missing", () => { const tempRoot = fs.mkdtempSync(path.join(os.tmpdir(), "xread-integrity-")); const scriptPath = path.join(tempRoot, "integrity-check.cjs"); fs.copyFileSync( path.resolve(__dirname, "..", "integrity-check.cjs"), scriptPath, ); const result = spawnSync(process.execPath, [scriptPath], { cwd: tempRoot, encoding: "utf8", }); assert.equal(result.status, 0); assert.match(result.stderr, /GeoLite2-City\.mmdb/); });