Closed ligurio closed 1 year ago
I looked over the luatest_server.py code and it seems the root of the problem is that it doesn't follow --test-timeout
. We should add a timeout to the .communicate()
call, when test-run is launched under Python 3 (compare: py2, py3).
(Another option is to use threading.Timer
like in app_server.py
.)
The same change has sense for unittest_server.py
too.
I proposed a fix in PR #384. Sergey, please, take a look.
Remember to add something like --test-timeout=10
to your reproducer (and change sleep 10
to, say, sleep 25
).
Steps to reproduce:
Expected result
test-run exits by timeout, because "--no-output-timeout" is less than test duration, and kills all subprocesses
Actual result
test-run exits by timeout and left luatest process alive
See log:
Bug was found on debugging etcd-client tests in https://github.com/tarantool/tarantool-ee/pull/444.