Connect FLTK shell to JACK engine controls and status
This commit is contained in:
parent
577d80f018
commit
2ecc03b482
14 changed files with 691 additions and 45 deletions
|
|
@ -26,3 +26,40 @@ format change is performed on the shared server. Those paths, missing server,
|
|||
port/callback setup failure, activation/deactivation/close failure, null buffers,
|
||||
invalid configuration, oversize buffers, and reopen are tested with injected
|
||||
JACK callbacks/results in `tests/unit/test_backend.c`.
|
||||
|
||||
## FLTK shell tests
|
||||
|
||||
```sh
|
||||
make gui test-gui
|
||||
# Optional, requires a running JACK-compatible server:
|
||||
make test-gui-jack
|
||||
```
|
||||
|
||||
These targets require FLTK development files, `xvfb-run` and Xvfb. No additional
|
||||
GUI test library is needed. `test_gui.cpp` uses real widgets, menus and timers
|
||||
with a fake public C backend. It covers Play/Stop/Reconnect, view switching,
|
||||
persistent startup/control errors, server loss/rate changes, partial handles,
|
||||
close-failure retry and timer removal. All 18 opened handles are closed.
|
||||
`test_gui_jack.cpp` uses the real backend, repeats start/stop nine times across
|
||||
three windows, reconnects, and closes each window while running. No audio ports
|
||||
are connected. Both tests passed on the inspected host.
|
||||
|
||||
A separate xdotool smoke run against `build/xtc` under a 1280x800 Xvfb display
|
||||
exercised F5/F8/F6, Space, Ctrl+1/2/3 and Ctrl+Q. The app exited successfully;
|
||||
visual inspection confirmed running status and mixer view switching.
|
||||
|
||||
Clang ASan/UBSan found no application errors in the GUI tests. The unsuppressed
|
||||
run reports exit-time allocations originating in the installed fontconfig
|
||||
library used by FLTK/Pango. `lsan.supp` narrowly suppresses that library; leak
|
||||
checking stays enabled for application allocations. This is not a claim that
|
||||
the third-party font stack is leak-free. Apply only to GUI sanitizer tests:
|
||||
|
||||
```sh
|
||||
LSAN_OPTIONS=suppressions=tests/integration/lsan.supp xvfb-run -a -s '-screen 0 1280x800x24' ./build/gui-sanitize/test_gui
|
||||
```
|
||||
|
||||
Build that binary with Clang/Clang++, `-fsanitize=address,undefined` in both
|
||||
CFLAGS/CXXFLAGS and LDFLAGS, using the baseline warning/include/standard flags
|
||||
from BUILD.md. Keep FLTK's `-I` and `-D` flags from `fltk-config --cxxflags`,
|
||||
but exclude the distribution's GCC-specific LTO/object-code flags for Clang.
|
||||
No suppressions are used for core/backend/realtime sanitizer tests.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue