From: Aníbal Limón Date: Wed, 27 Jul 2016 22:40:42 +0000 (-0500) Subject: oeqa/utils/commands.py: Command class improve validations/decoding in output X-Git-Tag: lucaceresoli/bug-15201-perf-libtraceevent-missing~24829 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f2a04faf3c5d0a3cc562061b22e1c4873e1ca769;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git oeqa/utils/commands.py: Command class improve validations/decoding in output When run a command sometimes the output isn't provided so validate before trying to encode to utf-8, also some output like BIOS/EFI contains characters that can't be codified into utf-8 for this reason set errors='replace'. [YOCTO #10019] Signed-off-by: Aníbal Limón Signed-off-by: Ross Burton --- diff --git a/meta/lib/oeqa/utils/commands.py b/meta/lib/oeqa/utils/commands.py index 4f79d15bb8e..a8e184d0c36 100644 --- a/meta/lib/oeqa/utils/commands.py +++ b/meta/lib/oeqa/utils/commands.py @@ -78,7 +78,10 @@ class Command(object): self.process.kill() self.thread.join() - self.output = self.output.decode("utf-8").rstrip() + if not self.output: + self.output = "" + else: + self.output = self.output.decode("utf-8", errors='replace').rstrip() self.status = self.process.poll() self.log.debug("Command '%s' returned %d as exit code." % (self.cmd, self.status))