参考所有分组,完成尽量多的内容:收紧tooldata source-map边界守卫

This commit is contained in:
cnc
2026-06-05 07:10:30 +08:00
parent 29197b25cc
commit b170ccd95a
2 changed files with 17 additions and 1 deletions

View File

@@ -6,7 +6,7 @@ cd "$(dirname "$0")"
# LinuxCNC source basis: this guard ties LinuxCNC tooldata/Submakefile, # LinuxCNC source basis: this guard ties LinuxCNC tooldata/Submakefile,
# src/emc/tooldata sources, native/WASM manifests, and wasm-safe tooldata shims # src/emc/tooldata sources, native/WASM manifests, and wasm-safe tooldata shims
# to the tooldata source map. It validates source coverage only; it does not # to the tooldata source map. It validates source coverage only; it does not
# add CNC behavior or expand smoke parsing. # add CNC behavior, expand smoke parsing, or interpret G-code.
linuxcnc_root=${LINUXCNC_ROOT:-../linuxcnc} linuxcnc_root=${LINUXCNC_ROOT:-../linuxcnc}
linuxcnc_root=$(cd "$linuxcnc_root" && pwd) linuxcnc_root=$(cd "$linuxcnc_root" && pwd)
@@ -179,7 +179,17 @@ for phrase in [
"WASM-safe tooldata shims must preserve the LinuxCNC export surface", "WASM-safe tooldata shims must preserve the LinuxCNC export surface",
"inactive-DB return values", "inactive-DB return values",
"./check-linuxcnc-tooldata-source-map.sh", "./check-linuxcnc-tooldata-source-map.sh",
"does not interpret G-code",
]: ]:
if phrase not in doc: if phrase not in doc:
raise SystemExit(f"docs/linuxcnc-tooldata-source-map.md missing boundary phrase: {phrase}") raise SystemExit(f"docs/linuxcnc-tooldata-source-map.md missing boundary phrase: {phrase}")
for entry in [
"test-native.sh",
"test-linuxcnc-source-link.sh",
"build-wasm.sh",
]:
text = Path(entry).read_text(encoding="utf-8")
if "./check-linuxcnc-tooldata-source-map.sh" not in text:
raise SystemExit(f"{entry} must run ./check-linuxcnc-tooldata-source-map.sh")
PY PY

View File

@@ -49,6 +49,11 @@ source-link/shim guard only; it must not add CNC behavior and must not expand th
source directory tracked in the native RS274 manifest. source directory tracked in the native RS274 manifest.
- `build-wasm.sh` must run tooldata link and symbol probes before copying - `build-wasm.sh` must run tooldata link and symbol probes before copying
browser artifacts. browser artifacts.
- `test-native.sh`, `test-linuxcnc-source-link.sh`, and `build-wasm.sh` must
run `./check-linuxcnc-tooldata-source-map.sh` before consuming tooldata-backed
native objects, source-linked LinuxCNC objects, or browser artifacts.
- The tooldata source-map guard validates LinuxCNC source/shim ownership and
manifest drift only; it does not interpret G-code.
## Checks ## Checks
@@ -58,6 +63,7 @@ Run:
./check-linuxcnc-tooldata-source-map.sh ./check-linuxcnc-tooldata-source-map.sh
./test-native.sh ./test-native.sh
./test-linuxcnc-source-link.sh ./test-linuxcnc-source-link.sh
./build-wasm.sh
``` ```
`check-linuxcnc-tooldata-source-map.sh` keeps this document, LinuxCNC tooldata `check-linuxcnc-tooldata-source-map.sh` keeps this document, LinuxCNC tooldata