参考所有分组,完成尽量多的内容。禁止顺手扩功能 smoke
结论:补齐 Puma560 DH 参数生成器的可执行入口和 LinuxCNC-root 相对 HAL 源约束,锁住 puma560_dh.hal 中 genserkins DH 值到生成输出的映射,不新增 CNC 行为或 smoke 功能。
This commit is contained in:
@@ -47,6 +47,10 @@ switchkins_generator_unknown_option_log=$(mktemp "${TMPDIR:-/tmp}/cnc_sim_switch
|
||||
switchkins_generator_missing_output_dir_log=$(mktemp "${TMPDIR:-/tmp}/cnc_sim_switchkins_generator_missing_output_dir.XXXXXX.log")
|
||||
switchkins_generator_too_many_args_log=$(mktemp "${TMPDIR:-/tmp}/cnc_sim_switchkins_generator_too_many_args.XXXXXX.log")
|
||||
switchkins_generator_whitespace_output_dir_log=$(mktemp "${TMPDIR:-/tmp}/cnc_sim_switchkins_generator_whitespace_output_dir.XXXXXX.log")
|
||||
puma560_dh_unknown_option_log=$(mktemp "${TMPDIR:-/tmp}/cnc_sim_puma560_dh_unknown_option.XXXXXX.log")
|
||||
puma560_dh_too_many_args_log=$(mktemp "${TMPDIR:-/tmp}/cnc_sim_puma560_dh_too_many_args.XXXXXX.log")
|
||||
puma560_dh_escaped_source_log=$(mktemp "${TMPDIR:-/tmp}/cnc_sim_puma560_dh_escaped_source.XXXXXX.log")
|
||||
puma560_dh_non_hal_source_log=$(mktemp "${TMPDIR:-/tmp}/cnc_sim_puma560_dh_non_hal_source.XXXXXX.log")
|
||||
bad_line_manifest=$(mktemp "${TMPDIR:-/tmp}/cnc_sim_bad_manifest_line.XXXXXX.txt")
|
||||
bad_line_log=$(mktemp "${TMPDIR:-/tmp}/cnc_sim_bad_manifest_line.XXXXXX.log")
|
||||
absolute_source_manifest=$(mktemp "${TMPDIR:-/tmp}/cnc_sim_absolute_manifest_source.XXXXXX.txt")
|
||||
@@ -92,6 +96,10 @@ cleanup_native_test_temps() {
|
||||
"$switchkins_generator_missing_output_dir_log" \
|
||||
"$switchkins_generator_too_many_args_log" \
|
||||
"$switchkins_generator_whitespace_output_dir_log" \
|
||||
"$puma560_dh_unknown_option_log" \
|
||||
"$puma560_dh_too_many_args_log" \
|
||||
"$puma560_dh_escaped_source_log" \
|
||||
"$puma560_dh_non_hal_source_log" \
|
||||
"$bad_line_manifest" \
|
||||
"$bad_line_log" \
|
||||
"$absolute_source_manifest" \
|
||||
@@ -120,6 +128,12 @@ grep -F 'LinuxCNC source basis: cached switchkins/remap validation hashes the Li
|
||||
grep -F 'LinuxCNC source basis: generated switchkins/remap tables are extracted from' generate-linuxcnc-switchkins-remap-table.sh >/dev/null
|
||||
grep -F 'LINUXCNC_ROOT="$linuxcnc_root" ./check-linuxcnc-inputs-cached.sh "$manifest"' generate-linuxcnc-switchkins-remap-table.sh >/dev/null
|
||||
grep -F 'LinuxCNC source basis: Puma560 DH parameter output is generated from' generate-linuxcnc-puma560-dh-parameters.sh >/dev/null
|
||||
test -x generate-linuxcnc-puma560-dh-parameters.sh
|
||||
grep -F 'usage: $0 [linuxcnc-root-relative-puma560-dh-hal]' generate-linuxcnc-puma560-dh-parameters.sh >/dev/null
|
||||
grep -F 'unknown LinuxCNC puma560 DH generator option: $1' generate-linuxcnc-puma560-dh-parameters.sh >/dev/null
|
||||
grep -F 'too many LinuxCNC puma560 DH generator arguments' generate-linuxcnc-puma560-dh-parameters.sh >/dev/null
|
||||
grep -F 'LinuxCNC puma560 DH HAL source path must stay LinuxCNC-root relative: $source_path' generate-linuxcnc-puma560-dh-parameters.sh >/dev/null
|
||||
grep -F 'LinuxCNC puma560 DH source must be a HAL file: $source_path' generate-linuxcnc-puma560-dh-parameters.sh >/dev/null
|
||||
grep -F 'LinuxCNC source basis: all-native guardrails lock source-backed manifests' test-all-native.sh >/dev/null
|
||||
test -x check-linuxcnc-inputs-cached.sh
|
||||
grep -F 'CNC_SIM_PREFLIGHT_CACHE_DIR' check-linuxcnc-inputs-cached.sh >/dev/null
|
||||
@@ -221,6 +235,10 @@ for forbidden_manual_cleanup in \
|
||||
'rm -f "$switchkins_generator_missing_output_dir_log"' \
|
||||
'rm -f "$switchkins_generator_too_many_args_log"' \
|
||||
'rm -f "$switchkins_generator_whitespace_output_dir_log"' \
|
||||
'rm -f "$puma560_dh_unknown_option_log"' \
|
||||
'rm -f "$puma560_dh_too_many_args_log"' \
|
||||
'rm -f "$puma560_dh_escaped_source_log"' \
|
||||
'rm -f "$puma560_dh_non_hal_source_log"' \
|
||||
'rm -f "$bad_line_manifest" "$bad_line_log"' \
|
||||
'rm -f "$absolute_source_manifest" "$absolute_source_log"' \
|
||||
'rm -f "$invalid_build_jobs_log"' \
|
||||
@@ -1408,6 +1426,51 @@ grep -Fx "HALCMD = setp xyzac-trt-kins.conventional-directions 0" "$linuxcnc_roo
|
||||
grep -Fx "setp genserkins.A-2 17" "$linuxcnc_root/configs/sim/axis/vismach/puma/puma560_dh.hal" >/dev/null
|
||||
grep -Fx "setp genserkins.ALPHA-4 -1.570796326" "$linuxcnc_root/configs/sim/axis/vismach/puma/puma560_dh.hal" >/dev/null
|
||||
grep -Fx "setp genserkins.D-0 26.45" "$linuxcnc_root/configs/sim/axis/vismach/puma/puma560_dh.hal" >/dev/null
|
||||
puma560_dh_output=$(LINUXCNC_ROOT="$linuxcnc_root" ./generate-linuxcnc-puma560-dh-parameters.sh)
|
||||
grep -Fx " parameters.a[2] = 17;" <<<"$puma560_dh_output" >/dev/null
|
||||
grep -Fx " parameters.alpha[4] = -1.570796326;" <<<"$puma560_dh_output" >/dev/null
|
||||
grep -Fx " parameters.d[0] = 26.45;" <<<"$puma560_dh_output" >/dev/null
|
||||
if ./generate-linuxcnc-puma560-dh-parameters.sh --unknown >"$puma560_dh_unknown_option_log" 2>&1; then
|
||||
echo "Puma560 DH generator accepted an unknown option" >&2
|
||||
exit 1
|
||||
fi
|
||||
if ! grep -F "unknown LinuxCNC puma560 DH generator option: --unknown" "$puma560_dh_unknown_option_log" >/dev/null; then
|
||||
echo "Puma560 DH generator did not report unknown options clearly" >&2
|
||||
sed -n '1,20p' "$puma560_dh_unknown_option_log" >&2
|
||||
exit 1
|
||||
fi
|
||||
if ./generate-linuxcnc-puma560-dh-parameters.sh \
|
||||
configs/sim/axis/vismach/puma/puma560_dh.hal extra >"$puma560_dh_too_many_args_log" 2>&1; then
|
||||
echo "Puma560 DH generator accepted too many arguments" >&2
|
||||
exit 1
|
||||
fi
|
||||
if ! grep -F "too many LinuxCNC puma560 DH generator arguments" "$puma560_dh_too_many_args_log" >/dev/null; then
|
||||
echo "Puma560 DH generator did not report too many arguments clearly" >&2
|
||||
sed -n '1,20p' "$puma560_dh_too_many_args_log" >&2
|
||||
exit 1
|
||||
fi
|
||||
if ./generate-linuxcnc-puma560-dh-parameters.sh \
|
||||
../configs/sim/axis/vismach/puma/puma560_dh.hal >"$puma560_dh_escaped_source_log" 2>&1; then
|
||||
echo "Puma560 DH generator accepted an escaped LinuxCNC source path" >&2
|
||||
exit 1
|
||||
fi
|
||||
if ! grep -F "LinuxCNC puma560 DH HAL source path must stay LinuxCNC-root relative: ../configs/sim/axis/vismach/puma/puma560_dh.hal" \
|
||||
"$puma560_dh_escaped_source_log" >/dev/null; then
|
||||
echo "Puma560 DH generator did not report escaped source paths clearly" >&2
|
||||
sed -n '1,20p' "$puma560_dh_escaped_source_log" >&2
|
||||
exit 1
|
||||
fi
|
||||
if ./generate-linuxcnc-puma560-dh-parameters.sh \
|
||||
configs/sim/axis/vismach/puma/puma560.ini >"$puma560_dh_non_hal_source_log" 2>&1; then
|
||||
echo "Puma560 DH generator accepted a non-HAL source path" >&2
|
||||
exit 1
|
||||
fi
|
||||
if ! grep -F "LinuxCNC puma560 DH source must be a HAL file: configs/sim/axis/vismach/puma/puma560.ini" \
|
||||
"$puma560_dh_non_hal_source_log" >/dev/null; then
|
||||
echo "Puma560 DH generator did not report non-HAL source paths clearly" >&2
|
||||
sed -n '1,20p' "$puma560_dh_non_hal_source_log" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
./list-linuxcnc-rs274-dump-project-sources.sh >/dev/null
|
||||
rs274_dump_source=$(./list-linuxcnc-rs274-dump-project-sources.sh linuxcnc_rs274_dump.cpp)
|
||||
|
||||
Reference in New Issue
Block a user