Процесс Python не завершится

Я использую носовые тесты для запуска некоторых тестов. Однако после того, как тесты закончат работу, процесс Nosetests просто останется там и не завершится. Можно ли как-то это диагностировать? Есть ли в Python средство, подобное отправке Java kill -QUIT, которое напечатает трассировку стека?


person oneself    schedule 06.05.2010    source источник


Ответы (2)


Вы можете войти в отладчик и ввести bt:

import pdb; pdb.set_trace()

Затем вы можете пройти операцию и посмотреть, где она зависает.

person dlamotte    schedule 06.05.2010

nosetests -vv -x -s --pdb test_foo

где -x — "Прекратить выполнение тестов после первой ошибки или сбоя", а --pdb — "Перейти в отладчик при сбоях или ошибках"

См. также http://nose.readthedocs.org/en/latest/usage.html

person Yauhen Yakimovich    schedule 25.06.2014
comment
Мне также приходится нажимать Ctrl+D для некоторых тестов, которые выполняют вызовы subprocess. - person Yauhen Yakimovich; 25.06.2014