按推荐建议,继续执行

结论:新增 source-probes.tsv 映射并在 native 验证中比对 source-manifest,确保每个 vendored LinuxCNC .c/.cc 源文件都有显式 standalone 源码编译探针。
This commit is contained in:
2026-06-07 18:28:35 +08:00
parent 1729e4a5c9
commit e776020b08
3 changed files with 59 additions and 0 deletions

View File

@@ -12,6 +12,46 @@ NAMEDPARAM_INI_FIXTURE="$ROOT_DIR/tests/fixtures/ini/namedparams.ini"
"$ROOT_DIR/tools/verify_vendor_sync.sh"
"$ROOT_DIR/tools/build_native_probes.sh"
check_source_probe_coverage() {
local manifest_sources="$BUILD_DIR/source-manifest-sources.sorted"
local probe_sources="$BUILD_DIR/source-probe-sources.sorted"
local duplicate_probe_sources="$BUILD_DIR/source-probe-sources.duplicates"
awk '
/^[[:space:]]*($|#)/ { next }
/\.(c|cc)$/ { print }
' "$ROOT_DIR/tools/source-manifest.txt" | sort > "$manifest_sources"
if [[ ! -f "$BUILD_DIR/source-probes.tsv" ]]; then
echo "missing source probe map: $BUILD_DIR/source-probes.tsv" >&2
exit 1
fi
cut -f1 "$BUILD_DIR/source-probes.tsv" | sort > "$probe_sources"
uniq -d "$probe_sources" > "$duplicate_probe_sources"
if [[ -s "$duplicate_probe_sources" ]]; then
echo "duplicate source probe entries:" >&2
cat "$duplicate_probe_sources" >&2
exit 1
fi
local missing_sources
missing_sources="$(comm -23 "$manifest_sources" "$probe_sources")"
if [[ -n "$missing_sources" ]]; then
echo "manifest source files without source probes:" >&2
printf '%s\n' "$missing_sources" >&2
exit 1
fi
local extra_sources
extra_sources="$(comm -13 "$manifest_sources" "$probe_sources")"
if [[ -n "$extra_sources" ]]; then
echo "source probes not listed in manifest:" >&2
printf '%s\n' "$extra_sources" >&2
exit 1
fi
}
check_exitcode() {
local name="$1"
local file="$BUILD_DIR/$name.exitcode"
@@ -32,6 +72,7 @@ check_exitcode() {
fi
}
check_source_probe_coverage
check_exitcode linuxcnc_interp_state_probe
check_exitcode linuxcnc_inifile_source_probe
check_exitcode linuxcnc_tp_api_probe