1
0
Fork 0
forked from hanez/xtc
xtc/tests/integration/README.md
2026-10-26 23:32:04 +01:00

1.4 KiB

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:

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.