こんにちは。
テスト内容が良く分からないですが、fs << "test" << endl;
で例外が発生した場合にそれを捕まえることができていることをテストしたいのでしょうか?
意外に難しいと思います。書込みできない場合は大抵openで例外になります。
書込みオープンに成功し、実際の書込みに失敗する方法が必要ですね。
USBメモリを使って、残り容量がなくなる位まで書き込んだら、うまくいくかもです。(私は意図的にやったことはありません。)
キャッシュの振る舞いを把握していませんが(キャッシュ時にDisk Full検出する or フラッシュ時にDisk Full検出)、どんどん書き込んでいけばいつかフラッシュされるので、その時点でDisk Full検出されるとと思います。
なお、iostreamはデフォルトでは例外を投げないようです。下記ページが参考になると思います。
ストリームの失敗の種類、検出方法および例外の発生のさせ方について
Tools To Simulate CPU / Memory / Disk Loadを使えば、Disk Fullをシミュレートできそうです。最後の注意書きがあります。フリーズすることがあるのでその時はリブート(リセット?)が必要になるそうです。
因みに、既にオープンされているファイルを削除することは原則できないようOSが制限します。安全なアプリを開発するために必須機能です。
また、仮にできたとしても書込みに失敗するわけではありませんから、その時点で例外が発生するわけでもありません。例外は呼び出した関数のどこかで実行継続不能なエラーが発生したことを、呼び出し元へ伝達するためのしくみですから。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。