fiu-run - a script to launch programs using libfiu
Contents
Bugs
If you want to report bugs, or have any questions or comments, just let me know at
albertito@blitiri.com.ar. For more information about libfiu, you can go to
http://blitiri.com.ar/p/libfiu.
16/Jun/2009 fiu-run(1)
Description
fiu-run is a script to make it easier to launch programs using libfiu(3). It can enable failure points
and start libfiu's remote control capabilities before starting to execute the program, avoiding the need
to write a special launcher to inject failures.
It is specially useful when used to inject failures in the POSIX/libc functions, because it does not
require any program modifications.
After launching programs with fiu-run, fiu-ctrl(1) can be used to enable and disable their failure points
at runtme.
For additional documentation, go to the project's website at http://blitiri.com.ar/p/libfiu.
Examples
The following will run the fortune(1) program simulating faults in read() with 5% probability (note that
the -x parameter is required in this case to enable failure points in the POSIX and libc functions):
fiu-run -x -c "enable_random name=posix/io/rw/read,probability=0.05" fortune
By running it multiple times you will see that sometimes it works, but most of the time you get different
errors, resulting from the simulated failures.
Name
fiu-run - a script to launch programs using libfiu
Options
-ccommand
Run the given libfiu remote control command before executing the program (see below for
reference).
-x Use the POSIX libfiu preload library, allows simulate failures in the POSIX and C standard library
functions.
-fctrlpath
Enable remote control over named pipes with the given path as base name, the process id will be
appended (defaults to "$TMPDIR/fiu-ctrl", or "/tmp/fiu-ctrl" if "$TMPDIR" is not set). Set to ""
to disable remote control over named pipes.
-lpath
Path where to find the libfiu preload libraries. Defaults to the path where they were installed,
so it is usually correct.
Remote control commands are of the form "commandparam1=value1,param2=value2". Valid commands are:
'enablename=NAME'
Enables the NAME failure point unconditionally.
'enable_randomname=NAME,probability=P'
Enables the NAME failure point with a probability of P.
All of the enable* commands can also optionally take failnum and failinfo parameters, analogous to the
ones taken by the C functions.
See Also
libfiu(3), fiu-ctrl(1).
Synopsis
fiu-run [options] program [program arguments]
