按推荐建议,继续执行
结论:新增 source-probes.tsv 映射并在 native 验证中比对 source-manifest,确保每个 vendored LinuxCNC .c/.cc 源文件都有显式 standalone 源码编译探针。
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user