A test mechanism for testing device driver hardening includes an intercept mechanism
for intercepting device driver access calls from a device driver under test and
an interface for configuring the intercept mechanism to inject faults according
to a determined test pattern. This mechanism enables the arbitrary introduction
of typical faults. These faults may be introduced totally asynchronously and so
emulate real life. A test harness module can be linked in to a test build of the
driver. The test harness can intercept all of the device access calls. It mimics
the normal function of these calls accessing the offset address and propagating
the appropriate data. A test application is able to interpret a test script and
to compare device driver responses to injected faults.