xmlrpclib をロードするプラグインを使用して py.test を実行すると、テストの実行は次のように失敗します。
内部エラー> トレースバック (最新の呼び出しが最後):
内部エラー> ファイル "/Library/Python/2.7/site-packages/pytest-2.2.4-py2.7.egg/_pytest/main.py"、70 行目、wrap_session
内部エラー> config.pluginmanager.do_configure(config)
内部エラー> ファイル "/Library/Python/2.7/site-packages/pytest-2.2.4-py2.7.egg/_pytest/core.py"、267 行目、do_configure
内部エラー> config.hook.pytest_configure(config=self._config)
INTERNALERROR> ファイル " /Library/Python/2.7/site-packages/pytest-2.2.4-py2.7.egg/_pytest/core.py"、421 行目INTERNALERRORを呼び出す
> return self._docall(methods, kwargs)
INTERNALERROR> ファイル "/Library/Python/2.7/site-packages/pytest-2.2.4-py2.7.egg/_pytest/core.py"、432 行目、_docall INTERNALERROR> res = mc.execute()
INTERNALERROR> File "/Library/Python/2.7/site-packages/pytest-2.2.4-py2.7.egg/_pytest/core.py",line 350, in execute
INTERNALERROR> res = method(**kwargs)
INTERNALERROR> File "/Library/Python/2.7/site-packages/pytest_marker_bugzilla-0.01-py2.7.egg/pytest_marker_bugzilla.py"、94 行目、pytest_configure
内部エラー> bz = bugzilla.Bugzilla(url=url)
内部エラー> ファイル "build/ bdist.macosx-10.7-intel/egg/bugzilla/ init .py"、75 行目、init
INTERNALERROR> c = getBugzillaClassForURL(kwargs['url'])
内部エラー> ファイル "build/bdist.macosx-10.7-intel/egg/bugzilla/ init .py"、26 行目、getBugzillaClassForURL 内
内部エラー> s = xmlrpclib.ServerProxy(url)
内部エラー> ファイル "build/bdist.macosx-10.7- intel/egg/xmlrpclib.py", line 1215, init
INTERNALERROR> raise IOError, "unsupported XML-RPC protocol"
INTERNALERROR> > > IOError: unsupported XML-RPC protocol
xmlrpclib が単純なテスト プログラムで動作することを確認しました。このプログラムは、図から py.test を削除します。
#!/usr/bin/env python
import xmlrpclib
import bugzilla
import sys
for i in sys.path:
print i
url = 'https://bugzilla.redhat.com/xmlrpc.cgi'
u = ' '
p = ' '
try:
proxy = xmlrpclib.ServerProxy(url)
except(), e:
print e
b = bugzilla.Bugzilla(url=url)
b.login(u,p)
bug = b.getbugsimple('12345')
print bug
上記のプログラムを実行すると、期待どおりに戻ります。ここで何が起こっているのか途方に暮れています。上記の py.test とテスト プログラムの両方に print sys.path を追加したところ、実行ディレクトリ、test.py の /Users/esammons と /usr/local/bin を除いてパスが同じであることがわかりました。 py.test.
問題をさらに除外するために、/usr/local/bin/py.test と /usr/local/bin/py.test-2.7 をプロジェクト ルートにコピーしましたが、同じエラーが発生しました。
ありがとう!