按建议继续完成后续工作

结论:upstream rs274 side-by-side 基线已继续扩展到 file-open reset 和 O-word subroutine fixture;完整 native 验证已通过。
This commit is contained in:
2026-06-07 22:48:01 +08:00
parent 40f8103c94
commit fc3dd447e9
4 changed files with 19 additions and 7 deletions

View File

@@ -110,9 +110,10 @@ machine-session validation remain future work.
The current fixture expectations validate standalone behavior against both the
vendored LinuxCNC source path and an upstream `rs274` side-by-side baseline for
parser/conversion, offsets, feed-control, comment/logging, numbered-parameter,
spindle-orient, file-finish, and tool-reload fixtures. Fixtures that depend on
standalone-only runtime adapters, HAL/INI/tool table setup, or richer machine
session state still need dedicated native LinuxCNC baselines.
spindle-orient, file-open reset, file-finish, tool-reload, and O-word
subroutine fixtures. Fixtures that depend on standalone-only runtime adapters,
HAL/INI/tool table setup, or richer machine session state still need dedicated
native LinuxCNC baselines.
The kinematics probes currently cover LinuxCNC identity/trivial kinematics,
the switchable `5axiskins` XYZBCW bridge-mill model, and the TRT `xyzac`/`xyzbc`

View File

@@ -68,8 +68,8 @@ semantic rewrites:
- Fixture expectations are checked against the standalone vendored source
path. The upstream `rs274` side-by-side baseline now covers simple motion,
offsets, feed-control, comment/logging, numbered-parameter, spindle-orient,
file-finish, and tool-reload fixtures; adapter-heavy fixtures still need
dedicated native LinuxCNC baselines.
file-open reset, file-finish, tool-reload, and O-word subroutine fixtures;
adapter-heavy fixtures still need dedicated native LinuxCNC baselines.
## Current Drift Conclusion

View File

@@ -506,7 +506,8 @@ Current verified progress:
side-by-side baseline against upstream `../linuxcnc/bin/rs274`. It normalizes
native LinuxCNC canonical output for simple motion, offsets, feed-control,
comment/logging, numbered-parameter, spindle-orient, file-finish, and
tool-reload fixtures, filters native output to the event classes each
tool-reload fixtures. It now also includes file-open reset and O-word
subroutine fixture coverage, filters native output to the event classes each
standalone fixture explicitly expects, and compares the result without
introducing a project-authored CNC semantics oracle.
- `tests/fixtures/gcode_errors/g1_zero_feed.ngc` and

View File

@@ -12,11 +12,13 @@ FIXTURES=(
coordinate_offsets
cutter_comp_motion
feed_control_modes
file_open_reset
g53_machine_coordinates
length_units
plane_selection
modal_incremental
numbered_params
oword_subroutine
percent_file_finish
position_params
spindle_orient
@@ -37,10 +39,15 @@ normalize_standalone_events() {
return sprintf("%.12g", value + 0)
}
/^canon_event=/ {
/^canon_event=/ || /^(STRAIGHT_(TRAVERSE|FEED)|SET_FEED_RATE) / {
line = $0
sub(/^canon_event=/, "", line)
if (line == "ON_RESET") {
print line
next
}
if (line ~ /^COMMENT: /) {
sub(/^COMMENT: /, "", line)
print "COMMENT|" line
@@ -228,6 +235,9 @@ normalize_upstream_rs274_output() {
sub(/^[[:space:]]*[0-9]+[[:space:]]+N\.\.\.\.\.[[:space:]]+/, "", line)
if (line == "ON_RESET()") {
if (!seen_reset) {
print "ON_RESET"
}
seen_reset = 1
next
}