补齐 switchkins 输出路径检查

This commit is contained in:
cnc
2026-06-05 22:46:15 +08:00
parent 71c61fca84
commit a3daa829fc

View File

@@ -381,6 +381,7 @@ validate_generator_cli_contract() {
local cli_manifest_without_remap local cli_manifest_without_remap
local cli_manifest_without_tooldata local cli_manifest_without_tooldata
local cli_output_root_log local cli_output_root_log
local cli_output_file_log
local cli_output_whitespace_log local cli_output_whitespace_log
cli_dir=$(mktemp -d "${TMPDIR:-/tmp}/linuxcnc_switchkins_remap_cli.XXXXXX") cli_dir=$(mktemp -d "${TMPDIR:-/tmp}/linuxcnc_switchkins_remap_cli.XXXXXX")
trap 'rm -rf "$cli_dir"' EXIT trap 'rm -rf "$cli_dir"' EXIT
@@ -411,6 +412,7 @@ validate_generator_cli_contract() {
cli_manifest_without_remap="$cli_dir/bridgemill-manifest-without-remap.txt" cli_manifest_without_remap="$cli_dir/bridgemill-manifest-without-remap.txt"
cli_manifest_without_tooldata="$cli_dir/bridgemill-manifest-without-tooldata.txt" cli_manifest_without_tooldata="$cli_dir/bridgemill-manifest-without-tooldata.txt"
cli_output_root_log="$cli_dir/output-root.log" cli_output_root_log="$cli_dir/output-root.log"
cli_output_file_log="$cli_dir/output-file.log"
cli_output_whitespace_log="$cli_dir/output-whitespace.log" cli_output_whitespace_log="$cli_dir/output-whitespace.log"
if ! awk -F: -v manifest="$manifest_file" ' if ! awk -F: -v manifest="$manifest_file" '
@@ -769,6 +771,18 @@ validate_generator_cli_contract() {
sed -n '1,20p' "$cli_output_root_log" >&2 sed -n '1,20p' "$cli_output_root_log" >&2
exit 1 exit 1
fi fi
printf 'not a directory\n' >"$cli_dir/output-file"
if LINUXCNC_ROOT="$linuxcnc_root" ./generate-linuxcnc-switchkins-remap-table.sh \
--all-output-dir "$cli_dir/output-file" "$cli_manifest" >"$cli_output_file_log" 2>&1; then
echo "switchkins remap generator accepted a file as output directory" >&2
exit 1
fi
if ! grep -F "switchkins remap output path is not a directory: $cli_dir/output-file" \
"$cli_output_file_log" >/dev/null; then
echo "switchkins remap generator did not report file output paths clearly" >&2
sed -n '1,20p' "$cli_output_file_log" >&2
exit 1
fi
LINUXCNC_ROOT="$linuxcnc_root" ./generate-linuxcnc-switchkins-remap-table.sh --all-output-dir "$cli_dir/out" "$cli_manifest" LINUXCNC_ROOT="$linuxcnc_root" ./generate-linuxcnc-switchkins-remap-table.sh --all-output-dir "$cli_dir/out" "$cli_manifest"
LINUXCNC_ROOT="$linuxcnc_root" ./generate-linuxcnc-switchkins-remap-table.sh "$cli_manifest" \ LINUXCNC_ROOT="$linuxcnc_root" ./generate-linuxcnc-switchkins-remap-table.sh "$cli_manifest" \