Как смоделировать ошибку чтения файла в CRT - PullRequest
1 голос
/ 24 мая 2010

Используя VS2008, мы хотели бы смоделировать файл, имеющий размер X, но с ошибкой чтения в байтах XY, чтобы мы получили сообщение об ошибке.

Кто-нибудь знает, каксделать это на окнах?Похоже, что есть решение для Linux, но я не могу придумать способ сделать это на Windows.У нас есть несколько разработчиков, несколько машин и инфраструктура тестирования cppunit, поэтому я хочу проектировать только программное обеспечение.

Я пытаюсь смоделировать фактический сбой CRT, чтобы я мог протестировать код, который имеет дело с ошибкой.

Ответы [ 2 ]

4 голосов
/ 24 мая 2010

Обертывание файловых функций ввода-вывода в классе; переопределить те, что в производном классе тестирования; симулировать неудачу с подделкой или издевательством.

0 голосов
/ 24 мая 2010

Я не уверен, что это сработает, но вы можете попробовать создать файл и затем обрезать его до байтов xy, создав новый файл с заголовком в этом месте.Я не знаю, как ты это сделаешь.Другая идея состоит в том, чтобы открыть файл, выполнить поиск до байта, а затем изменить разрешения, чтобы вы больше не могли читать файл - хотя, если есть блокировка файла, вам придется обойти это.Я не очень знаком с файловыми системами Windows, так что это всего лишь догадки.

...