diff --git a/check-linuxcnc-browser-app-source-map.sh b/check-linuxcnc-browser-app-source-map.sh new file mode 100755 index 0000000..bb54b39 --- /dev/null +++ b/check-linuxcnc-browser-app-source-map.sh @@ -0,0 +1,102 @@ +#!/usr/bin/env bash +set -euo pipefail + +cd "$(dirname "$0")" + +# LinuxCNC source basis: this guard ties the browser app entry point to +# LinuxCNC RS274 parameter-file defaults, rs274ngc_pre.cc restore/save/read +# file semantics, and the existing OPFS-backed wasm-core bridge. It validates +# app integration policy only; it does not add CNC behavior or expand smoke +# parsing. +linuxcnc_root=${LINUXCNC_ROOT:-../linuxcnc} +linuxcnc_root=$(cd "$linuxcnc_root" && pwd) + +grep -F '#define RS274NGC_PARAMETER_FILE_NAME_DEFAULT "rs274ngc.var"' \ + "$linuxcnc_root/src/emc/rs274ngc/interp_internal.hh" >/dev/null +grep -F '#define RS274NGC_PARAMETER_FILE_BACKUP_SUFFIX ".bak"' \ + "$linuxcnc_root/src/emc/rs274ngc/interp_internal.hh" >/dev/null +grep -F 'int Interp::restore_parameters(const char *filename)' \ + "$linuxcnc_root/src/emc/rs274ngc/rs274ngc_pre.cc" >/dev/null +grep -F 'int Interp::save_parameters(const char *filename,' \ + "$linuxcnc_root/src/emc/rs274ngc/rs274ngc_pre.cc" >/dev/null +grep -F 'std::string tempfile = std::string(filename) + ".new";' \ + "$linuxcnc_root/src/emc/rs274ngc/rs274ngc_pre.cc" >/dev/null +grep -F '+ RS274NGC_PARAMETER_FILE_BACKUP_SUFFIX;' \ + "$linuxcnc_root/src/emc/rs274ngc/rs274ngc_pre.cc" >/dev/null +grep -F 'read_text(command, _setup.file_pointer, _setup.linetext,' \ + "$linuxcnc_root/src/emc/rs274ngc/rs274ngc_pre.cc" >/dev/null + +grep -F 'LinuxCNC browser app source map' docs/linuxcnc-browser-app-source-map.md >/dev/null +grep -F 'must not add CNC behavior' docs/linuxcnc-browser-app-source-map.md >/dev/null +grep -F 'must not expand the temporary smoke parser' docs/linuxcnc-browser-app-source-map.md >/dev/null +grep -F '`RS274NGC_PARAMETER_FILE_NAME_DEFAULT` as `rs274ngc.var`' \ + docs/linuxcnc-browser-app-source-map.md >/dev/null +grep -F '`parseFileWithParameterFile(programPath, parameterPath, "linuxcnc", ...)`' \ + docs/linuxcnc-browser-app-source-map.md >/dev/null + +grep -F '' web/index.html >/dev/null +grep -F '' web/index.html >/dev/null +if [[ "$(grep -Fc '