On 06/11/2013 02:32 PM, Alexander Bokovoy wrote:
On Tue, 11 Jun 2013, Alexander Bokovoy wrote:
On Mon, 10 Jun 2013, Petr Viktorin wrote:
This is related to testing but can be pushed independently. It will
make testing master much more pleasant.
sys.stdout is buffered by default if redirected to a file.
This may cause automated installation to appear hung.
Flush the stream so that messages are written immediately.
Despite the fact that we have abstracted out output_fd in service class,
in existing code it is only used against sys.stdout.
Just in case it would be used against different output_fd, could you
make flush() conditional under output_fd.isatty() condition?
On further thinking this conditioning is not really needed. So scratch
ACK for the original patch.
To elaborate why conditioning it's not needed:
On a TTY, stdout is already unbuffered, so flush() is a no-op.
In tests the stdout can be connected to Jenkins' console watcher or
through a SSH channel to a controlling machine in integration tests. In
these cases there's no TTY but we want the output flushed in case
someone is tailing the output (or attaching timestamps to the lines).
Also the messages are infrequent enough that performance isn't a concern.
Pushed to master (as e8e88ed2084faeba7858f54c310e333b60513ed5)
Freeipa-devel mailing list