Test::mysqldのbase_dirは環境変数TMPDIRで指定することもできる

@nqounetです。

今日の知見です。

そんなことも知らなかったのか、と思われるかもしれませんが、知りませんでした。

どうせすぐに忘れるので、忘れる前に備忘録。

諦めないで

Test::mysqldでは、base_dirを指定しない場合は、File::Temptempdirで一時的なディレクトリを作って、そこにデータ置き場を作ります。

File::TemptempdirFile::Spectmpdirを利用して作成されますが、その作成場所は環境変数のTMPDIR で指定することができます。

ソースコードを読んでいて発見したのですが、後でドキュメントを確認するとちゃんと書いてありました…。

実行前に設定する

テストを実行するときにだけに設定できれば良いので、envを使って設定し実行します。

1
$ env TMPDIR=./tmp prove -vlr t

テストの前に読み書きの高速なRAMドライブを作成しておいて、TMPDIRでそのディレクトリを指定する、というような使い方ができますね。

comments powered by Disqus
Built with Hugo
Theme Stack designed by Jimmy