From cd8bd62e0b52bbd5d99b67bfafad2765b6d6b6ec Mon Sep 17 00:00:00 2001 From: Ciaran Gultnieks Date: Wed, 13 Nov 2013 18:45:37 +0000 Subject: [PATCH] Ensure end of buildserver output is always captured --- fdroidserver/build.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/fdroidserver/build.py b/fdroidserver/build.py index 330c75c9..24cb2f5c 100644 --- a/fdroidserver/build.py +++ b/fdroidserver/build.py @@ -332,10 +332,16 @@ def build_server(app, thisbuild, vcs, build_dir, output_dir, force): error += chan.recv_stderr(1024) print "...getting exit status" returncode = chan.recv_exit_status() - while chan.recv_ready(): - output += chan.recv(1024) - while chan.recv_stderr_ready(): - error += chan.recv_stderr(1024) + while True: + get = chan.recv(1024) + if len(get) == 0: + break + output += get + while True: + get = chan.recv_stderr(1024) + if len(get) == 0: + break + error += get if returncode != 0: raise BuildException("Build.py failed on server for %s:%s" % (app['id'], thisbuild['version']), output, error) -- 2.30.2