
Hi Paul,
On 27 September 2016 at 09:03, Paul Burton paul.burton@imgtec.com wrote:
In python 3.x reading stdout or stdin will produce a bytestring rather than a string. Decode it in CommunicateFilter such that the rest of the code can continue to deal with strings. This works fine with python 2.x too.
Signed-off-by: Paul Burton paul.burton@imgtec.com Acked-by: Simon Glass sjg@chromium.org
Changes in v2: None
tools/patman/cros_subprocess.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tools/patman/cros_subprocess.py b/tools/patman/cros_subprocess.py index ebd4300..922e560 100644 --- a/tools/patman/cros_subprocess.py +++ b/tools/patman/cros_subprocess.py @@ -189,7 +189,7 @@ class Popen(subprocess.Popen): data = "" # We will get an error on read if the pty is closed try:
data = os.read(self.stdout.fileno(), 1024)
data = os.read(self.stdout.fileno(), 1024).decode('utf8') except OSError: pass if data == "":
@@ -204,7 +204,7 @@ class Popen(subprocess.Popen): data = "" # We will get an error on read if the pty is closed try:
data = os.read(self.stderr.fileno(), 1024)
data = os.read(self.stderr.fileno(), 1024).decode('utf8') except OSError: pass if data == "":
-- 2.10.0
Unfortunately this causes an error:
$ buildman -b dm-push sandbox boards.cfg is up to date. Nothing to do. Building 16 commits for 3 boards (3 threads, 3 jobs per thread) Traceback (most recent call last): File "/home/sglass/bin/buildman", line 64, in <module> ret_code = control.DoBuildman(options, args) File "/scratch/sglass/cosarm/src/third_party/u-boot/files/tools/buildman/control.py", line 300, in DoBuildman options.keep_outputs, options.verbose) File "/scratch/sglass/cosarm/src/third_party/u-boot/files/tools/buildman/builder.py", line 1433, in BuildBoards self._PrepareOutputSpace() File "/scratch/sglass/cosarm/src/third_party/u-boot/files/tools/buildman/builder.py", line 1399, in _PrepareOutputSpace dir_list.append(self._GetOutputDir(commit_upto)) File "/scratch/sglass/cosarm/src/third_party/u-boot/files/tools/buildman/builder.py", line 449, in _GetOutputDir subject = commit.subject.translate(trans_valid_chars) TypeError: character mapping must return integer, None or unicode
Regards, Simon