<div dir="auto"><div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Apr 19, 2019, 12:05 AM akuster808 <<a href="mailto:akuster808@gmail.com">akuster808@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
<br>
On 4/18/19 7:57 PM, Joshua Watt wrote:<br>
> Adds a subcommand for dumping various logs from test results<br>
><br>
> Signed-off-by: Joshua Watt <<a href="mailto:JPEWhacker@gmail.com" target="_blank" rel="noreferrer">JPEWhacker@gmail.com</a>><br>
> ---<br>
> scripts/lib/resulttool/log.py | 56 ++++++++++++++++++++++++++++<br>
> scripts/lib/resulttool/regression.py | 2 +-<br>
> scripts/resulttool | 2 +<br>
> 3 files changed, 59 insertions(+), 1 deletion(-)<br>
> create mode 100644 scripts/lib/resulttool/log.py<br>
><br>
> diff --git a/scripts/lib/resulttool/log.py b/scripts/lib/resulttool/log.py<br>
> new file mode 100644<br>
> index 00000000000..5584f2d0a99<br>
> --- /dev/null<br>
> +++ b/scripts/lib/resulttool/log.py<br>
> @@ -0,0 +1,56 @@<br>
> +# resulttool - Show logs<br>
> +#<br>
> +# Copyright (c) 2019 Garmin International<br>
> +#<br>
> +# This program is free software; you can redistribute it and/or modify it<br>
> +# under the terms and conditions of the GNU General Public License,<br>
> +# version 2, as published by the Free Software Foundation.<br>
> +#<br>
> +# This program is distributed in the hope it will be useful, but WITHOUT<br>
> +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or<br>
> +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for<br>
> +# more details.<br>
> +#<br>
> +import resulttool.resultutils as resultutils<br>
> +<br>
> +def show_ptest(result, ptest, logger):<br>
> + if 'ptestresult.sections' in result:<br>
> + if ptest in result['ptestresult.sections'] and 'log' in result['ptestresult.sections'][ptest]:<br>
> + print(result['ptestresult.sections'][ptest]['log'])<br>
> + return 0<br>
> +<br>
> + print("ptest '%s' not found" % ptest)<br>
> + return 1<br>
> +<br>
> +def log(args, logger):<br>
> + results = resultutils.load_resultsdata(args.source)<br>
> + for path in results:<br>
> + for res in results[path]:<br>
> + if 'result' not in results[path][res]:<br>
> + continue<br>
> + r = results[path][res]['result']<br>
> +<br>
> + if args.raw:<br>
> + if 'ptestresult.rawlogs' in r:<br>
> + print(r['ptestresult.rawlogs']['log'])<br>
> + else:<br>
> + print('Raw logs not found')<br>
> + return 1<br>
> +<br>
> + for ptest in args.ptest:<br>
> + if not show_ptest(r, ptest, logger):<br>
> + return 1<br>
> +<br>
> +def register_commands(subparsers):<br>
> + """Register subcommands from this plugin"""<br>
> + parser = subparsers.add_parser('log', help='show logs',<br>
> + description='show the logs from test results',<br>
> + group='analysis')<br>
> + parser.set_defaults(func=log)<br>
> + parser.add_argument('source',<br>
> + help='the results file/directory/URL to import')<br>
> + parser.add_argument('--ptest', action='append', default=[],<br>
> + help='show logs for a ptest')<br>
> + parser.add_argument('--raw', action='store_true',<br>
> + help='show raw logs')<br>
> +<br>
> diff --git a/scripts/lib/resulttool/regression.py b/scripts/lib/resulttool/regression.py<br>
> index aecb9da9ce5..fa90ab1e522 100644<br>
> --- a/scripts/lib/resulttool/regression.py<br>
> +++ b/scripts/lib/resulttool/regression.py<br>
> @@ -64,7 +64,7 @@ def regression_common(args, logger, base_results, target_results):<br>
> if a in target_results:<br>
> base = list(base_results[a].keys())<br>
> target = list(target_results[a].keys())<br>
> - # We may have multiple base/targets which are for different configurations. Start by <br>
> + # We may have multiple base/targets which are for different configurations. Start by<br>
This change looks the same to me so what am I missing?<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">It stripped off trailing whitespace and I missed removing it when staging.<br></div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
- Armin<br>
> # removing any pairs which match<br>
> for c in base.copy():<br>
> for b in target.copy():<br>
> diff --git a/scripts/resulttool b/scripts/resulttool<br>
> index 18ac1019236..9477667a870 100755<br>
> --- a/scripts/resulttool<br>
> +++ b/scripts/resulttool<br>
> @@ -49,6 +49,7 @@ import resulttool.store<br>
> import resulttool.regression<br>
> import resulttool.report<br>
> import resulttool.manualexecution<br>
> +import resulttool.log<br>
> logger = scriptutils.logger_create('resulttool')<br>
> <br>
> def main():<br>
> @@ -66,6 +67,7 @@ def main():<br>
> subparsers.add_subparser_group('analysis', 'analysis', 100)<br>
> resulttool.regression.register_commands(subparsers)<br>
> resulttool.report.register_commands(subparsers)<br>
> + resulttool.log.register_commands(subparsers)<br>
> <br>
> args = parser.parse_args()<br>
> if args.debug:<br>
<br>
<br>
</blockquote></div></div></div>