参考所有分组:补编号参数 native 覆盖,测试通过
This commit is contained in:
@@ -656,6 +656,41 @@ INI_FILE_NAME="$ini_named_parameter_file" CNC_SIM_RS274_FILE_MODE=1 CNC_SIM_RS27
|
||||
# Source basis: LinuxCNC src/emc/rs274ngc/interp_namedparams.cc lookup_named_param()
|
||||
# and init_readonly_param() expose modal/unit/feed/spindle readonly parameters.
|
||||
CNC_SIM_RS274_FILE_MODE=1 CNC_SIM_RS274_VAR="$var_file" "$build_dir/linuxcnc_rs274_dump" tests/gcode/linuxcnc_readonly_named_parameters.ngc >"$output_dir/cnc_sim_linuxcnc_readonly_named_parameters.json"
|
||||
# Source basis: LinuxCNC src/emc/rs274ngc/interp_array.cc defines
|
||||
# required/readonly numbered parameters; interp_internal.cc set_probe_data()
|
||||
# and interp_convert.cc update probe, tool, G28/G30, G92, G5X, and current
|
||||
# position numbered parameters.
|
||||
cp "$base_var_file" "$var_file"
|
||||
CNC_SIM_RS274_FILE_MODE=1 CNC_SIM_RS274_VAR="$var_file" "$build_dir/linuxcnc_rs274_dump" tests/gcode/linuxcnc_numbered_parameters.ngc >"$output_dir/cnc_sim_linuxcnc_numbered_parameters.json"
|
||||
CNC_SIM_RS274_FILE_MODE=1 CNC_SIM_RS274_VAR="$var_file" "$build_dir/linuxcnc_rs274_dump" tests/gcode/linuxcnc_rotary_probe_numbered_parameters.ngc >"$output_dir/cnc_sim_linuxcnc_rotary_probe_numbered_parameters.json"
|
||||
CNC_SIM_RS274_FILE_MODE=1 CNC_SIM_RS274_VAR="$var_file" "$build_dir/linuxcnc_rs274_dump" tests/gcode/linuxcnc_multi_rotary_probe_numbered_parameters.ngc >"$output_dir/cnc_sim_linuxcnc_multi_rotary_probe_numbered_parameters.json"
|
||||
CNC_SIM_RS274_FILE_MODE=1 CNC_SIM_RS274_VAR="$var_file" "$build_dir/linuxcnc_rs274_dump" tests/gcode/linuxcnc_tool_info_zero_parameter.ngc >"$output_dir/cnc_sim_linuxcnc_tool_info_zero_parameter.json"
|
||||
CNC_SIM_TOOL_IN_SPINDLE=1 CNC_SIM_RS274_FILE_MODE=1 CNC_SIM_RS274_VAR="$var_file" "$build_dir/linuxcnc_rs274_dump" tests/gcode/linuxcnc_spindle_tool_info_parameter.ngc >"$output_dir/cnc_sim_linuxcnc_spindle_tool_info_parameter.json"
|
||||
if CNC_SIM_RS274_FILE_MODE=1 CNC_SIM_RS274_VAR="$var_file" \
|
||||
"$build_dir/linuxcnc_rs274_dump" tests/gcode/linuxcnc_readonly_numbered_parameter_assign_error.ngc \
|
||||
>"$output_dir/cnc_sim_linuxcnc_readonly_numbered_parameter_assign_error.json" 2>"$output_dir/cnc_sim_linuxcnc_readonly_numbered_parameter_assign_error.err"; then
|
||||
echo "expected linuxcnc_readonly_numbered_parameter_assign_error.ngc to fail" >&2
|
||||
exit 1
|
||||
fi
|
||||
grep -Fq "Parameter is readonly" \
|
||||
"$output_dir/cnc_sim_linuxcnc_readonly_numbered_parameter_assign_error.err"
|
||||
CNC_SIM_RS274_FILE_MODE=1 CNC_SIM_RS274_VAR="$var_file" "$build_dir/linuxcnc_rs274_dump" tests/gcode/linuxcnc_g28_g30_numbered_parameters.ngc >"$output_dir/cnc_sim_linuxcnc_g28_g30_numbered_parameters.json"
|
||||
CNC_SIM_RS274_FILE_MODE=1 CNC_SIM_RS274_VAR="$var_file" "$build_dir/linuxcnc_rs274_dump" tests/gcode/linuxcnc_rotary_g28_g30_numbered_parameters.ngc >"$output_dir/cnc_sim_linuxcnc_rotary_g28_g30_numbered_parameters.json"
|
||||
CNC_SIM_RS274_FILE_MODE=1 CNC_SIM_RS274_VAR="$var_file" "$build_dir/linuxcnc_rs274_dump" tests/gcode/linuxcnc_g92_numbered_parameters.ngc >"$output_dir/cnc_sim_linuxcnc_g92_numbered_parameters.json"
|
||||
CNC_SIM_RS274_FILE_MODE=1 CNC_SIM_RS274_VAR="$var_file" "$build_dir/linuxcnc_rs274_dump" tests/gcode/linuxcnc_rotary_g92_numbered_parameters.ngc >"$output_dir/cnc_sim_linuxcnc_rotary_g92_numbered_parameters.json"
|
||||
CNC_SIM_RS274_FILE_MODE=1 CNC_SIM_RS274_VAR="$var_file" "$build_dir/linuxcnc_rs274_dump" tests/gcode/linuxcnc_g52_g92_numbered_interaction.ngc >"$output_dir/cnc_sim_linuxcnc_g52_g92_numbered_interaction.json"
|
||||
CNC_SIM_RS274_FILE_MODE=1 CNC_SIM_RS274_VAR="$var_file" "$build_dir/linuxcnc_rs274_dump" tests/gcode/linuxcnc_g5x_numbered_parameters.ngc >"$output_dir/cnc_sim_linuxcnc_g5x_numbered_parameters.json"
|
||||
CNC_SIM_RS274_FILE_MODE=1 CNC_SIM_RS274_VAR="$var_file" "$build_dir/linuxcnc_rs274_dump" tests/gcode/linuxcnc_g59_3_numbered_parameters.ngc >"$output_dir/cnc_sim_linuxcnc_g59_3_numbered_parameters.json"
|
||||
CNC_SIM_RS274_FILE_MODE=1 CNC_SIM_RS274_VAR="$var_file" "$build_dir/linuxcnc_rs274_dump" tests/gcode/linuxcnc_g59_3_rotary_numbered_parameters.ngc >"$output_dir/cnc_sim_linuxcnc_g59_3_rotary_numbered_parameters.json"
|
||||
CNC_SIM_RS274_FILE_MODE=1 CNC_SIM_RS274_VAR="$var_file" "$build_dir/linuxcnc_rs274_dump" tests/gcode/linuxcnc_g5x_rotary_numbered_parameters.ngc >"$output_dir/cnc_sim_linuxcnc_g5x_rotary_numbered_parameters.json"
|
||||
CNC_SIM_RS274_FILE_MODE=1 CNC_SIM_RS274_VAR="$var_file" "$build_dir/linuxcnc_rs274_dump" tests/gcode/linuxcnc_g54_rotary_numbered_parameters.ngc >"$output_dir/cnc_sim_linuxcnc_g54_rotary_numbered_parameters.json"
|
||||
CNC_SIM_RS274_FILE_MODE=1 CNC_SIM_RS274_VAR="$var_file" "$build_dir/linuxcnc_rs274_dump" tests/gcode/linuxcnc_debug_level_parameter.ngc >"$output_dir/cnc_sim_linuxcnc_debug_level_parameter.json"
|
||||
CNC_SIM_RS274_FILE_MODE=1 CNC_SIM_RS274_VAR="$var_file" "$build_dir/linuxcnc_rs274_dump" tests/gcode/linuxcnc_m66_result_parameter.ngc >"$output_dir/cnc_sim_linuxcnc_m66_result_parameter.json"
|
||||
cp "$base_var_file" "$var_file"
|
||||
CNC_SIM_RS274_FILE_MODE=1 CNC_SIM_RS274_VAR="$var_file" "$build_dir/linuxcnc_rs274_dump" tests/gcode/linuxcnc_tool_offset_numbered_parameters.ngc >"$output_dir/cnc_sim_linuxcnc_tool_offset_numbered_parameters.json"
|
||||
CNC_SIM_RS274_FILE_MODE=1 CNC_SIM_RS274_VAR="$var_file" "$build_dir/linuxcnc_rs274_dump" tests/gcode/linuxcnc_rotary_tool_offset_numbered_parameters.ngc >"$output_dir/cnc_sim_linuxcnc_rotary_tool_offset_numbered_parameters.json"
|
||||
CNC_SIM_RS274_FILE_MODE=1 CNC_SIM_RS274_VAR="$var_file" "$build_dir/linuxcnc_rs274_dump" tests/gcode/linuxcnc_current_position_numbered_parameters.ngc >"$output_dir/cnc_sim_linuxcnc_current_position_numbered_parameters.json"
|
||||
cp "$base_var_file" "$var_file"
|
||||
# Source basis: LinuxCNC src/emc/rs274ngc/interp_read.cc
|
||||
# read_parameter_setting(), read_parameter(), read_real_value(),
|
||||
# read_atan(), read_unary(), and read_operation() reject malformed
|
||||
@@ -1880,6 +1915,241 @@ expected_readonly_moves = [
|
||||
if readonly_moves != expected_readonly_moves:
|
||||
raise SystemExit(f"unexpected LinuxCNC readonly named parameter motions: {readonly_moves!r}")
|
||||
|
||||
numbered_parameters = load("cnc_sim_linuxcnc_numbered_parameters.json")
|
||||
if not any(
|
||||
event["type"] == "linear-feed" and
|
||||
event["line"] == 6 and
|
||||
event["end"]["x"] == 1
|
||||
for event in numbered_parameters
|
||||
):
|
||||
raise SystemExit("missing LinuxCNC numbered tool/position parameter branch motion")
|
||||
if not any(
|
||||
event["type"] == "linear-feed" and
|
||||
event["line"] == 10 and
|
||||
event["end"]["y"] == 1
|
||||
for event in numbered_parameters
|
||||
):
|
||||
raise SystemExit("missing LinuxCNC numbered probe parameter branch motion")
|
||||
|
||||
rotary_probe_numbered = load("cnc_sim_linuxcnc_rotary_probe_numbered_parameters.json")
|
||||
if not any(
|
||||
event["type"] == "linear-feed" and
|
||||
event["line"] == 5 and
|
||||
event["end"]["x"] == 1 and
|
||||
event["end"]["a"] == 5
|
||||
for event in rotary_probe_numbered
|
||||
):
|
||||
raise SystemExit("missing LinuxCNC numbered rotary probe parameter branch motion")
|
||||
|
||||
multi_rotary_probe_numbered = load("cnc_sim_linuxcnc_multi_rotary_probe_numbered_parameters.json")
|
||||
if not any(
|
||||
event["type"] == "linear-feed" and
|
||||
event["line"] == 5 and
|
||||
event["end"]["x"] == 1 and
|
||||
event["end"]["a"] == 5 and
|
||||
event["end"]["b"] == 6 and
|
||||
event["end"]["c"] == 7 and
|
||||
event["end"]["u"] == 8 and
|
||||
event["end"]["v"] == 9 and
|
||||
event["end"]["w"] == 10
|
||||
for event in multi_rotary_probe_numbered
|
||||
):
|
||||
raise SystemExit("missing LinuxCNC numbered multi-axis rotary probe parameter branch motion")
|
||||
|
||||
tool_info_zero_parameter = load("cnc_sim_linuxcnc_tool_info_zero_parameter.json")
|
||||
if not any(
|
||||
event["type"] == "linear-feed" and
|
||||
event["line"] == 5 and
|
||||
event["end"]["x"] == 1
|
||||
for event in tool_info_zero_parameter
|
||||
):
|
||||
raise SystemExit("missing LinuxCNC zeroed #5400/#5410/#5411/#5412/#5413 branch motion")
|
||||
|
||||
spindle_tool_info_parameter = load("cnc_sim_linuxcnc_spindle_tool_info_parameter.json")
|
||||
if not any(
|
||||
event["type"] == "linear-feed" and
|
||||
event["line"] == 4 and
|
||||
event["end"]["x"] == 1
|
||||
for event in spindle_tool_info_parameter
|
||||
):
|
||||
raise SystemExit("missing LinuxCNC preloaded spindle-tool #5400/#5410/#5411/#5412/#5413 branch motion")
|
||||
|
||||
g28_g30_numbered = load("cnc_sim_linuxcnc_g28_g30_numbered_parameters.json")
|
||||
if not any(
|
||||
event["type"] == "linear-feed" and
|
||||
event["line"] == 7 and
|
||||
event["end"]["x"] == 10
|
||||
for event in g28_g30_numbered
|
||||
):
|
||||
raise SystemExit("missing LinuxCNC G28/G30 numbered parameter branch motion")
|
||||
|
||||
rotary_g28_g30_numbered = load("cnc_sim_linuxcnc_rotary_g28_g30_numbered_parameters.json")
|
||||
if not any(
|
||||
event["type"] == "linear-feed" and
|
||||
event["line"] == 7 and
|
||||
event["end"]["x"] == 1 and
|
||||
event["end"]["a"] == 7 and
|
||||
event["end"]["b"] == 8 and
|
||||
event["end"]["c"] == 9 and
|
||||
event["end"]["u"] == 10 and
|
||||
event["end"]["v"] == 11 and
|
||||
event["end"]["w"] == 12
|
||||
for event in rotary_g28_g30_numbered
|
||||
):
|
||||
raise SystemExit("missing LinuxCNC rotary G28/G30 numbered parameter branch motion")
|
||||
|
||||
g92_numbered = load("cnc_sim_linuxcnc_g92_numbered_parameters.json")
|
||||
if not any(
|
||||
event["type"] == "linear-feed" and
|
||||
event["line"] == 4 and
|
||||
event["end"]["x"] == 1
|
||||
for event in g92_numbered
|
||||
):
|
||||
raise SystemExit("missing LinuxCNC G92 numbered parameter branch motion")
|
||||
|
||||
rotary_g92_numbered = load("cnc_sim_linuxcnc_rotary_g92_numbered_parameters.json")
|
||||
if not any(
|
||||
event["type"] == "linear-feed" and
|
||||
event["line"] == 4 and
|
||||
event["end"]["x"] == 1
|
||||
for event in rotary_g92_numbered
|
||||
):
|
||||
raise SystemExit("missing LinuxCNC rotary G92 numbered parameter branch motion")
|
||||
|
||||
g52_g92_numbered = load("cnc_sim_linuxcnc_g52_g92_numbered_interaction.json")
|
||||
if not any(
|
||||
event["type"] == "linear-feed" and
|
||||
event["line"] == 6 and
|
||||
event["end"]["x"] == 1
|
||||
for event in g52_g92_numbered
|
||||
):
|
||||
raise SystemExit("missing LinuxCNC G52 X0 Y0 #5210/#5211/#5212 branch motion")
|
||||
|
||||
g5x_numbered = load("cnc_sim_linuxcnc_g5x_numbered_parameters.json")
|
||||
if not any(
|
||||
event["type"] == "linear-feed" and
|
||||
event["line"] == 5 and
|
||||
event["end"]["x"] == 1
|
||||
for event in g5x_numbered
|
||||
):
|
||||
raise SystemExit("missing LinuxCNC G5X numbered parameter branch motion")
|
||||
|
||||
g593_numbered = load("cnc_sim_linuxcnc_g59_3_numbered_parameters.json")
|
||||
if not any(
|
||||
event["type"] == "linear-feed" and
|
||||
event["line"] == 5 and
|
||||
event["end"]["x"] == 1
|
||||
for event in g593_numbered
|
||||
):
|
||||
raise SystemExit("missing LinuxCNC G59.3 numbered parameter branch motion")
|
||||
|
||||
g593_rotary_numbered = load("cnc_sim_linuxcnc_g59_3_rotary_numbered_parameters.json")
|
||||
if not any(
|
||||
event["type"] == "linear-feed" and
|
||||
event["line"] == 5 and
|
||||
event["end"]["x"] == 1
|
||||
for event in g593_rotary_numbered
|
||||
):
|
||||
raise SystemExit("missing LinuxCNC rotary G59.3 numbered parameter branch motion")
|
||||
|
||||
g5x_rotary_numbered = load("cnc_sim_linuxcnc_g5x_rotary_numbered_parameters.json")
|
||||
if not any(
|
||||
event["type"] == "linear-feed" and
|
||||
event["line"] == 5 and
|
||||
event["end"]["x"] == 1
|
||||
for event in g5x_rotary_numbered
|
||||
):
|
||||
raise SystemExit("missing LinuxCNC rotary G5X numbered parameter branch motion")
|
||||
|
||||
g54_rotary_numbered = load("cnc_sim_linuxcnc_g54_rotary_numbered_parameters.json")
|
||||
if not any(
|
||||
event["type"] == "linear-feed" and
|
||||
event["line"] == 4 and
|
||||
event["end"]["x"] == 1
|
||||
for event in g54_rotary_numbered
|
||||
):
|
||||
raise SystemExit("missing LinuxCNC rotary G54 numbered parameter branch motion")
|
||||
|
||||
debug_level_parameter = load("cnc_sim_linuxcnc_debug_level_parameter.json")
|
||||
if not any(
|
||||
event["type"] == "linear-feed" and
|
||||
event["line"] == 3 and
|
||||
event["end"]["x"] == 1
|
||||
for event in debug_level_parameter
|
||||
):
|
||||
raise SystemExit("missing LinuxCNC #5599 enabled debug-level branch motion")
|
||||
if not any(
|
||||
event["type"] == "linear-feed" and
|
||||
event["line"] == 8 and
|
||||
event["end"]["y"] == 1
|
||||
for event in debug_level_parameter
|
||||
):
|
||||
raise SystemExit("missing LinuxCNC #5599 disabled debug-level branch motion")
|
||||
if any(
|
||||
event["type"] == "comment" and event["line"] in {5, 10}
|
||||
for event in debug_level_parameter
|
||||
):
|
||||
raise SystemExit("unexpected LinuxCNC generic comment event for DEBUG hot comment")
|
||||
|
||||
m66_result_parameter = load("cnc_sim_linuxcnc_m66_result_parameter.json")
|
||||
if not any(
|
||||
event["type"] == "linear-feed" and
|
||||
event["line"] == 4 and
|
||||
event["end"]["x"] == 1
|
||||
for event in m66_result_parameter
|
||||
):
|
||||
raise SystemExit("missing LinuxCNC #5399 digital M66 result branch motion")
|
||||
if not any(
|
||||
event["type"] == "linear-feed" and
|
||||
event["line"] == 9 and
|
||||
event["end"]["y"] == 1
|
||||
for event in m66_result_parameter
|
||||
):
|
||||
raise SystemExit("missing LinuxCNC #5399 analog M66 result branch motion")
|
||||
|
||||
tool_offset_numbered = load("cnc_sim_linuxcnc_tool_offset_numbered_parameters.json")
|
||||
if not any(
|
||||
event["type"] == "linear-feed" and
|
||||
event["line"] == 4 and
|
||||
event["end"]["x"] == -1 and
|
||||
event["end"]["y"] == 1 and
|
||||
event["end"]["z"] == -2
|
||||
for event in tool_offset_numbered
|
||||
):
|
||||
raise SystemExit("missing LinuxCNC numbered tool-offset/current-position parameter branch motion")
|
||||
|
||||
rotary_tool_offset_numbered = load("cnc_sim_linuxcnc_rotary_tool_offset_numbered_parameters.json")
|
||||
if not any(
|
||||
event["type"] == "linear-feed" and
|
||||
event["line"] == 4 and
|
||||
event["end"]["x"] == 1 and
|
||||
event["end"]["a"] == -1 and
|
||||
event["end"]["b"] == -2 and
|
||||
event["end"]["c"] == -3 and
|
||||
event["end"]["u"] == -4 and
|
||||
event["end"]["v"] == -5 and
|
||||
event["end"]["w"] == -6
|
||||
for event in rotary_tool_offset_numbered
|
||||
):
|
||||
raise SystemExit("missing LinuxCNC numbered rotary tool-offset/current-position parameter branch motion")
|
||||
|
||||
current_position_numbered = load("cnc_sim_linuxcnc_current_position_numbered_parameters.json")
|
||||
if not any(
|
||||
event["type"] == "linear-feed" and
|
||||
event["line"] == 5 and
|
||||
event["end"]["x"] == 10 and
|
||||
event["end"]["y"] == 2 and
|
||||
event["end"]["z"] == 3 and
|
||||
event["end"]["a"] == 4 and
|
||||
event["end"]["b"] == 5 and
|
||||
event["end"]["c"] == 6 and
|
||||
event["end"]["u"] == 7 and
|
||||
event["end"]["v"] == 8 and
|
||||
event["end"]["w"] == 9
|
||||
for event in current_position_numbered
|
||||
):
|
||||
raise SystemExit("missing LinuxCNC numbered current-position parameter branch motion")
|
||||
|
||||
coords = load("cnc_sim_linuxcnc_coordinate_offsets.json")
|
||||
g5x = [event for event in coords if event["type"] == "set-g5x-offset"]
|
||||
g92 = [event for event in coords if event["type"] == "set-g92-offset"]
|
||||
@@ -2038,6 +2308,26 @@ echo "dumped $output_dir/cnc_sim_linuxcnc_indexed_parameters.json"
|
||||
echo "dumped $output_dir/cnc_sim_linuxcnc_named_parameter_normalization.json"
|
||||
echo "dumped $output_dir/cnc_sim_linuxcnc_ini_named_parameter.json"
|
||||
echo "dumped $output_dir/cnc_sim_linuxcnc_readonly_named_parameters.json"
|
||||
echo "dumped $output_dir/cnc_sim_linuxcnc_numbered_parameters.json"
|
||||
echo "dumped $output_dir/cnc_sim_linuxcnc_rotary_probe_numbered_parameters.json"
|
||||
echo "dumped $output_dir/cnc_sim_linuxcnc_multi_rotary_probe_numbered_parameters.json"
|
||||
echo "dumped $output_dir/cnc_sim_linuxcnc_tool_info_zero_parameter.json"
|
||||
echo "dumped $output_dir/cnc_sim_linuxcnc_spindle_tool_info_parameter.json"
|
||||
echo "dumped $output_dir/cnc_sim_linuxcnc_g28_g30_numbered_parameters.json"
|
||||
echo "dumped $output_dir/cnc_sim_linuxcnc_rotary_g28_g30_numbered_parameters.json"
|
||||
echo "dumped $output_dir/cnc_sim_linuxcnc_g92_numbered_parameters.json"
|
||||
echo "dumped $output_dir/cnc_sim_linuxcnc_rotary_g92_numbered_parameters.json"
|
||||
echo "dumped $output_dir/cnc_sim_linuxcnc_g52_g92_numbered_interaction.json"
|
||||
echo "dumped $output_dir/cnc_sim_linuxcnc_g5x_numbered_parameters.json"
|
||||
echo "dumped $output_dir/cnc_sim_linuxcnc_g59_3_numbered_parameters.json"
|
||||
echo "dumped $output_dir/cnc_sim_linuxcnc_g59_3_rotary_numbered_parameters.json"
|
||||
echo "dumped $output_dir/cnc_sim_linuxcnc_g5x_rotary_numbered_parameters.json"
|
||||
echo "dumped $output_dir/cnc_sim_linuxcnc_g54_rotary_numbered_parameters.json"
|
||||
echo "dumped $output_dir/cnc_sim_linuxcnc_debug_level_parameter.json"
|
||||
echo "dumped $output_dir/cnc_sim_linuxcnc_m66_result_parameter.json"
|
||||
echo "dumped $output_dir/cnc_sim_linuxcnc_tool_offset_numbered_parameters.json"
|
||||
echo "dumped $output_dir/cnc_sim_linuxcnc_rotary_tool_offset_numbered_parameters.json"
|
||||
echo "dumped $output_dir/cnc_sim_linuxcnc_current_position_numbered_parameters.json"
|
||||
echo "dumped $output_dir/cnc_sim_linuxcnc_coordinate_offsets.json"
|
||||
echo "dumped $output_dir/cnc_sim_linuxcnc_coordinate_l20.json"
|
||||
echo "dumped $output_dir/cnc_sim_linuxcnc_coordinate_p0.json"
|
||||
|
||||
Reference in New Issue
Block a user