Tôi muốn tự động kiểm tra nếu một phần mềm phản ứng như mong đợi nếu một tệp SQLite DB thiết yếu không được đọc (gây ra lỗi I / O). Chính xác điều đó đã xảy ra vài ngày trước tại một khách hàng. Chúng tôi đã tự sửa nó nhưng bây giờ tôi muốn tạo mã tự động để sửa nó và cần truy cập vào một tệp bị hỏng để kiểm tra điều đó.
Vì mọi thứ trong Unix là một tệp, tôi nghi ngờ rằng có thể có một tệp đặc biệt luôn gây ra lỗi I / O khi một người cố đọc nó (ví dụ: in / dev).
Một số tệp tương tự (imo) sẽ là:
/dev/full
luôn luôn nói "Không còn chỗ trống trên thiết bị" nếu bạn cố gắng viết nó/dev/null
và/dev/zero
Vì vậy, tôi cho rằng chỉ cần có một tệp như vậy (nhưng chưa tìm thấy tệp nào).
Có ai biết một tệp như vậy hoặc bất kỳ phương pháp nào khác để tôi nhận được kết quả mong muốn (hình ảnh phân vùng bị lỗi cố ý, trình bao bọc xung quanh open () bằng LD_PRELOAD, ...) không?
Cách tốt nhất để đi đến đây là gì?