Pythonライブラリのパフォーマンスを向上させるためのC拡張を書きました。拡張子は、余分な使用ピップとしてインストールされます。存在する場合特定のPyPIパッケージの単体テストを実行するためのTravis CIの入手
# Install the library by itself:
pip install pyota
# Install the Python library w/ C extension:
pip install pyota[ccurl]
ザ・Pythonライブラリは、C拡張を好むが、それは純粋なPython実装にフォールバックします:
# iota/crypto/__init__.py
try:
from ccurl import *
except ImportError:
from .pycurl import *
への簡単な方法をCエクステンションをテストするには、エクステンションをインストールして、Pythonライブラリのユニットテストを実行します。ユニットテストでC拡張がインストールされている場合、C拡張が純粋なPythonの実装と同じように動作すると確信できます。
しかし、これは自動化するのが非常に難しいことが分かります。
私はこのような何かを行うにトラビスCIを取得しようとしている:
pip install -e .
を(すなわち、venvにpyota[ccurl]
をインストールします)。pyota
ソースdistをcwdにインストールします(source distにはユニットテストが含まれています)。nosetests pyota/tests
(ローカルソースdistの実行ユニットテスト)。
しかし、私はそれがユニットを実行できるように、PIPを介してソースディストリビューションをダウンロードするにはトラヴィスCIを指示するにはどうすればよいのステップ2を実行する方法
を考え出す時間の一体を抱えていますテスト?