From aaa2573bba3184aa118fbd1f728324cfaf9ca4b8 Mon Sep 17 00:00:00 2001 From: cnc Date: Wed, 3 Jun 2026 20:57:15 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=82=E8=80=83=E6=89=80=E6=9C=89=E5=88=86?= =?UTF-8?q?=E7=BB=84=EF=BC=8C=E5=AE=8C=E6=88=90=E5=B0=BD=E9=87=8F=E5=A4=9A?= =?UTF-8?q?=E7=9A=84=E5=86=85=E5=AE=B9=E3=80=82=E7=A6=81=E6=AD=A2=E9=A1=BA?= =?UTF-8?q?=E6=89=8B=E6=89=A9=E5=8A=9F=E8=83=BD=20smoke?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 结论:补齐 check-linuxcnc-inputs-cached.sh 的 cache-dir 入口拒绝守卫,锁住缺失 cache-dir 值和空白预检缓存目录,不新增 CNC 行为或 smoke 功能。 --- test-all-native.sh | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/test-all-native.sh b/test-all-native.sh index 4f55b83..c60e18c 100755 --- a/test-all-native.sh +++ b/test-all-native.sh @@ -39,6 +39,8 @@ missing_source_manifest=$(mktemp "${TMPDIR:-/tmp}/cnc_sim_native_syntax_missing_ missing_source_log=$(mktemp "${TMPDIR:-/tmp}/cnc_sim_native_syntax_missing_source.XXXXXX.log") kinematics_unknown_filter_log=$(mktemp "${TMPDIR:-/tmp}/cnc_sim_kinematics_manifest_unknown_filter.XXXXXX.log") kinematics_unknown_output_log=$(mktemp "${TMPDIR:-/tmp}/cnc_sim_kinematics_manifest_unknown_output.XXXXXX.log") +inputs_cached_missing_cache_dir_log=$(mktemp "${TMPDIR:-/tmp}/cnc_sim_inputs_cached_missing_cache_dir.XXXXXX.log") +inputs_cached_whitespace_cache_dir_log=$(mktemp "${TMPDIR:-/tmp}/cnc_sim_inputs_cached_whitespace_cache_dir.XXXXXX.log") switchkins_checker_unknown_option_log=$(mktemp "${TMPDIR:-/tmp}/cnc_sim_switchkins_checker_unknown_option.XXXXXX.log") switchkins_checker_too_many_args_log=$(mktemp "${TMPDIR:-/tmp}/cnc_sim_switchkins_checker_too_many_args.XXXXXX.log") switchkins_cached_missing_cache_dir_log=$(mktemp "${TMPDIR:-/tmp}/cnc_sim_switchkins_cached_missing_cache_dir.XXXXXX.log") @@ -95,6 +97,8 @@ cleanup_native_test_temps() { "$missing_source_log" \ "$kinematics_unknown_filter_log" \ "$kinematics_unknown_output_log" \ + "$inputs_cached_missing_cache_dir_log" \ + "$inputs_cached_whitespace_cache_dir_log" \ "$switchkins_checker_unknown_option_log" \ "$switchkins_checker_too_many_args_log" \ "$switchkins_cached_missing_cache_dir_log" \ @@ -248,6 +252,8 @@ for forbidden_manual_cleanup in \ 'rm -f "$missing_source_manifest" "$missing_source_log"' \ 'rm -f "$kinematics_unknown_filter_log"' \ 'rm -f "$kinematics_unknown_output_log"' \ + 'rm -f "$inputs_cached_missing_cache_dir_log"' \ + 'rm -f "$inputs_cached_whitespace_cache_dir_log"' \ 'rm -f "$switchkins_checker_unknown_option_log"' \ 'rm -f "$switchkins_checker_too_many_args_log"' \ 'rm -f "$switchkins_cached_missing_cache_dir_log"' \ @@ -1382,6 +1388,26 @@ if ! grep -F "too many switchkins remap table checker arguments" "$switchkins_ch sed -n '1,20p' "$switchkins_checker_too_many_args_log" >&2 exit 1 fi +if ./check-linuxcnc-inputs-cached.sh --cache-dir >"$inputs_cached_missing_cache_dir_log" 2>&1; then + echo "cached LinuxCNC input checker accepted --cache-dir without a value" >&2 + exit 1 +fi +if ! grep -F "missing --cache-dir value" "$inputs_cached_missing_cache_dir_log" >/dev/null; then + echo "cached LinuxCNC input checker did not report missing cache-dir values clearly" >&2 + sed -n '1,20p' "$inputs_cached_missing_cache_dir_log" >&2 + exit 1 +fi +if ./check-linuxcnc-inputs-cached.sh --cache-dir "build/input cache" \ + linuxcnc-rs274-source-files.txt >"$inputs_cached_whitespace_cache_dir_log" 2>&1; then + echo "cached LinuxCNC input checker accepted whitespace in cache dir" >&2 + exit 1 +fi +if ! grep -F "CNC_SIM_PREFLIGHT_CACHE_DIR must not contain whitespace: build/input cache" \ + "$inputs_cached_whitespace_cache_dir_log" >/dev/null; then + echo "cached LinuxCNC input checker did not report whitespace cache dirs clearly" >&2 + sed -n '1,20p' "$inputs_cached_whitespace_cache_dir_log" >&2 + exit 1 +fi if ./check-linuxcnc-switchkins-remap-table-cached.sh --cache-dir >"$switchkins_cached_missing_cache_dir_log" 2>&1; then echo "cached switchkins remap table checker accepted --cache-dir without a value" >&2 exit 1