Saya ingin menguji secara otomatis apakah perangkat lunak bereaksi seperti yang diharapkan jika file DB SQLite penting gagal dibaca (menyebabkan kesalahan I / O). Persisnya itu terjadi beberapa hari yang lalu di klien. Kami memperbaikinya secara manual, tetapi sekarang saya ingin membuat kode otomatis untuk memperbaikinya dan memerlukan akses ke file yang rusak untuk mengujinya.
Karena semua yang ada di Unix adalah file, saya curiga bahwa mungkin ada file khusus yang selalu menyebabkan kesalahan I / O ketika seseorang mencoba membacanya (misalnya di / dev).
Beberapa file serupa (imo) adalah:
/dev/full
yang selalu mengatakan "Tidak ada ruang yang tersisa di perangkat" jika Anda mencoba untuk menulisnya/dev/null
dan/dev/zero
jadi saya berasumsi hanya ada file seperti itu (tetapi belum menemukan satu).
Adakah yang tahu file seperti itu atau metode lain bagi saya untuk mendapatkan hasil yang diinginkan (gambar partisi yang sengaja rusak, pembungkus terbuka () menggunakan LD_PRELOAD, ...)?
Apa cara terbaik untuk pergi ke sini?