参考所有分组,完成尽量多的内容。禁止顺手扩功能 smoke
结论:按 align-linuxcnc 约束增强 kinematics manifest lister 的 all-native 守卫,覆盖 asset/tooldata/generated 分组、full 输出以及未知 filter/output 负例;只收紧源清单约束,不扩展 smoke 行为。 源依据:linuxcnc-kinematics-source-files.txt 中由 ../linuxcnc/configs/sim、src/hal/user_comps、src/objects/hal/components 等 LinuxCNC 源/生成源组成的 kinematics、switchkins、TOOL_TABLE 覆盖。 验证:CNC_SIM_ALL_NATIVE_GUARDRAILS_ONLY=1 ./test-all-native.sh 通过;./test-native.sh 通过;./test-linuxcnc-source-link.sh 通过。
This commit is contained in:
@@ -31,6 +31,8 @@ missing_bridge_source_log=$(mktemp "${TMPDIR:-/tmp}/cnc_sim_missing_bridge_smoke
|
||||
missing_support_object_log=$(mktemp "${TMPDIR:-/tmp}/cnc_sim_missing_linuxcnc_support_object.XXXXXX.log")
|
||||
missing_source_manifest=$(mktemp "${TMPDIR:-/tmp}/cnc_sim_native_syntax_missing_source_manifest.XXXXXX.txt")
|
||||
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")
|
||||
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")
|
||||
@@ -58,6 +60,8 @@ cleanup_native_test_temps() {
|
||||
"$missing_support_object_log" \
|
||||
"$missing_source_manifest" \
|
||||
"$missing_source_log" \
|
||||
"$kinematics_unknown_filter_log" \
|
||||
"$kinematics_unknown_output_log" \
|
||||
"$bad_line_manifest" \
|
||||
"$bad_line_log" \
|
||||
"$absolute_source_manifest" \
|
||||
@@ -161,6 +165,8 @@ for forbidden_manual_cleanup in \
|
||||
'rm -f "$missing_bridge_source_log"' \
|
||||
'rm -f "$missing_support_object_log"' \
|
||||
'rm -f "$missing_source_manifest" "$missing_source_log"' \
|
||||
'rm -f "$kinematics_unknown_filter_log"' \
|
||||
'rm -f "$kinematics_unknown_output_log"' \
|
||||
'rm -f "$bad_line_manifest" "$bad_line_log"' \
|
||||
'rm -f "$absolute_source_manifest" "$absolute_source_log"' \
|
||||
'rm -f "$invalid_build_jobs_log"' \
|
||||
@@ -1051,6 +1057,42 @@ kinematics_manifest_config=$(./list-linuxcnc-kinematics-manifest-sources.sh linu
|
||||
grep -Fx "configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt.ini" <<<"$kinematics_manifest_config" >/dev/null
|
||||
grep -Fx "configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc-trt.ini" <<<"$kinematics_manifest_config" >/dev/null
|
||||
grep -Fx "configs/sim/axis/vismach/puma/puma560_dh.hal" <<<"$kinematics_manifest_config" >/dev/null
|
||||
kinematics_manifest_asset=$(./list-linuxcnc-kinematics-manifest-sources.sh linuxcnc-kinematics-source-files.txt asset)
|
||||
grep -Fx "configs/sim/axis/vismach/5axis/bridgemill/README" <<<"$kinematics_manifest_asset" >/dev/null
|
||||
grep -Fx "src/hal/user_comps/vismach/5axisgui.py" <<<"$kinematics_manifest_asset" >/dev/null
|
||||
grep -Fx "share/qtvcp/panels/vismach_scara/vismach_scara.ui" <<<"$kinematics_manifest_asset" >/dev/null
|
||||
kinematics_manifest_tooldata=$(./list-linuxcnc-kinematics-manifest-sources.sh linuxcnc-kinematics-source-files.txt tooldata)
|
||||
grep -Fx "configs/sim/axis/vismach/5axis/bridgemill/5axis.tbl" <<<"$kinematics_manifest_tooldata" >/dev/null
|
||||
grep -Fx "configs/sim/axis/vismach/millturn/millturn.tbl" <<<"$kinematics_manifest_tooldata" >/dev/null
|
||||
grep -Fx "configs/sim/qtaxis/non-trivial/scara/scara.tbl" <<<"$kinematics_manifest_tooldata" >/dev/null
|
||||
if [[ "$(grep -Ec '\.tbl$' <<<"$kinematics_manifest_tooldata")" -ne 10 ]]; then
|
||||
echo "all-native guardrail expected all LinuxCNC switchkins TOOL_TABLE tooldata sources" >&2
|
||||
exit 1
|
||||
fi
|
||||
kinematics_manifest_generated=$(./list-linuxcnc-kinematics-manifest-sources.sh linuxcnc-kinematics-source-files.txt generated)
|
||||
grep -Fx "src/objects/hal/components/xyzab_tdr_kins.c" <<<"$kinematics_manifest_generated" >/dev/null
|
||||
grep -Fx "src/objects/hal/components/xyzacb_trsrn.c" <<<"$kinematics_manifest_generated" >/dev/null
|
||||
grep -Fx "src/objects/hal/components/xyzbca_trsrn.c" <<<"$kinematics_manifest_generated" >/dev/null
|
||||
kinematics_manifest_config_full=$(LINUXCNC_ROOT="$linuxcnc_root" ./list-linuxcnc-kinematics-manifest-sources.sh linuxcnc-kinematics-source-files.txt config full)
|
||||
grep -Fx "$linuxcnc_root_full/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt.ini" <<<"$kinematics_manifest_config_full" >/dev/null
|
||||
if ./list-linuxcnc-kinematics-manifest-sources.sh linuxcnc-kinematics-source-files.txt bogus >"$kinematics_unknown_filter_log" 2>&1; then
|
||||
echo "kinematics manifest source lister accepted unknown filter" >&2
|
||||
exit 1
|
||||
fi
|
||||
if ! grep -F "unknown manifest source filter: bogus" "$kinematics_unknown_filter_log" >/dev/null; then
|
||||
echo "kinematics manifest source lister did not report unknown filter clearly" >&2
|
||||
sed -n '1,20p' "$kinematics_unknown_filter_log" >&2
|
||||
exit 1
|
||||
fi
|
||||
if ./list-linuxcnc-kinematics-manifest-sources.sh linuxcnc-kinematics-source-files.txt config bogus >"$kinematics_unknown_output_log" 2>&1; then
|
||||
echo "kinematics manifest source lister accepted unknown output mode" >&2
|
||||
exit 1
|
||||
fi
|
||||
if ! grep -F "unknown manifest source output mode: bogus" "$kinematics_unknown_output_log" >/dev/null; then
|
||||
echo "kinematics manifest source lister did not report unknown output mode clearly" >&2
|
||||
sed -n '1,20p' "$kinematics_unknown_output_log" >&2
|
||||
exit 1
|
||||
fi
|
||||
kinematics_manifest_metadata=$(./list-linuxcnc-kinematics-manifest-sources.sh linuxcnc-kinematics-source-files.txt metadata)
|
||||
grep -Fx "src/objects/man/man9/corexy_by_hal.9.adoc" <<<"$kinematics_manifest_metadata" >/dev/null
|
||||
grep -Fx "src/objects/man/man9/gantry.9.adoc" <<<"$kinematics_manifest_metadata" >/dev/null
|
||||
|
||||
Reference in New Issue
Block a user