[OE-core] [PATCH] report-error: Add a check for binary log file
Richard Purdie
richard.purdie at linuxfoundation.org
Fri Jan 30 10:24:54 UTC 2015
On Thu, 2015-01-29 at 16:36 +0000, Michael Wood wrote:
> Check to see if the log file is a binary. If it is do not try to submit
> it in our error-report.
>
> [YOCTO #7263]
>
> Signed-off-by: Michael Wood <michael.g.wood at intel.com>
> ---
> meta/classes/report-error.bbclass | 17 ++++++++++++++++-
> 1 file changed, 16 insertions(+), 1 deletion(-)
>
> diff --git a/meta/classes/report-error.bbclass b/meta/classes/report-error.bbclass
> index 8b30422..101fe9b 100644
> --- a/meta/classes/report-error.bbclass
> +++ b/meta/classes/report-error.bbclass
> @@ -24,6 +24,15 @@ def errorreport_savedata(e, newdata, file):
> json.dump(newdata, f, indent=4, sort_keys=True)
> return datafile
>
> +def errorreport_testlogforbinary(data):
> + for c in data:
> + # If the data contains non visible character below 10 it's a binary
> + if (ord(c) < 10):
> + return True
> +
> + return False
> +
> +
> python errorreport_handler () {
> import json
>
> @@ -48,7 +57,13 @@ python errorreport_handler () {
> taskdata['task'] = task
> if log:
> logFile = open(log, 'r')
> - taskdata['log'] = logFile.read()
> + # Detect binary log output
> + logdata = logFile.read()
> + if errorreport_testlogforbinary(logdata):
> + taskdata['log'] = "Log in binary format"
> + else:
> + taskdata['log'] = logdata
> +
> logFile.close()
> else:
> taskdata['log'] = "No Log"
I was thinking about this a bit more. How about we put a try/except
around the json code which sets taskdata['log'] = "Log in binary format"
if the original coding doesn't work for any reason? That way we should
catch any problem with the log?
Cheers,
Richard
More information about the Openembedded-core
mailing list