From 158fd343c641d5cfc8597e453a81e275db6ca478 Mon Sep 17 00:00:00 2001 From: cnc Date: Tue, 2 Jun 2026 09:09:33 +0800 Subject: [PATCH] Complete native tooldata manifest coverage --- linuxcnc-rs274-source-files.txt | 2 ++ test-native.sh | 11 +++++++++++ 2 files changed, 13 insertions(+) diff --git a/linuxcnc-rs274-source-files.txt b/linuxcnc-rs274-source-files.txt index 757b9e2..f326ce0 100644 --- a/linuxcnc-rs274-source-files.txt +++ b/linuxcnc-rs274-source-files.txt @@ -35,6 +35,8 @@ tooldata:src/emc/tooldata/tooldata_common.cc:shared tool table parser/format log tooldata:src/emc/tooldata/tooldata_mmap.cc:native mmap implementation; replace for wasm tooldata:src/emc/tooldata/tooldata_db.cc:external database integration; exclude from wasm core tooldata:src/emc/tooldata/tooldata_nml.cc:NML tool table backend selected by LinuxCNC TOOL_NML_FLAG +tooldata:src/emc/tooldata/tool_mmap_read.cc:LinuxCNC tooldata mmap reader utility source from tooldata Submakefile +tooldata:src/emc/tooldata/tool_watch.cc:LinuxCNC tooldata watcher utility source from tooldata Submakefile header:src/emc/rs274ngc/array1.hh:LinuxCNC rs274 header tracked for full interpreter source coverage header:src/emc/rs274ngc/boost_pyenum_macros.hh:LinuxCNC rs274 Boost.Python enum helper header header:src/emc/rs274ngc/interp_array_types.hh:LinuxCNC rs274 block array type definitions diff --git a/test-native.sh b/test-native.sh index 2b38bf3..875e871 100755 --- a/test-native.sh +++ b/test-native.sh @@ -36,8 +36,19 @@ preflight_cache_dir="$build_dir/preflight-cache" ./check-linuxcnc-inputs-cached.sh --cache-dir "$preflight_cache_dir" linuxcnc-kinematics-source-files.txt --require-kinematics-complete ./check-linuxcnc-switchkins-remap-table-cached.sh --cache-dir "$preflight_cache_dir" linuxcnc-kinematics-source-files.txt grep -F 'tooldata:src/emc/tooldata/tooldata_nml.cc:NML tool table backend selected by LinuxCNC TOOL_NML_FLAG' linuxcnc-rs274-source-files.txt >/dev/null +grep -F 'tooldata:src/emc/tooldata/tool_mmap_read.cc:LinuxCNC tooldata mmap reader utility source from tooldata Submakefile' linuxcnc-rs274-source-files.txt >/dev/null +grep -F 'tooldata:src/emc/tooldata/tool_watch.cc:LinuxCNC tooldata watcher utility source from tooldata Submakefile' linuxcnc-rs274-source-files.txt >/dev/null grep -F 'header:src/emc/tooldata/tooldata.hh:LinuxCNC tooldata declarations used by RS274 and wasm-safe tooldata shims' linuxcnc-rs274-source-files.txt >/dev/null grep -F 'metadata:src/emc/tooldata/Submakefile:LinuxCNC tooldata build metadata defining mmap and NML backend source selection' linuxcnc-rs274-source-files.txt >/dev/null +linuxcnc_root=${LINUXCNC_ROOT:-../linuxcnc} +linuxcnc_root=$(cd "$linuxcnc_root" && pwd) +tooldata_manifest_entries=$(./list-linuxcnc-source-manifest-sources.sh linuxcnc-rs274-source-files.txt all | grep '^src/emc/tooldata/' | sort) +tooldata_source_entries=$(find "$linuxcnc_root/src/emc/tooldata" -maxdepth 1 -type f -printf 'src/emc/tooldata/%f\n' | sort) +if ! diff -u <(printf '%s\n' "$tooldata_source_entries") <(printf '%s\n' "$tooldata_manifest_entries") >/dev/null; then + echo "native rs274 manifest no longer covers the full LinuxCNC tooldata source directory" >&2 + diff -u <(printf '%s\n' "$tooldata_source_entries") <(printf '%s\n' "$tooldata_manifest_entries") >&2 || true + exit 1 +fi grep -F 'metadata:src/emc/tooldata/tooldata_db.cc:source basis for wasm-safe tooldata runtime export shim' linuxcnc-rs274-wasm-source-files.txt >/dev/null grep -F 'metadata:src/emc/tooldata/tooldata_nml.cc:source basis for wasm-safe tooldata runtime NML export shim' linuxcnc-rs274-wasm-source-files.txt >/dev/null grep -F '#include "linuxcnc_switchkins_remap_table.inc"' core/src/cnc_sim_api.cpp >/dev/null