@nqounetです。
今日の知見です。
そんなことも知らなかったのか、と思われるかもしれませんが、知りませんでした。
どうせすぐに忘れるので、忘れる前に備忘録。
諦めないで
Test::mysqldでは、base_dirを指定しない場合は、File::Tempのtempdirで一時的なディレクトリを作って、そこにデータ置き場を作ります。
File::TempのtempdirはFile::Specのtmpdirを利用して作成されますが、その作成場所は環境変数のTMPDIR
で指定することができます。
ソースコードを読んでいて発見したのですが、後でドキュメントを確認するとちゃんと書いてありました…。
実行前に設定する
テストを実行するときにだけに設定できれば良いので、envを使って設定し実行します。
 | 
 | 
テストの前に読み書きの高速なRAMドライブを作成しておいて、TMPDIRでそのディレクトリを指定する、というような使い方ができますね。