28 lines
1.4 KiB
Markdown
28 lines
1.4 KiB
Markdown
# Integration tests
|
|
|
|
`make test` is hardware/server independent: offline render tests, concurrent
|
|
plan-replacement stress, and (when JACK headers are present) JACK ABI fault
|
|
injection. The fake links against installed declarations without linking
|
|
libjack. It does not claim to reproduce JACK scheduling; the separate
|
|
threaded stress test exercises publication/reclamation.
|
|
|
|
`make test-jack` explicitly runs a five-second live JACK loopback test. Requires
|
|
an existing JACK or PipeWire JACK-compatible server; does not start a server,
|
|
change its sample rate/block size, or connect physical outputs. Source output
|
|
is connected only to the test's capture client, then disconnected and removed.
|
|
It checks finite/bounded captured samples at two gains, active plan replacement,
|
|
status and ten restart cycles. For a longer run:
|
|
|
|
```sh
|
|
make build/test_jack
|
|
./build/test_jack 30
|
|
```
|
|
|
|
On the inspected system the 30-second test passed at 48000 Hz (initial 1024
|
|
frames): 704 engine blocks, 716 probe blocks, both gains observed, zero xruns,
|
|
and ten restart cycles. This is a limited software-loopback result, not an
|
|
endurance or physical-device qualification. No live server termination or global
|
|
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`.
|