In order to fully test an application, it is necessary to exercise all the different failure conditions, such as failure to open port, failure to receive data, failure to find a file, disk full and so on. This is project will develop ways to allow error injection into standard API calls in POSIX (Linux) and Windows. This can be facilitated through test scripts and a error description language that allows users to specify these error injects. The goal is to eventually pair up with code coverage tools to provide evidence of comprehensive testing.
The libfiu library provides a fault injection framework for applications. In particular, it provides fault injection for key POSIX functions.
This library can be extended to similarly simulate failures in the Windows API using the Detours library.