diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2021-02-10 09:49:48 +0100 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2021-02-10 12:01:55 +0100 |
commit | 6c40b134df49ae8dea373cd5c75a1348c15397e1 (patch) | |
tree | 78be5b114933c9fc5ef844a9d83c49b63fff4fa7 /mesonbuild/compilers/compilers.py | |
parent | c6b135c1f99e4eb427970d94c2ddf8f1b04a3514 (diff) | |
download | meson-6c40b134df49ae8dea373cd5c75a1348c15397e1.zip meson-6c40b134df49ae8dea373cd5c75a1348c15397e1.tar.gz meson-6c40b134df49ae8dea373cd5c75a1348c15397e1.tar.bz2 |
mtest: cancel stdout/stderr tasks on timeout
Avoid that the tasks linger and SingleTestRunner.run() never terminates.
In order to do this, we need read_decode() and read_decode_lines() to be
cancellable, and to handle the CancelledError gracefully while returning
the output they have collected so far.
For read_decode(), this means always operating on a line-by-line basis,
even if console_mode is not ConsoleUser.STDOUT. For read_decode_lines(),
instead, we cannot return an iterator. Rather, read_decode_lines()
returns the output directly (similar to read_decode) and communication
with the parser is mediated by an asyncio.Queue.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'mesonbuild/compilers/compilers.py')
0 files changed, 0 insertions, 0 deletions