Update wasm port validation state
This commit is contained in:
@@ -986,7 +986,7 @@ TOOL_TABLE = browser-shell-tool.tbl
|
||||
);
|
||||
assertEqual(
|
||||
workflowOverviewReleaseArtifactUrlWorkflowSummary.rows.find(({ id }) => id === "promotion-candidate-layers")?.value,
|
||||
"evidence-ready=8 inventory-ready=2",
|
||||
"evidence-ready=8 inventory-ready=19",
|
||||
"shell workflow overview release artifact URL workflow candidate layers",
|
||||
);
|
||||
assertEqual(
|
||||
|
||||
@@ -438,7 +438,7 @@
|
||||
preferredGcodePath: "linuxcnc/configs/sim/qtdragon/qtdragon_multi_joint/on_abort.ngc",
|
||||
blockedCandidateIds: [],
|
||||
explicitBrowserDiagnosticsCount: 8,
|
||||
inventoryBaseline: "executed=82 passed=82 skipped=77 unexpected_fail=0",
|
||||
inventoryBaseline: "executed=29 passed=29 skipped=130 unexpected_fail=0",
|
||||
},
|
||||
virtualHalSimConfigMacroLoadFixtures: createVirtualHalSimConfigMacroLoadFixtureReport({
|
||||
manifestEntries: [
|
||||
@@ -664,7 +664,7 @@
|
||||
);
|
||||
assertEqual(
|
||||
releaseArtifactUrlWorkflowSummary.rows.find(({ id }) => id === "promotion-candidate-layers")?.value,
|
||||
"evidence-ready=8 inventory-ready=2",
|
||||
"evidence-ready=8 inventory-ready=19",
|
||||
"workflow overview release artifact URL workflow candidate layers",
|
||||
);
|
||||
assertEqual(
|
||||
@@ -809,7 +809,7 @@
|
||||
);
|
||||
assertEqual(
|
||||
releaseArtifactUrlWorkflowSummary.rows.find(({ id }) => id === "virtual-hal-promotion-candidate-baseline")?.value,
|
||||
"executed=82 passed=82 skipped=77 unexpected_fail=0",
|
||||
"executed=29 passed=29 skipped=130 unexpected_fail=0",
|
||||
"workflow overview release artifact URL workflow candidate baseline",
|
||||
);
|
||||
assertEqual(
|
||||
@@ -985,7 +985,7 @@
|
||||
);
|
||||
assertEqual(
|
||||
workflowDoc.querySelector('[data-workflow-overview-release-readiness-artifact-url-workflow-value="promotion-candidate-layers"]').textContent,
|
||||
"evidence-ready=8 inventory-ready=2",
|
||||
"evidence-ready=8 inventory-ready=19",
|
||||
"workflow overview fixed URL workflow form candidate layer row",
|
||||
);
|
||||
assertEqual(
|
||||
|
||||
@@ -308,8 +308,10 @@
|
||||
if (!wasmNode || !boundary) {
|
||||
throw new Error(`${row.path}: missing browser row proof prerequisite`);
|
||||
}
|
||||
assertEqual(row.native_pass_ready, "1", `${row.path}: native pass prerequisite`);
|
||||
assertEqual(row.wasm_node_pass_ready, "1", `${row.path}: row proof Node prerequisite`);
|
||||
assertEqual(row.execution_enabled, "0", `${row.path}: locked row execution guard`);
|
||||
if (!row.blockers.includes("manual_promotion_lock")) {
|
||||
throw new Error(`${row.path}: manual promotion lock prerequisite missing`);
|
||||
}
|
||||
assertEqual(wasmNode.wasm_node_pass_ready, "1", `${row.path}: Node artifact prerequisite`);
|
||||
assertEqual(wasmNode.proof_status, "wasm_node_row_runtime_bridge_passed", `${row.path}: Node artifact proof status`);
|
||||
assertEqual(boundary.ini, row.ini, `${row.path}: boundary INI drift`);
|
||||
@@ -363,7 +365,7 @@
|
||||
row.path,
|
||||
row.ini,
|
||||
row.family,
|
||||
row.wasm_node_pass_ready,
|
||||
wasmNode.wasm_node_pass_ready,
|
||||
flagValue(start.runtimeExecutionReady),
|
||||
flagValue(planResult.status === "row_runtime_adapter_plan_executed"),
|
||||
flagValue(rowValidation.moduleImportReady),
|
||||
|
||||
@@ -1951,7 +1951,7 @@
|
||||
diagnosticsArtifact.virtualHalPromotionCandidateSummary?.candidateCount !== 8 ||
|
||||
diagnosticsArtifact.virtualHalPromotionCandidateSummary?.readyCandidateCount !== 8 ||
|
||||
diagnosticsArtifact.virtualHalPromotionCandidateSummary?.sourceFileCount !== 17 ||
|
||||
diagnosticsArtifact.virtualHalPromotionCandidateSummary?.inventoryBaseline !== "executed=82 passed=82 skipped=77 unexpected_fail=0" ||
|
||||
diagnosticsArtifact.virtualHalPromotionCandidateSummary?.inventoryBaseline !== "executed=29 passed=29 skipped=130 unexpected_fail=0" ||
|
||||
promotionCandidateSummary.ready !== true ||
|
||||
promotionCandidateSummary.preferredIniPath !== "linuxcnc/configs/sim/qtdragon/qtdragon_multi_joint/qtdragon_xyyz.ini" ||
|
||||
doc.body.dataset.promotionCandidateReady !== "true" ||
|
||||
@@ -2149,8 +2149,8 @@
|
||||
doc.body.dataset.evidenceSessionHandoffExternalShellBadgeSnapshotAction !== "save HAL session" ||
|
||||
doc.body.dataset.evidenceSessionHandoffExternalShellBadgeSnapshotPreflight !== "2/4 ready" ||
|
||||
doc.querySelector('[data-promotion-candidate-summary-value="preferred-candidate"]')?.textContent !== "qtdragon-multi-joint-on-abort" ||
|
||||
doc.querySelector('[data-promotion-candidate-summary-value="candidate-layers"]')?.textContent !== "evidence-ready=8 inventory-ready=2" ||
|
||||
doc.querySelector('[data-promotion-candidate-summary-value="inventory-baseline"]')?.textContent !== "82/82 pass; 77 skip" ||
|
||||
doc.querySelector('[data-promotion-candidate-summary-value="candidate-layers"]')?.textContent !== "evidence-ready=8 inventory-ready=19" ||
|
||||
doc.querySelector('[data-promotion-candidate-summary-value="inventory-baseline"]')?.textContent !== "29/29 pass; 130 skip" ||
|
||||
doc.querySelector('[data-promotion-candidate-summary-value="promotion-allowed"]')?.textContent !== "0 baseline changes" ||
|
||||
doc.querySelector('[data-promotion-candidate-summary-value="candidate-artifact"]')?.textContent !== "promotion-candidates.tsv" ||
|
||||
!diagnosticsArtifact.virtualHalSimConfigPromotionCandidates?.familyRows?.some((row) =>
|
||||
|
||||
@@ -24,7 +24,11 @@ cleanup() {
|
||||
kill "$SERVER_PID" 2>/dev/null || true
|
||||
wait "$SERVER_PID" 2>/dev/null || true
|
||||
fi
|
||||
rm -rf "$TMP_DIR"
|
||||
for _ in $(seq 1 5); do
|
||||
rm -rf "$TMP_DIR" 2>/dev/null && return 0
|
||||
sleep 0.1
|
||||
done
|
||||
rm -rf "$TMP_DIR" 2>/dev/null || true
|
||||
}
|
||||
trap cleanup EXIT
|
||||
|
||||
|
||||
@@ -20,6 +20,8 @@ CHROME_PROFILE="$TMP_DIR/chrome-profile"
|
||||
mkdir -p "$CHROME_PROFILE"
|
||||
ARTIFACT_DIR="${AXIS_SCREENSHOT_ARTIFACT_DIR:-}"
|
||||
FULL_DIAGNOSTICS="${AXIS_SCREENSHOT_FULL_DIAGNOSTICS:-0}"
|
||||
CHROME_SMOKE_TIMEOUT="${AXIS_SCREENSHOT_CHROME_SMOKE_TIMEOUT:-45s}"
|
||||
CHROME_SCREENSHOT_TIMEOUT="${AXIS_SCREENSHOT_CHROME_TIMEOUT:-180s}"
|
||||
if [[ -n "$ARTIFACT_DIR" ]]; then
|
||||
mkdir -p "$ARTIFACT_DIR"
|
||||
fi
|
||||
@@ -70,35 +72,55 @@ run_case() {
|
||||
local size="$2"
|
||||
local query="${3:-}"
|
||||
local out="$TMP_DIR/axis-${name}.dom"
|
||||
local chrome_stderr="$TMP_DIR/axis-${name}.chrome.stderr"
|
||||
local shot="$TMP_DIR/axis-${name}.png"
|
||||
local diagnostics_json="$TMP_DIR/axis-${name}-diagnostics.json"
|
||||
local full_diagnostics_json="$TMP_DIR/axis-${name}-full-diagnostics.json"
|
||||
local screenshot_url="$SCREENSHOT_URL$query"
|
||||
local case_profile="$TMP_DIR/chrome-profile-$name"
|
||||
mkdir -p "$case_profile"
|
||||
|
||||
"$CHROMIUM" \
|
||||
if ! timeout --kill-after=5s "$CHROME_SMOKE_TIMEOUT" "$CHROMIUM" \
|
||||
--headless=new \
|
||||
--disable-gpu \
|
||||
--disable-dev-shm-usage \
|
||||
--disable-background-networking \
|
||||
--disable-extensions \
|
||||
--disable-features=PaintHolding \
|
||||
--no-sandbox \
|
||||
--user-data-dir="$CHROME_PROFILE" \
|
||||
--user-data-dir="$case_profile" \
|
||||
--virtual-time-budget=10000 \
|
||||
--dump-dom \
|
||||
"$SMOKE_URL" >"$out" 2>&1
|
||||
"$SMOKE_URL" >"$out" 2>&1; then
|
||||
echo "AXIS screenshot prerequisite smoke timed out or failed for $name" >&2
|
||||
sed -n '1,260p' "$out" >&2 || true
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! grep -Fq "browser_real_simulation_page_smoke=ok" "$out"; then
|
||||
echo "AXIS screenshot prerequisite smoke failed for $name" >&2
|
||||
sed -n '1,260p' "$out" >&2
|
||||
exit 1
|
||||
fi
|
||||
"$CHROMIUM" \
|
||||
if ! timeout --kill-after=5s "$CHROME_SCREENSHOT_TIMEOUT" "$CHROMIUM" \
|
||||
--headless=new \
|
||||
--disable-gpu \
|
||||
--disable-dev-shm-usage \
|
||||
--disable-background-networking \
|
||||
--disable-extensions \
|
||||
--disable-features=PaintHolding \
|
||||
--run-all-compositor-stages-before-draw \
|
||||
--no-sandbox \
|
||||
--user-data-dir="$CHROME_PROFILE" \
|
||||
--user-data-dir="$case_profile" \
|
||||
--window-size="$size" \
|
||||
--virtual-time-budget=60000 \
|
||||
--screenshot="$shot" \
|
||||
"$screenshot_url" \
|
||||
>/dev/null 2>&1
|
||||
>/dev/null 2>"$chrome_stderr"; then
|
||||
echo "AXIS screenshot capture timed out or failed for $name" >&2
|
||||
sed -n '1,120p' "$chrome_stderr" >&2 || true
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ ! -s "$shot" ]]; then
|
||||
echo "AXIS screenshot output missing for $name" >&2
|
||||
|
||||
Reference in New Issue
Block a user