参考所有分组,完成尽量多的内容。禁止顺手扩功能 smoke:锁定WASM阻塞替换集合
This commit is contained in:
@@ -102,22 +102,38 @@ if sections.get("dlopen") != ["(none)"]:
|
||||
if sections.get("tooldata-users") != ["(none)"]:
|
||||
raise SystemExit("blocked tooldata-users section is no longer empty")
|
||||
|
||||
required_entries = [
|
||||
required_tracked_entries = [
|
||||
"src/emc/rs274ngc/gcodemodule.cc",
|
||||
"src/emc/rs274ngc/interpmodule.cc",
|
||||
"src/emc/tooldata/tooldata_mmap.cc",
|
||||
"src/emc/rs274ngc/interp_base.cc",
|
||||
"src/emc/rs274ngc/interp_o_word.cc",
|
||||
"src/emc/rs274ngc/rs274ngc_pre.cc",
|
||||
"src/emc/tooldata/tooldata_mmap.cc -> core/wasm_shims/tooldata/tooldata_mmap_backend.cc",
|
||||
"src/emc/rs274ngc/gcodemodule.cc -> core/wasm_shims/linuxcnc_runtime_shim.cc",
|
||||
"src/emc/rs274ngc/pyparamclass.cc -> core/wasm_shims/python_c_api_shim.cc",
|
||||
]
|
||||
for entry in required_entries:
|
||||
required_replacements = [
|
||||
"src/emc/rs274ngc/canonmodule.cc -> core/wasm_shims/linuxcnc_runtime_shim.cc",
|
||||
"src/emc/rs274ngc/gcodemodule.cc -> core/wasm_shims/linuxcnc_runtime_shim.cc",
|
||||
"src/emc/rs274ngc/interpmodule.cc -> core/wasm_shims/linuxcnc_runtime_shim.cc",
|
||||
"src/emc/rs274ngc/pyarrays.cc -> core/wasm_shims/python_c_api_shim.cc",
|
||||
"src/emc/rs274ngc/pyblock.cc -> core/wasm_shims/python_c_api_shim.cc",
|
||||
"src/emc/rs274ngc/pyemctypes.cc -> core/wasm_shims/python_c_api_shim.cc",
|
||||
"src/emc/rs274ngc/pyinterp1.cc -> core/wasm_shims/python_c_api_shim.cc",
|
||||
"src/emc/rs274ngc/pyparamclass.cc -> core/wasm_shims/python_c_api_shim.cc",
|
||||
"src/emc/tooldata/tooldata_mmap.cc -> core/wasm_shims/tooldata/tooldata_mmap_backend.cc",
|
||||
]
|
||||
for entry in required_tracked_entries:
|
||||
if entry not in output:
|
||||
raise SystemExit(f"WASM blocker analyzer output missing required entry: {entry}")
|
||||
if entry not in source_map:
|
||||
raise SystemExit(f"docs/linuxcnc-wasm-blockers-source-map.md missing required entry: {entry}")
|
||||
replacement_entries = [entry for entry in sections.get("blocked-replacements", []) if entry != "(none)"]
|
||||
if replacement_entries != required_replacements:
|
||||
raise SystemExit(f"WASM blocker replacement set changed: {replacement_entries}")
|
||||
if "Required replacement set:" not in source_map:
|
||||
raise SystemExit("docs/linuxcnc-wasm-blockers-source-map.md must document the complete replacement set")
|
||||
for entry in required_replacements:
|
||||
if entry not in source_map:
|
||||
raise SystemExit(f"docs/linuxcnc-wasm-blockers-source-map.md missing required replacement: {entry}")
|
||||
|
||||
shim_paths = set(Path(line).as_posix() for line in subprocess.check_output(
|
||||
["./list-linuxcnc-wasm-safe-shims.sh"],
|
||||
|
||||
@@ -46,11 +46,17 @@ a source-link/build guard only; it does not add CNC behavior and must not become
|
||||
| `core-tooldata-users-shimmed` | 2 | Core RS274/NML users of tooldata declarations. |
|
||||
| `core-native-fs-shimmed` | 16 | Core sources with native filesystem includes or calls covered by WASM shims. |
|
||||
|
||||
Required replacement examples:
|
||||
Required replacement set:
|
||||
|
||||
- `src/emc/tooldata/tooldata_mmap.cc -> core/wasm_shims/tooldata/tooldata_mmap_backend.cc`
|
||||
- `src/emc/rs274ngc/canonmodule.cc -> core/wasm_shims/linuxcnc_runtime_shim.cc`
|
||||
- `src/emc/rs274ngc/gcodemodule.cc -> core/wasm_shims/linuxcnc_runtime_shim.cc`
|
||||
- `src/emc/rs274ngc/interpmodule.cc -> core/wasm_shims/linuxcnc_runtime_shim.cc`
|
||||
- `src/emc/rs274ngc/pyarrays.cc -> core/wasm_shims/python_c_api_shim.cc`
|
||||
- `src/emc/rs274ngc/pyblock.cc -> core/wasm_shims/python_c_api_shim.cc`
|
||||
- `src/emc/rs274ngc/pyemctypes.cc -> core/wasm_shims/python_c_api_shim.cc`
|
||||
- `src/emc/rs274ngc/pyinterp1.cc -> core/wasm_shims/python_c_api_shim.cc`
|
||||
- `src/emc/rs274ngc/pyparamclass.cc -> core/wasm_shims/python_c_api_shim.cc`
|
||||
- `src/emc/tooldata/tooldata_mmap.cc -> core/wasm_shims/tooldata/tooldata_mmap_backend.cc`
|
||||
|
||||
Required tracked core examples:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user