| inc | ||
| src | ||
| funfail.sh | ||
| Makefile | ||
| README.md | ||
FunFail
Funfail is a shared library that is used to simulate failures in memory allocation (malloc, calloc) and I/O operations (write, read) after a set number of uses. This can be useful for testing the robustness and error-handling capabilities of your programs.
Usage
After making the shared object:
make
Script Usage
The script funfail.sh can be used to run your program with the funfail.so preloaded.
To run your program myapp and simulate a failure in malloc after 10 calls, use:
./funfail.sh ./myapp
Follow the prompts to select malloc and enter 10 as the number of calls after which it should fail.
Manual Usage
Copy the funfail.so to the path of the program myapp you want to test. Preloading the funfail.so can be done using the LD_PRELOAD environment variable in Linux. Run your program while preloading the funfail.so and use one of the following env variables:
- MAX_MALLOC_CALLS
- MAX_CALLOC_CALLS
- MAX_WRITE_CALLS
- MAX_READ_CALLS
Example:
LD_PRELOAD=./funfail.so MAX_MALLOC_CALLS=5 ./myapp