虚拟HAL完全满足Web数控仿真

结论:ini-panel workflow overview 已提供固定 URL 表单和按钮,用户可直接输入 release artifact URL 与 browser diagnostics URL 并运行 release URL workflow;该流程验证的 virtual HAL evidence 仍完全来自 LinuxCNC source-derived reports,virtual HAL 继续满足 Web 数控系统仿真范围,不声明 Linux kernel hard-realtime ABI、外部硬件驱动 ABI 或 native HAL module ABI。
This commit is contained in:
2026-06-17 23:12:45 +08:00
parent 208992c42e
commit abf858641f
3 changed files with 200 additions and 0 deletions

View File

@@ -60,6 +60,7 @@
!workflowApi?.getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowDomReadiness ||
!workflowApi?.renderWorkflowOverviewReleaseReadinessArtifactUrlWorkflowState ||
!workflowApi?.mountWorkflowOverviewReleaseReadinessArtifactUrlWorkflowState ||
!workflowApi?.runWorkflowOverviewReleaseReadinessArtifactUrlForm ||
!workflowApi?.getWorkflowOverviewReleaseReadinessArtifactValidationSummaryViewModel ||
!workflowApi?.getWorkflowOverviewReleaseReadinessArtifactValidationActionPlan ||
!workflowApi?.getWorkflowOverviewReleaseReadinessArtifactValidationActionPlanRenderState ||
@@ -372,6 +373,20 @@
},
mount: true,
});
workflowDoc.querySelector("[data-release-artifact-url-input]").value = "../../tests/fixtures/project-release-readiness-ready.json";
workflowDoc.querySelector("[data-browser-diagnostics-url-input]").value = "../../tests/fixtures/real-browser-simulation-diagnostics-ready.json";
const releaseArtifactUrlFormResult = await workflowApi.runWorkflowOverviewReleaseReadinessArtifactUrlForm({
fetchRef: async (url) => {
if (String(url).endsWith("real-browser-simulation-diagnostics-ready.json")) {
return {
ok: true,
status: 200,
text: async () => diagnosticsArtifactJson,
};
}
return fetch(url);
},
});
const releaseArtifactUrlWorkflowSummary = workflowApi
.getWorkflowOverviewReleaseReadinessArtifactUrlWorkflowSummaryViewModel(releaseArtifactUrlWorkflow);
const releaseArtifactUrlWorkflowActionPlan = workflowApi
@@ -519,6 +534,26 @@
"Ready: Artifact URL workflow complete",
"workflow overview release artifact URL workflow rendered status",
);
assertEqual(
releaseArtifactUrlFormResult.workflow.ready,
true,
"workflow overview fixed URL workflow form readiness",
);
assertEqual(
releaseArtifactUrlFormResult.mountResult.ready,
true,
"workflow overview fixed URL workflow form mount readiness",
);
assertEqual(
workflowDoc.body.dataset.releaseArtifactUrlWorkflowReady,
"true",
"workflow overview fixed URL workflow form body ready",
);
assertEqual(
workflowDoc.querySelector('[data-workflow-overview-release-readiness-artifact-url-workflow-value="browser-diagnostics"]').textContent,
"ready",
"workflow overview fixed URL workflow form browser diagnostics row",
);
assertEqual(
releaseArtifactJsonWorkflow.statusLine,
"Ready: Artifact JSON workflow complete",