Наша кодовая база Python использует нос для запуска всех модульных тестов, и я пытаюсь использовать нос.twistedtools, чтобы запустить все тесты, но все они зависают при завершении работы. Любая помощь в исправлении этого была бы замечательной. Вот простой тест, который зависает:
from nose.twistedtools import deferred
from twisted.internet.defer import Deferred
@deferred(timeout=1)
def test_rudimentary():
def done(_ignored):
print "DONE"
defer = Deferred()
defer.addCallback(done)
return defer
Вызов и вывод выглядят следующим образом:
$ nosetests test_simple.py
F
======================================================================
FAIL: test_simple.test_rudimentary
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/<ENV>/lib/python2.7/site-packages/nose/case.py", line 197, in runTest
self.test(*self.arg)
File "/home/<ENV>/lib/python2.7/site-packages/nose/twistedtools.py", line 165, in wrapper
% timeout)
TimeExpired: timeout expired before end of test (1.000000 s.)
----------------------------------------------------------------------
Ran 1 test in 1.001s
FAILED (failures=1)
Если я не установлю тайм-аут, тест зависнет навсегда.