1

私は現在、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 を構成できますか?

4

1 に答える 1