私は現在、Python3.2 と互換性のある Python2 用に書かれたモジュールを作ろうとしています。
すべてのコードが自動的に変換2to3
され、setup.py に追加されるようにすることから始めました。
use_2to3 = True,
これまでのところ、すべてが正常に機能しています。
ここで、変換されたファイルをテストしたいと思います。
テストは、なしで実行できるように記述されています2to3
。私のフォルダ構造は次のとおりです。
# ls /path/to/mymodule
setup.py
mymodule/
tests/
build/
私のsetup.pyに、追加しました
test_suite = "tests",
今、私は実行します
rm -rf build/
python3 setup.py build
python3 setup.py test
自動変換されたコードをテストするため。mymodule
ただし、テストがまだディレクトリで実行されているため、失敗します。
File "/path/to/mymodule/mymodule/main.py", line 35
logger.info(u'Scanning {path}'.format(path=self.path))
^
SyntaxError: invalid syntax
[This Syntax error is in MODULE code, not in TEST code.]
[I expect the path to be: /path/to/mymodule/build/lib/mymodule/main.py]
私の中にbuild/
は、正しく変換されたファイルがあります。配布がそれらを正しく変換している場合、変換されたファイルに対してテストも実行されないのはなぜですか?
何か不足していますか?setuptools/distribute のドキュメントで欠落しているパラメーターを確認しました。不要なスペースを占有するテスト専用のリソース ファイルがいくつかあるため、モジュールにテストを含めたくありません。
=> python3 で実行しているときに別のフォルダーのテストを実行するように setup.py を構成できますか?