锁定虚拟HAL宏加载阻断证据

This commit is contained in:
2026-06-18 05:21:30 +08:00
parent 506a6357c1
commit 014081f1f9
10 changed files with 221 additions and 6 deletions

View File

@@ -469,6 +469,18 @@
"linuxcnc/configs/sim/axis/external_offsets/eoffsets.ngc",
],
];
const expectedBlockedMacroLoadFixtures = [
[
"silverdragon-tool-sensor-python-ui-boundary",
"linuxcnc/configs/sim/gscreen/silverdragon/macros/tool_sensor.ngc",
"PYTHON-UI-PROCESS",
],
[
"gmoccapy-on-abort-python-remap-boundary",
"linuxcnc/configs/sim/gmoccapy/macros/on_abort.ngc",
"L4-PYTHON-REMAP",
],
];
if (
diagnosticsArtifact.apiName !== "real-browser-simulation-diagnostics-artifact" ||
diagnosticsArtifact.statusHistory.length === 0 ||
@@ -493,6 +505,7 @@
)
) ||
diagnosticsArtifact.virtualHalSimConfigMacroLoadFixtures?.complete !== true ||
diagnosticsArtifact.virtualHalSimConfigMacroLoadFixtures?.blockedFixturePromotionViolations?.length !== 0 ||
!expectedMacroLoadFixtures.every(([id, fixturePath, declaredOnly, ...sourceFiles]) =>
diagnosticsArtifact.virtualHalSimConfigMacroLoadFixtures?.rows?.some((row) =>
row.id === id &&
@@ -504,6 +517,15 @@
sourceFiles.every((sourceFile) => row.sourceFiles.includes(sourceFile))
)
) ||
!expectedBlockedMacroLoadFixtures.every(([id, fixturePath, blockedKind]) =>
diagnosticsArtifact.virtualHalSimConfigMacroLoadFixtures?.blockedRows?.some((row) =>
row.id === id &&
row.fixturePath === fixturePath &&
row.blockedKind === blockedKind &&
row.excludedFromPositiveFixtures === true &&
row.complete === true
)
) ||
diagnosticsArtifact.virtualHalCommandScriptFixtures?.complete !== true ||
!diagnosticsArtifact.virtualHalCommandScriptFixtures?.coveredActions?.includes("loadusr") ||
diagnosticsArtifact.virtualHalMotionControllerMatrix?.complete !== true ||
@@ -955,6 +977,7 @@
macroLoadFixtureReport.complete !== true ||
macroLoadFixtureReport.inventoryBaselineUnchanged !== true ||
macroLoadFixtureReport.standaloneMainViolations.length !== 0 ||
macroLoadFixtureReport.blockedFixturePromotionViolations.length !== 0 ||
!expectedMacroLoadFixtures.every(([id, fixturePath, declaredOnly, ...sourceFiles]) =>
macroLoadFixtureReport.rows.some((row) =>
row.id === id &&
@@ -965,6 +988,15 @@
sourceFiles.every((sourceFile) => row.sourceFiles.includes(sourceFile))
)
) ||
!expectedBlockedMacroLoadFixtures.every(([id, fixturePath, blockedKind]) =>
macroLoadFixtureReport.blockedRows.some((row) =>
row.id === id &&
row.fixturePath === fixturePath &&
row.blockedKind === blockedKind &&
row.excludedFromPositiveFixtures === true &&
row.complete === true
)
) ||
api.getVirtualRealtimeHalRuntimeReport().ready !== true ||
api.getVirtualHalSimulationRuntimeReport().replacesHostRuntimeForSimulation !== true
) {