Если вы находитесь под Linux и используете glib c, тогда есть крючки для Mallo c. Хуки позволяют вам перехватывать вызовы к mallo c и делать их случайными сбоями.
Ваш набор тестов может использовать переменную окружения, чтобы сообщить коду для вставки перехватчик mallo c и какой вызов mallo c потерпеть неудачу. Например, если вы установите FOOBAR_FAIL_MALLOC = 10, то ваш хук mallo c будет вести обратный отсчет и позволить 10-му использованию mallo c вернуть 0.
FOOBAR_FAIL_MALLOC = 0 может просто сообщать о количестве malloc в тестовом примере. Затем вы бы запустили тест один раз с FOOBAR_FAIL_MALLOC = 0 и зафиксировали количество задействованных malloc. Затем повторите для FOOBAR_FAIL_MALLOC = от 1 до N, чтобы протестировать каждый бит mallo c.
Если после сбоя mallo c у вас не будет больше malloc. Затем вы должны подумать о чем-то более сложном, чтобы указать, какие mallocs должны давать сбой.
Вы также можете просто сделать хук случайным. При достаточном количестве запусков каждый вызов mallo c в какой-то момент завершится с ошибкой.
Примечание: новый C ++ должен также нагревать mallo c hook