Branch: refs/heads/master
Home: https://github.com/LinuxCNC/linuxcnc
Commit: a4cd6d9ad459762e64b554f0239d09af2d70c098
https://github.com/LinuxCNC/linuxcnc/commit/a4cd6d9ad459762e64b554f0239d09af2d70c098
Author: Luca Toniolo <107...@us...>
Date: 2026-09-02 (Wed, 02 Sep 2026)
Changed paths:
M .github/workflows/ci.yml
M debian/control.top.in
M scripts/runtests.in
M tests/ui-smoke/.gitignore
M tests/ui-smoke/README
A tests/ui-smoke/_lib/compare.sh
M tests/ui-smoke/_lib/crashdump.sh
M tests/ui-smoke/_lib/drive.py
A tests/ui-smoke/_lib/gmoccapy-prepare.sh
M tests/ui-smoke/_lib/launch-env.sh
M tests/ui-smoke/_lib/launch.sh
A tests/ui-smoke/_lib/make-references.sh
M tests/ui-smoke/_lib/qtdragon-prepare.sh
M tests/ui-smoke/_lib/quit-launch.sh
A tests/ui-smoke/_lib/screenshot.sh
A tests/ui-smoke/_lib/window-fit.sh
A tests/ui-smoke/axis/reference.png
M tests/ui-smoke/gmoccapy-quit/test.sh
A tests/ui-smoke/gmoccapy/reference.png
M tests/ui-smoke/gmoccapy/test.sh
A tests/ui-smoke/qtdragon/reference.png
A tests/ui-smoke/touchy-fit/checkresult
A tests/ui-smoke/touchy-fit/skip
A tests/ui-smoke/touchy-fit/test.sh
A tests/ui-smoke/touchy/reference.png
Log Message:
-----------
tests: ui-smoke phase 3, screenshots, reference diffs, crash dumps, driver hardening
Each GUI smoke test now captures a screenshot on failure and a settled confirm shot on pass, uploaded as CI artifacts. The confirm shot is compared against a committed reference.png at 0% fuzz, writing red-highlight and absolute-difference diff images; the comparison never fails a test, it records rendering drift (freetype versions differ across distros) so preview regressions are visible at review time.
Crash dumps: runtests -d opts in; on a crashing GUI test a gdb backtrace is printed from the core, collected via coredumpctl on systemd hosts or a plain-file core_pattern the CI workflow arms at job level. No sudo in the test scripts. gdb moves to control build-deps so package-arch tests have it too.
gmoccapy runs against a writable config mirror with a seeded preference file so the first-run modal stays hidden; PROGRAM_PREFIX is pointed at the real nc_files for the mirror.
Driver hardening: ensure_state/ensure_mode re-verify with a retry budget, and home_all / run_program retry their whole command sequence, so a late GUI startup revert (gmoccapy's own ESTOP or mode reset landing after the state checks) costs one retry instead of failing the test. No fixed sleep in the driver is load-bearing; the settles only keep transient warning dialogs out of the screenshots.
Adds the touchy-fit test: boots touchy on a 1024x768 screen and fails if the window exceeds it.
Commit: dc61c5a384784882a6f86125fe38b1780afd5d92
https://github.com/LinuxCNC/linuxcnc/commit/dc61c5a384784882a6f86125fe38b1780afd5d92
Author: BsAtHome <be...@va...>
Date: 2026-09-02 (Wed, 02 Sep 2026)
Changed paths:
M .github/workflows/ci.yml
M debian/control.top.in
M scripts/runtests.in
M tests/ui-smoke/.gitignore
M tests/ui-smoke/README
A tests/ui-smoke/_lib/compare.sh
M tests/ui-smoke/_lib/crashdump.sh
M tests/ui-smoke/_lib/drive.py
A tests/ui-smoke/_lib/gmoccapy-prepare.sh
M tests/ui-smoke/_lib/launch-env.sh
M tests/ui-smoke/_lib/launch.sh
A tests/ui-smoke/_lib/make-references.sh
M tests/ui-smoke/_lib/qtdragon-prepare.sh
M tests/ui-smoke/_lib/quit-launch.sh
A tests/ui-smoke/_lib/screenshot.sh
A tests/ui-smoke/_lib/window-fit.sh
A tests/ui-smoke/axis/reference.png
M tests/ui-smoke/gmoccapy-quit/test.sh
A tests/ui-smoke/gmoccapy/reference.png
M tests/ui-smoke/gmoccapy/test.sh
A tests/ui-smoke/qtdragon/reference.png
A tests/ui-smoke/touchy-fit/checkresult
A tests/ui-smoke/touchy-fit/skip
A tests/ui-smoke/touchy-fit/test.sh
A tests/ui-smoke/touchy/reference.png
Log Message:
-----------
Merge pull request #4136 from grandixximo/ui-tests-phase3
ui-smoke phase 3: screenshots, writable config mirrors, homing settle
Compare: https://github.com/LinuxCNC/linuxcnc/compare/098cd98a6c03...dc61c5a38478
To unsubscribe from these emails, change your notification settings at https://github.com/LinuxCNC/linuxcnc/settings/notifications
|