按建议继续完成后续工作
结论:upstream rs274 side-by-side 基线已继续扩展到 file-open reset 和 O-word subroutine fixture;完整 native 验证已通过。
This commit is contained in:
@@ -110,9 +110,10 @@ machine-session validation remain future work.
|
|||||||
The current fixture expectations validate standalone behavior against both the
|
The current fixture expectations validate standalone behavior against both the
|
||||||
vendored LinuxCNC source path and an upstream `rs274` side-by-side baseline for
|
vendored LinuxCNC source path and an upstream `rs274` side-by-side baseline for
|
||||||
parser/conversion, offsets, feed-control, comment/logging, numbered-parameter,
|
parser/conversion, offsets, feed-control, comment/logging, numbered-parameter,
|
||||||
spindle-orient, file-finish, and tool-reload fixtures. Fixtures that depend on
|
spindle-orient, file-open reset, file-finish, tool-reload, and O-word
|
||||||
standalone-only runtime adapters, HAL/INI/tool table setup, or richer machine
|
subroutine fixtures. Fixtures that depend on standalone-only runtime adapters,
|
||||||
session state still need dedicated native LinuxCNC baselines.
|
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 kinematics probes currently cover LinuxCNC identity/trivial kinematics,
|
||||||
the switchable `5axiskins` XYZBCW bridge-mill model, and the TRT `xyzac`/`xyzbc`
|
the switchable `5axiskins` XYZBCW bridge-mill model, and the TRT `xyzac`/`xyzbc`
|
||||||
|
|||||||
@@ -68,8 +68,8 @@ semantic rewrites:
|
|||||||
- Fixture expectations are checked against the standalone vendored source
|
- Fixture expectations are checked against the standalone vendored source
|
||||||
path. The upstream `rs274` side-by-side baseline now covers simple motion,
|
path. The upstream `rs274` side-by-side baseline now covers simple motion,
|
||||||
offsets, feed-control, comment/logging, numbered-parameter, spindle-orient,
|
offsets, feed-control, comment/logging, numbered-parameter, spindle-orient,
|
||||||
file-finish, and tool-reload fixtures; adapter-heavy fixtures still need
|
file-open reset, file-finish, tool-reload, and O-word subroutine fixtures;
|
||||||
dedicated native LinuxCNC baselines.
|
adapter-heavy fixtures still need dedicated native LinuxCNC baselines.
|
||||||
|
|
||||||
## Current Drift Conclusion
|
## Current Drift Conclusion
|
||||||
|
|
||||||
|
|||||||
@@ -506,7 +506,8 @@ Current verified progress:
|
|||||||
side-by-side baseline against upstream `../linuxcnc/bin/rs274`. It normalizes
|
side-by-side baseline against upstream `../linuxcnc/bin/rs274`. It normalizes
|
||||||
native LinuxCNC canonical output for simple motion, offsets, feed-control,
|
native LinuxCNC canonical output for simple motion, offsets, feed-control,
|
||||||
comment/logging, numbered-parameter, spindle-orient, file-finish, and
|
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
|
standalone fixture explicitly expects, and compares the result without
|
||||||
introducing a project-authored CNC semantics oracle.
|
introducing a project-authored CNC semantics oracle.
|
||||||
- `tests/fixtures/gcode_errors/g1_zero_feed.ngc` and
|
- `tests/fixtures/gcode_errors/g1_zero_feed.ngc` and
|
||||||
|
|||||||
@@ -12,11 +12,13 @@ FIXTURES=(
|
|||||||
coordinate_offsets
|
coordinate_offsets
|
||||||
cutter_comp_motion
|
cutter_comp_motion
|
||||||
feed_control_modes
|
feed_control_modes
|
||||||
|
file_open_reset
|
||||||
g53_machine_coordinates
|
g53_machine_coordinates
|
||||||
length_units
|
length_units
|
||||||
plane_selection
|
plane_selection
|
||||||
modal_incremental
|
modal_incremental
|
||||||
numbered_params
|
numbered_params
|
||||||
|
oword_subroutine
|
||||||
percent_file_finish
|
percent_file_finish
|
||||||
position_params
|
position_params
|
||||||
spindle_orient
|
spindle_orient
|
||||||
@@ -37,10 +39,15 @@ normalize_standalone_events() {
|
|||||||
return sprintf("%.12g", value + 0)
|
return sprintf("%.12g", value + 0)
|
||||||
}
|
}
|
||||||
|
|
||||||
/^canon_event=/ {
|
/^canon_event=/ || /^(STRAIGHT_(TRAVERSE|FEED)|SET_FEED_RATE) / {
|
||||||
line = $0
|
line = $0
|
||||||
sub(/^canon_event=/, "", line)
|
sub(/^canon_event=/, "", line)
|
||||||
|
|
||||||
|
if (line == "ON_RESET") {
|
||||||
|
print line
|
||||||
|
next
|
||||||
|
}
|
||||||
|
|
||||||
if (line ~ /^COMMENT: /) {
|
if (line ~ /^COMMENT: /) {
|
||||||
sub(/^COMMENT: /, "", line)
|
sub(/^COMMENT: /, "", line)
|
||||||
print "COMMENT|" line
|
print "COMMENT|" line
|
||||||
@@ -228,6 +235,9 @@ normalize_upstream_rs274_output() {
|
|||||||
sub(/^[[:space:]]*[0-9]+[[:space:]]+N\.\.\.\.\.[[:space:]]+/, "", line)
|
sub(/^[[:space:]]*[0-9]+[[:space:]]+N\.\.\.\.\.[[:space:]]+/, "", line)
|
||||||
|
|
||||||
if (line == "ON_RESET()") {
|
if (line == "ON_RESET()") {
|
||||||
|
if (!seen_reset) {
|
||||||
|
print "ON_RESET"
|
||||||
|
}
|
||||||
seen_reset = 1
|
seen_reset = 1
|
||||||
next
|
next
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user