linux/tools/verification/rv
Gabriele Monaco 92f0ce5529 tools/rv: Add selftests
The rv tool needs automated testing to catch regressions and verify
correct functionality across different usage scenarios.

Add selftests that validate monitor listing (including containers and
nested monitors), monitor execution with different configurations
(reactors, verbose output, tracing), and trace output format for both
per-task and per-cpu monitors. Error handling paths are also tested.
Tests use a shared engine for common patterns.

Acked-by: Nam Cao <namcao@linutronix.de>
Link: https://lore.kernel.org/r/20260723074534.43521-7-gmonaco@redhat.com
Signed-off-by: Gabriele Monaco <gmonaco@redhat.com>
2026-07-31 13:53:52 +02:00
..
include tools/rv: Allow rv list to filter for container 2025-03-24 17:27:40 -04:00
src tools/rv: Fix exit status when monitor execution fails 2026-07-31 13:53:52 +02:00
tests tools/rv: Add selftests 2026-07-31 13:53:52 +02:00
.gitignore tools/verification: Use tools/build makefiles on rv 2024-03-20 05:39:06 +01:00
Build tools/verification: Use tools/build makefiles on rv 2024-03-20 05:39:06 +01:00
Makefile tools/rv: Add selftests 2026-07-31 13:53:52 +02:00
Makefile.config tools/verification: Use pkg-config in lib_setup of Makefile.config 2024-07-17 13:14:51 -07:00
Makefile.rv tools/rv: Keep user LDFLAGS in build 2025-03-04 14:15:46 -05:00
README.txt

RV: Runtime Verification

Runtime Verification (RV) is a lightweight (yet rigorous) method that
complements classical exhaustive verification techniques (such as model
checking and theorem proving) with a more practical approach for
complex systems.

The rv tool is the interface for a collection of monitors that aim
analysing the logical and timing behavior of Linux.

Installing RV

RV depends on the following libraries and tools:

 - libtracefs
 - libtraceevent

It also depends on python3-docutils to compile man pages.

For development, we suggest the following steps for compiling rtla:

  $ git clone git://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git
  $ cd libtraceevent/
  $ make
  $ sudo make install
  $ cd ..
  $ git clone git://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git
  $ cd libtracefs/
  $ make
  $ sudo make install
  $ cd ..
  $ cd $rv_src
  $ make
  $ sudo make install

For further information, please see rv manpage and the kernel documentation:
  Runtime Verification:
    Documentation/trace/rv/runtime-verification.rst