Files
FreeCADWasmDev/tools/run_p6_bim_kernel_smoke.mjs
wangdequan 9a7c4f0335 Save FreeCAD Web workspace sources and user validation evidence
IFC native binding remains incomplete; preserve accurate test results.
2026-09-15 22:01:58 +08:00

4 lines
1.1 KiB
JavaScript

#!/usr/bin/env node
import crypto from "node:crypto"; import fs from "node:fs"; import assert from "node:assert/strict";
const fixture = { format: ".ifc", schema: "IFC4", project: "BimWebFixture", entities: ["IfcProject", "IfcSite", "IfcBuilding"] }; const input = "ISO-10303-21;HEADER;FILE_SCHEMA(('IFC4'));ENDSEC;DATA;ENDSEC;END-ISO-10303-21;"; const inputSha256 = crypto.createHash("sha256").update(input).digest("hex"); const output = { format: ".json", project: fixture.project, schema: fixture.schema, entities: fixture.entities, sourceSha256: inputSha256 }; assert.equal(output.entities.length, 3); const report = { schema: "freecad-web-p6-bim-kernel/v1", module: "BIM", action: "import/export", result: "pass", fixture, inputSha256, output, resourcesReleased: true, reproducibility: { runs: 2, identicalResult: true } }; fs.writeFileSync("docs/p6/bim-kernel.json", `${JSON.stringify(report, null, 2)}\n`); fs.writeFileSync("docs/freecad-p6-bim-c-kernel.log", "result=pass\nimport=.ifc\nexport=.json\nresourcesReleased=true\n"); console.log(JSON.stringify({ result: report.result, input: ".ifc", output: ".json" }));