import { rm, writeFile } from "node:fs/promises"; import { join } from "node:path"; import { afterEach, describe, expect, it } from "vitest"; import { createTestTempDirectory } from "./fixtures/temporaryDirectory.js"; import { buildManagedPeFixture } from "../scripts/lib/managed-pe-fixture.mjs"; import { parseBinaryTarget } from "../src/domain/binaryTarget.js"; const workspaces: string[] = []; afterEach(async () => { await Promise.all( workspaces.splice(0).map((path) => rm(path, { recursive: true })), ); }); describe("managed conformance fixture", () => { it("emits PE32+ headers when the COFF machine is x86-64", async () => { const workspace = await createTestTempDirectory("rea-managed-fixture-"); workspaces.push(workspace); const path = join(workspace, "fixture.exe"); await writeFile(path, buildManagedPeFixture({ machine: 0x8664 })); const parsed = await parseBinaryTarget(path); expect(parsed).toMatchObject({ ok: true, value: { format: "pe", architecture: "x86_64", managed: true, }, }); }); });