Open ligurio opened 1 year ago
Expected result
test-run listen stderr too
I would ask a clarification here. Am I understand right that your idea is to track stderr to postpone the --no-output-timeout
watchdog? Is it the sole reason to catch stderr or there are other supposed ones?
I'm asking, because --no-output-timeout
shouldn't normally be reached -- it likely reveals some problem in test-run itself. (I have added some details about timeout handling into #382.)
And this timeout is quite large by default -- two minutes.
BTW, as I see from the implementation (luatest_server.py
), test-run reads a mixed stdout+stderr stream from luatest. So it doesn't differentiate stdout and stderr here.
There is a buffering problem in this place. A test may write something, but test-run doesn't report it. luatest_server.py
is likely the same here as app_server.py
, see #119.
I had attempts to solve it, but no luck. One idea I didn't try with test-run is to disable stdout buffering in the child.
Steps to reproduce:
Expected result
test-run listen stderr too
Actual result
test-run does not listen stderr, stdout only.
Observation
In Tarantool
print()
write to stdout andlog.info()
(and other methods of modulelog
) write to stderr:Log output
Let's demonstrate it: