参考所有分组,完成尽量多的内容:收紧 wasm blocker manifest 校验
结论:wasm blocker 分析器现在与 manifest 输入校验一致拒绝缺少 note 或字段数量异常的坏行,并在 blocker self-check 中覆盖该负向路径;未扩展 smoke 功能。
This commit is contained in:
@@ -43,11 +43,13 @@ missing_source_manifest=$(mktemp "${TMPDIR:-/tmp}/cnc_sim_missing_wasm_blocker_m
|
||||
missing_source_log=$(mktemp "${TMPDIR:-/tmp}/cnc_sim_missing_wasm_blocker_manifest_source.XXXXXX.log")
|
||||
duplicate_manifest=$(mktemp "${TMPDIR:-/tmp}/cnc_sim_duplicate_wasm_blocker_manifest.XXXXXX.txt")
|
||||
duplicate_manifest_log=$(mktemp "${TMPDIR:-/tmp}/cnc_sim_duplicate_wasm_blocker_manifest.XXXXXX.log")
|
||||
bad_line_manifest=$(mktemp "${TMPDIR:-/tmp}/cnc_sim_bad_wasm_blocker_manifest_line.XXXXXX.txt")
|
||||
bad_line_log=$(mktemp "${TMPDIR:-/tmp}/cnc_sim_bad_wasm_blocker_manifest_line.XXXXXX.log")
|
||||
missing_replacement_manifest=$(mktemp "${TMPDIR:-/tmp}/cnc_sim_missing_wasm_blocked_replacement.XXXXXX.txt")
|
||||
missing_replacement_log=$(mktemp "${TMPDIR:-/tmp}/cnc_sim_missing_wasm_blocked_replacement.XXXXXX.log")
|
||||
trap 'rm -f "$missing_manifest" "$missing_manifest_log" "$missing_root_log" "$missing_source_manifest" "$missing_source_log" "$duplicate_manifest" "$duplicate_manifest_log" "$missing_replacement_manifest" "$missing_replacement_log"' EXIT
|
||||
trap 'rm -f "$missing_manifest" "$missing_manifest_log" "$missing_root_log" "$missing_source_manifest" "$missing_source_log" "$duplicate_manifest" "$duplicate_manifest_log" "$bad_line_manifest" "$bad_line_log" "$missing_replacement_manifest" "$missing_replacement_log"' EXIT
|
||||
if ! awk '
|
||||
/^trap '\''rm -f "\$missing_manifest" "\$missing_manifest_log" "\$missing_root_log" "\$missing_source_manifest" "\$missing_source_log" "\$duplicate_manifest" "\$duplicate_manifest_log" "\$missing_replacement_manifest" "\$missing_replacement_log"'\'' EXIT$/ { found_trap = 1 }
|
||||
/^trap '\''rm -f "\$missing_manifest" "\$missing_manifest_log" "\$missing_root_log" "\$missing_source_manifest" "\$missing_source_log" "\$duplicate_manifest" "\$duplicate_manifest_log" "\$bad_line_manifest" "\$bad_line_log" "\$missing_replacement_manifest" "\$missing_replacement_log"'\'' EXIT$/ { found_trap = 1 }
|
||||
END { exit !found_trap }
|
||||
' test-linuxcnc-wasm-blockers.sh; then
|
||||
echo "wasm blocker scan cleanup trap no longer covers fixed blocker temporaries" >&2
|
||||
@@ -106,6 +108,17 @@ if ! grep -F "duplicate manifest source: src/emc/rs274ngc/interp_arc.cc" "$dupli
|
||||
exit 1
|
||||
fi
|
||||
|
||||
printf 'core:src/emc/rs274ngc/interp_arc.cc\n' >"$bad_line_manifest"
|
||||
if ./analyze-linuxcnc-wasm-blockers.sh "$bad_line_manifest" >"$bad_line_log" 2>&1; then
|
||||
echo "wasm blocker analyzer accepted bad manifest line" >&2
|
||||
exit 1
|
||||
fi
|
||||
if ! grep -F "bad manifest line 1: core:src/emc/rs274ngc/interp_arc.cc" "$bad_line_log" >/dev/null; then
|
||||
echo "wasm blocker analyzer did not report bad manifest line clearly" >&2
|
||||
sed -n '1,20p' "$bad_line_log" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cat >"$missing_replacement_manifest" <<'EOF'
|
||||
core:src/emc/rs274ngc/interp_arc.cc:core entry
|
||||
blocked:src/emc/tooldata/tooldata_db.cc:blocked entry without wasm replacement
|
||||
|
||||
Reference in New Issue
Block a user