Токсу всегда нужно 30 секунд, чтобы бежать
Пару недель назад Tox работал нормально, но я вернулся к проекту, который использует tox для запуска тестов, и теперь для его запуска всегда требуется 30 секунд. Я думал, что это может быть проблемой с изменениями, внесенными в проект, но я пробовал токсины в других проектах (даже в тесте hello world), и все они занимают 30 секунд.
$ time tox
GLOB sdist-make: /private/tmp/dependency_manager/setup.py
py27 inst-nodeps: /private/tmp/dependency_manager/.tox/dist/dependencyManager-1.3.6.zip
py27 installed: boto==2.41.0,boto3==1.3.1,botocore==1.4.33,dependencyManager==1.3.6,docutils==0.12,funcsigs==1.0.2,futures==3.0.5,jmespath==0.9.0,mock==2.0.0,nose2==0.6.5,pbr==1.10.0,python-dateutil==2.5.3,six==1.10.0,troposphere==1.6.0
py27 runtests: PYTHONHASHSEED='3107006541'
py27 runtests: commands[0] | nose2
/private/tmp/dependency_manager/.tox/py27/lib/python2.7/site-packages/troposphere/dynamodb.py:10: UserWarning: This module is outdated and will be replaced with troposphere.dynamodb2. Please see the README for instructions on how to prepare for this change.
warnings.warn("This module is outdated and will be replaced with "
.....................
----------------------------------------------------------------------
Ran 21 tests in 0.020s
OK
_____________________________________________________________________________________________ summary ______________________________________________________________________________________________
py27: commands succeeded
congratulations :)
tox 1,67s user 0,43s system 6% cpu 32,192 total
Сейчас совершенно другой проект.
$ time tox
py27 recreate: /Users/jose.armesto/dev/dredd/.tox/py27
py27 installdeps: nose, mock, coverage >= 3.3
py27 installed: coverage==4.1,funcsigs==1.0.2,mock==2.0.0,nose==1.3.7,pbr==1.10.0,six==1.10.0
py27 runtests: PYTHONHASHSEED='1261821084'
py27 runtests: commands[0] | nosetests --with-coverage --cover-branches
....
Name Stmts Miss Branch BrPart Cover
-------------------------------------------------------
funcsigs.py 432 357 194 0 12%
funcsigs/version.py 1 0 0 0 100%
mock.py 4 0 0 0 100%
mock/mock.py 1373 987 578 44 23%
pbr.py 0 0 0 0 100%
pbr/version.py 218 116 66 16 42%
six.py 444 218 134 21 46%
dredd.py 0 0 0 0 100%
dredd/discovery.py 0 0 0 0 100%
dredd/dredd.py 28 0 18 1 98%
dredd/instance.py 9 1 0 0 89%
-------------------------------------------------------
TOTAL 2509 1679 990 82 28%
----------------------------------------------------------------------
Ran 4 tests in 0.026s
OK
_____________________________________________________________________________________________ summary ______________________________________________________________________________________________
py27: commands succeeded
congratulations :)
tox 3,67s user 0,87s system 12% cpu 37,636 total
Это похоже на тайм-ауты на 30 секунд, а затем он просто запускает тесты в обычном режиме. Я пытался использовать ls -lah
как командный и профильный токсик, и я получил эти результаты http://pastebin.com/EtQh3Xhq.
Я работаю на OSX Yosemite 10.10.5 Python и Tox версии
$ python --version
Python 2.7.10
$ tox --version
2.3.1 imported from /Library/Python/2.7/site-packages/tox/__init__.pyc
Я пробовал проекты с и без setup.py
, с более или менее средой, и я всегда получаю одно и то же медленное время. Кто-нибудь знает, что происходит и как это исправить?
1 ответ
Удаление старых пакетов, установленных в $HOME/.tox, решило проблему. Кажется, что 30 секунд были из-за тайм-аута boto, и некоторые из этих пакетов использовали boto. Не знаю, почему это произошло, хотя.