tox で環境変数をセットする方法
先日リリースされた tox-2.0.0 から、コマンドを実行する際に環境変数がフィルタされるようになりました。
(new) introduce environment variable isolation: tox now only passes the PATH and PIP_INDEX_URL variable from the tox invocation environment to the test environment and on Windows also SYSTEMROOT, PATHEXT, TEMP and TMP whereas on unix additionally TMPDIR is passed.
http://tox.readthedocs.org/en/latest/changelog.html
いままでテストの制御に環境変数を使ったりすることがありましたが、
tox-2.0.0 ではそのままでは動作しないことになりました。
$ RUN_ALL_TESTS=1 tox # すべてのテストを実行する ... $ SKIP_FOOBAR_TEST=1 tox # あるテストをスキップする ...
ここで登場したのが ``passenv`` という設定です。
参照する環境変数を tox.ini に列挙します。
[testenv] passenv= RUN_ALL_TESTS SKIP_FOOBAR_TEST
* などを用いた glob マッチにも対応しているそうです。
なお、複数列挙する場合はスペース区切りで並べる必要があります。
他の設定項目のように空行区切りをしてしまうと正しく反映されません。