Files
cnc_wams/web-rtcp-5axis-xyzbc-trt-sim-plan/tests/node/verify_hal_meter_scope_evidence.mjs
2026-07-10 21:26:42 -04:00

28 lines
1.3 KiB
JavaScript

import assert from "node:assert/strict";
import fs from "node:fs";
import path from "node:path";
import { fileURLToPath } from "node:url";
import { createLinuxCncTaskHalSdk } from "../../../wasm-port/runtime/sdk/src/linuxcnc-task-hal.js";
import {
collectHalMeterScopeEvidence,
validateHalMeterEvidence,
validateHalScopeWaveformEvidence,
} from "../../../wasm-port/runtime/sdk/src/hal-meter-scope-evidence.js";
const workspace = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "../../..");
const wasmBinary = fs.readFileSync(path.join(workspace, "wasm-port/build/wasm/task-hal/linuxcnc_task_hal.wasm"));
const sdk = await createLinuxCncTaskHalSdk({ wasmBinary, print() {}, printErr() {} });
const { halMeterEvidence, halScopeWaveformEvidence } = collectHalMeterScopeEvidence(sdk.module, {
profileId: "xyzbc-trt",
samplePeriodNs: 1000000,
recordLength: 16,
});
assert.equal(validateHalMeterEvidence(halMeterEvidence), true);
assert.equal(validateHalScopeWaveformEvidence(halScopeWaveformEvidence), true);
assert.equal(halMeterEvidence.profileId, "xyzbc-trt");
assert.equal(halScopeWaveformEvidence.profileId, "xyzbc-trt");
assert.equal(halScopeWaveformEvidence.samples.length, 16);
console.log("web_hal_meter_evidence=ok");
console.log("web_hal_scope_waveform_evidence=ok");