[bitbake-devel] [PATCH] process: stop bb.process.communicate mixing bytes and str return types
Mike Crowe
mac at mcrowe.com
Fri Feb 24 16:20:04 UTC 2017
Python3 regards b"" as False so it is not being converted to a string by
d0f904d407f57998419bd9c305ce53e5eaa36b24. This confusingly causes three
different potential types for each member of the returned tuple.
Let's just assume that everything that's not None is a bytes object and
convert it to a string.
Signed-off-by: Mike Crowe <mac at mcrowe.com>
---
lib/bb/process.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/bb/process.py b/lib/bb/process.py
index c62d7bc..a4a5599 100644
--- a/lib/bb/process.py
+++ b/lib/bb/process.py
@@ -162,9 +162,9 @@ def run(cmd, input=None, log=None, extrafiles=None, **options):
stdout, stderr = _logged_communicate(pipe, log, input, extrafiles)
else:
stdout, stderr = pipe.communicate(input)
- if stdout:
+ if not stdout is None:
stdout = stdout.decode("utf-8")
- if stderr:
+ if not stderr is None:
stderr = stderr.decode("utf-8")
if pipe.returncode != 0:
--
2.1.4
More information about the bitbake-devel
mailing list