Я хочу автоматически проверить, реагирует ли программа должным образом, если не удается прочитать необходимый файл БД SQLite (что приводит к ошибке ввода-вывода). Именно это произошло несколько дней назад у клиента. Мы исправили это вручную, но теперь я хочу создать автоматический код, чтобы исправить это, и мне нужен доступ к поврежденному файлу, чтобы проверить это.
Поскольку все в Unix - это файл, я подозревал, что может существовать специальный файл, который всегда вызывает ошибки ввода-вывода, когда кто-то пытается его прочитать (например, в / dev).
Некоторые похожие файлы (IMO) будут:
/dev/full
который всегда говорит "Нет свободного места на устройстве", если вы пытаетесь написать его/dev/null
и/dev/zero
поэтому я предположил, что просто должен быть такой файл (но пока не нашел).
Кто-нибудь знает такой файл или любой другой метод для меня, чтобы получить желаемый результат (намеренно неисправный образ раздела, обертка вокруг open () с использованием LD_PRELOAD, ...)?
Какой лучший способ пойти сюда?