Go to file
2025-01-29 17:14:26 +01:00
inc check 2025-01-29 17:14:26 +01:00
src check 2025-01-29 17:14:26 +01:00
funfail.sh made script and finished for read write malloc and calloc 2025-01-19 16:24:13 +01:00
Makefile check 2025-01-29 17:14:26 +01:00
README.md update README 2025-01-19 16:27:38 +01:00

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