推进非Qt虚拟HAL诊断证据
This commit is contained in:
@@ -408,7 +408,7 @@
|
||||
throw new Error(`simulation virtual HAL registry/integrity drift: ${JSON.stringify(initialVirtualHalRegistry)}`);
|
||||
}
|
||||
const diagnosticsArtifact = api.exportDiagnosticsArtifact();
|
||||
const expectedQtDragonPromotionCandidates = [
|
||||
const expectedPromotionCandidates = [
|
||||
[
|
||||
"qtdragon-multi-joint-on-abort",
|
||||
"linuxcnc/configs/sim/qtdragon/qtdragon_multi_joint/qtdragon_xyyz.ini",
|
||||
@@ -439,6 +439,17 @@
|
||||
"linuxcnc/configs/sim/qtvcp_screens/qtdragon/qtdragon_mpg.ini",
|
||||
"linuxcnc/configs/sim/qtvcp_screens/qtdragon/on_abort.ngc",
|
||||
],
|
||||
[
|
||||
"puma-seam-weld",
|
||||
"linuxcnc/configs/sim/axis/vismach/puma/puma.ini",
|
||||
"linuxcnc/configs/sim/axis/vismach/puma/puma_seam_weld.ngc",
|
||||
"linuxcnc/configs/sim/axis/vismach/puma/remap_subs/428remap.ngc",
|
||||
],
|
||||
[
|
||||
"rose-engine-rcone-demo",
|
||||
"linuxcnc/configs/sim/axis/rose_engine/rose_engine.ini",
|
||||
"linuxcnc/configs/sim/axis/rose_engine/rcone_demo.ngc",
|
||||
],
|
||||
];
|
||||
if (
|
||||
diagnosticsArtifact.apiName !== "real-browser-simulation-diagnostics-artifact" ||
|
||||
@@ -454,14 +465,13 @@
|
||||
!diagnosticsArtifact.virtualHalSimConfigSourceCoverage?.sourceFiles?.includes("linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/qtdragon_xyza.ini") ||
|
||||
!diagnosticsArtifact.virtualHalSimConfigSourceCoverage?.sourceFiles?.includes("linuxcnc/configs/sim/qtdragon_hd/qtdragon_hd_z_compensation/qtdragon_hd_z_compensation.ini") ||
|
||||
diagnosticsArtifact.virtualHalSimConfigPromotionCandidates?.complete !== true ||
|
||||
!expectedQtDragonPromotionCandidates.every(([id, iniPath, gcodePath]) =>
|
||||
!expectedPromotionCandidates.every(([id, ...sourceFiles]) =>
|
||||
diagnosticsArtifact.virtualHalSimConfigPromotionCandidates?.rows?.some((row) =>
|
||||
row.id === id &&
|
||||
row.complete === true &&
|
||||
row.currentNodeInventoryStatus === "PASS" &&
|
||||
row.targetBrowserEvidence === "explicit-browser-diagnostics" &&
|
||||
row.sourceFiles.includes(iniPath) &&
|
||||
row.sourceFiles.includes(gcodePath)
|
||||
sourceFiles.every((sourceFile) => row.sourceFiles.includes(sourceFile))
|
||||
)
|
||||
) ||
|
||||
diagnosticsArtifact.virtualHalCommandScriptFixtures?.complete !== true ||
|
||||
@@ -903,13 +913,12 @@
|
||||
!api.getVirtualHalSimConfigSourceCoverageReport().sourceFiles.includes("linuxcnc/configs/sim/qtdragon/qtdragon_xyz/on_abort.ngc") ||
|
||||
promotionCandidateReport.complete !== true ||
|
||||
promotionCandidateReport.inventoryBaselineUnchanged !== true ||
|
||||
!expectedQtDragonPromotionCandidates.every(([id, iniPath, gcodePath]) =>
|
||||
!expectedPromotionCandidates.every(([id, ...sourceFiles]) =>
|
||||
promotionCandidateReport.rows.some((row) =>
|
||||
row.id === id &&
|
||||
row.complete === true &&
|
||||
row.targetBrowserEvidence === "explicit-browser-diagnostics" &&
|
||||
row.sourceFiles.includes(iniPath) &&
|
||||
row.sourceFiles.includes(gcodePath)
|
||||
sourceFiles.every((sourceFile) => row.sourceFiles.includes(sourceFile))
|
||||
)
|
||||
) ||
|
||||
api.getVirtualRealtimeHalRuntimeReport().ready !== true ||
|
||||
|
||||
@@ -774,7 +774,7 @@ assert.equal(simConfigPromotionCandidateReport.missingCandidates.length, 0);
|
||||
assert.equal(simConfigPromotionCandidateReport.blockedCandidateIds.length, 0);
|
||||
assert.equal(simConfigPromotionCandidateReport.missingManifestFiles.length, 0);
|
||||
assert.equal(simConfigPromotionCandidateReport.missingRequiredReports.length, 0);
|
||||
const expectedQtDragonPromotionCandidates = [
|
||||
const expectedPromotionCandidates = [
|
||||
[
|
||||
"qtdragon-multi-joint-on-abort",
|
||||
"linuxcnc/configs/sim/qtdragon/qtdragon_multi_joint/qtdragon_xyyz.ini",
|
||||
@@ -805,16 +805,26 @@ const expectedQtDragonPromotionCandidates = [
|
||||
"linuxcnc/configs/sim/qtvcp_screens/qtdragon/qtdragon_mpg.ini",
|
||||
"linuxcnc/configs/sim/qtvcp_screens/qtdragon/on_abort.ngc",
|
||||
],
|
||||
[
|
||||
"puma-seam-weld",
|
||||
"linuxcnc/configs/sim/axis/vismach/puma/puma.ini",
|
||||
"linuxcnc/configs/sim/axis/vismach/puma/puma_seam_weld.ngc",
|
||||
"linuxcnc/configs/sim/axis/vismach/puma/remap_subs/428remap.ngc",
|
||||
],
|
||||
[
|
||||
"rose-engine-rcone-demo",
|
||||
"linuxcnc/configs/sim/axis/rose_engine/rose_engine.ini",
|
||||
"linuxcnc/configs/sim/axis/rose_engine/rcone_demo.ngc",
|
||||
],
|
||||
];
|
||||
for (const [id, iniPath, gcodePath] of expectedQtDragonPromotionCandidates) {
|
||||
for (const [id, ...sourceFiles] of expectedPromotionCandidates) {
|
||||
assert.equal(
|
||||
simConfigPromotionCandidateReport.rows.some((row) =>
|
||||
row.id === id &&
|
||||
row.complete === true &&
|
||||
row.currentNodeInventoryStatus === "PASS" &&
|
||||
row.targetBrowserEvidence === "explicit-browser-diagnostics" &&
|
||||
row.sourceFiles.includes(iniPath) &&
|
||||
row.sourceFiles.includes(gcodePath)
|
||||
sourceFiles.every((sourceFile) => row.sourceFiles.includes(sourceFile))
|
||||
),
|
||||
true,
|
||||
);
|
||||
@@ -908,6 +918,9 @@ assert.equal(browserDiagnosticsArtifactValidation.sourceFiles.includes("linuxcnc
|
||||
assert.equal(browserDiagnosticsArtifactValidation.sourceFiles.includes("linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/qtdragon_xyza.ini"), true);
|
||||
assert.equal(browserDiagnosticsArtifactValidation.sourceFiles.includes("linuxcnc/configs/sim/qtdragon_hd/qtdragon_hd_z_compensation/on_abort.ngc"), true);
|
||||
assert.equal(browserDiagnosticsArtifactValidation.sourceFiles.includes("linuxcnc/configs/sim/axis/vismach/puma/puma.ini"), true);
|
||||
assert.equal(browserDiagnosticsArtifactValidation.sourceFiles.includes("linuxcnc/configs/sim/axis/vismach/puma/puma_seam_weld.ngc"), true);
|
||||
assert.equal(browserDiagnosticsArtifactValidation.sourceFiles.includes("linuxcnc/configs/sim/axis/rose_engine/rose_engine.ini"), true);
|
||||
assert.equal(browserDiagnosticsArtifactValidation.sourceFiles.includes("linuxcnc/configs/sim/axis/rose_engine/rcone_demo.ngc"), true);
|
||||
const runtimeProjectReport = virtualHalRuntime.getProjectReport({ availableFunctions: VIRTUAL_HAL_WASM_BRIDGE_FUNCTIONS });
|
||||
assert.equal(runtimeProjectReport.simulationRuntime.replacesHostRuntimeForSimulation, true);
|
||||
assert.equal(runtimeProjectReport.systemCoverage.unclassifiedSnapshotPins.length, 0);
|
||||
|
||||
Reference in New Issue
Block a user