How thesofproject/sof-test works
SOF Test Case is a Linux audio validation and diagnostic toolkit. Users run individual test scripts against a SOF-enabled system; tests exercise playback, capture, system behavior, and audio features, then report pass/fail/not-applicable via exit status. Shared shell helpers support test logic, while command-line tools inspect system state, topology, audio traces, and performance. The README documents direct script execution and several external audio tools; source excerpts are limited, so links between unsampled subsystems are omitted.
Main entry points: test-case Test scripts · check-playback.sh Playback and capture · sof-dump-status.py System status dump · measure_function_time.py Kernel function timing
Components 18
Audio Tests
- Test scripts
test-case - Playback and capture
test-case/check-playback.sh - System behavior tests
test-case - Audio feature tests
test-case
Test Support
- Shell helper library
case-lib - Platform ALSA settings
alsa_settings
Diagnostics
- System status dump
tools/sof-dump-status.py - Pipeline formatting
tools/common.py - Topology inspection and merge
tools/tplgtool2.py - IPC timing analysis
tools/sof-ipc-timer.py - Firmware performance analysis
tools/sof_perf_analyzer.py - Sound fragment analysis
tools/analyze-sound-fragments.py - Kernel function timing
kernel_tracing/measure_function_time.py
Other components
- Test operator
- ALSA and TinyALSA
- PipeWire
- Exit status
- bpftrace
Connections 8
- Test operator → Test scripts: runs directly
README.md - Test scripts → Playback and capture: includes
README.md - Playback and capture → ALSA and TinyALSA: plays audio
README.md - Test scripts → PipeWire: can use
README.md - Test scripts → Exit status: reports status
README.md - Test scripts → Shell helper library: uses reboot wrapper
README.md - System status dump → Pipeline formatting: imports formatting
tools/sof-dump-status.py - Kernel function timing → bpftrace: runs probes with
kernel_tracing/measure_function_time.py