This is a snap packaging of rt-tests, a set of programs to test various real-time Linux features.
The programs include:
deadline-test
in this snappi-stress
in this snappip-stress
in this snapThis snap is under development. Refer here for the list of known issues.
To install it:
sudo snap install rt-tests
It's necessary to connect:
sys-kernel-debug-sched-features
plug into the system-files interface;sudo snap connect rt-tests:process-control
sudo snap connect rt-tests:mount-observe
sudo snap connect rt-tests:system-trace
sudo snap connect rt-tests:sys-kernel-debug-sched-features
[!NOTE]
- The
sys-kernel-debug-sched-features
interface gets auto-connected when installed from the store.- The
pmqtest
app is granted access to use POSIX message queues via the posix-mq interface.
The program commands are available within the snap's namespace.
For example, the command for cyclictest
is rt-tests.cyclictest
:
On a Raspberry Pi 5 running Real-time Ubuntu 24.04:
$ sudo rt-tests.cyclictest --mlockall --smp --priority=80 --interval=200 --distance=0 --loops=100000
WARN: open /dev/cpu_dma_latency: Operation not permitted
ERROR: shm_open Permission denied
policy: fifo: loadavg: 0.66 0.49 0.33 1/198 3722
T: 0 ( 3719) P:80 I:200 C: 100000 Min: 3 Act: 5 Avg: 5 Max: 26
T: 1 ( 3720) P:80 I:200 C: 99957 Min: 2 Act: 5 Avg: 5 Max: 19
T: 2 ( 3721) P:80 I:200 C: 99919 Min: 3 Act: 6 Avg: 5 Max: 22
T: 3 ( 3722) P:80 I:200 C: 99875 Min: 3 Act: 6 Avg: 5 Max: 18
You can add aliases to run the program commands without the namespace. For example:
$ sudo snap alias rt-tests.cyclictest cyclictest
Added:
- rt-tests.cyclictest as cyclictest
$ which cyclictest
/snap/bin/cyclictest
Run the following commands to add aliases for all the programs, effectively making them available under the same names as if they were installed using the Debian package:
sudo snap alias rt-tests.cyclictest cyclictest
sudo snap alias rt-tests.cyclicdeadline cyclicdeadline
sudo snap alias rt-tests.deadline-test deadline_test
sudo snap alias rt-tests.get-cyclictest-snapshot get-cyclictest-snapshot
sudo snap alias rt-tests.hackbench hackbench
sudo snap alias rt-tests.hwlatdetect hwlatdetect
sudo snap alias rt-tests.oslat oslat
sudo snap alias rt-tests.pip-stress pip_stress
sudo snap alias rt-tests.pi-stress pi_stress
sudo snap alias rt-tests.pmqtest pmqtest
sudo snap alias rt-tests.ptsematest ptsematest
sudo snap alias rt-tests.queuelat queuelat
sudo snap alias rt-tests.rt-migrate-test rt-migrate-test
sudo snap alias rt-tests.signaltest signaltest
sudo snap alias rt-tests.sigwaittest sigwaittest
sudo snap alias rt-tests.ssdd ssdd
sudo snap alias rt-tests.svsematest svsematest
Firstly, build it using Snapcraft:
snapcraft -v
Then, install it in dangerous mode:
sudo snap install --dangerous *.snap