[gnome-continuous-yocto/gnomeostree-3.28-rocko: 5964/8267] oe-build-perf-report: two verbosity levels for --list
- From: Emmanuele Bassi <ebassi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-continuous-yocto/gnomeostree-3.28-rocko: 5964/8267] oe-build-perf-report: two verbosity levels for --list
- Date: Sun, 17 Dec 2017 04:10:41 +0000 (UTC)
commit 1c46fbd6288ea61266702553a3c4ea8e7bfc2b2a
Author: Markus Lehtonen <markus lehtonen linux intel com>
Date: Mon May 15 14:18:43 2017 +0300
oe-build-perf-report: two verbosity levels for --list
(From OE-Core rev: a77066751c81f27332cc16c565dff6a45c173b6c)
Signed-off-by: Markus Lehtonen <markus lehtonen linux intel com>
Signed-off-by: Ross Burton <ross burton intel com>
Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>
scripts/oe-build-perf-report | 45 ++++++++++++++++++++++++++++++-----------
1 files changed, 33 insertions(+), 12 deletions(-)
---
diff --git a/scripts/oe-build-perf-report b/scripts/oe-build-perf-report
index 6f0b84f..8190acc 100755
--- a/scripts/oe-build-perf-report
+++ b/scripts/oe-build-perf-report
@@ -82,29 +82,50 @@ def get_test_runs(repo, tag_name, **kwargs):
# Return field names and a sorted list of revs
return undef_fields, sorted(revs)
-def list_test_revs(repo, tag_name, **kwargs):
+def list_test_revs(repo, tag_name, verbosity, **kwargs):
"""Get list of all tested revisions"""
fields, revs = get_test_runs(repo, tag_name, **kwargs)
ignore_fields = ['tag_number']
+ if verbosity < 2:
+ extra_fields = ['COMMITS', 'TEST RUNS']
+ ignore_fields.extend(['commit_number', 'commit'])
+ else:
+ extra_fields = ['TEST RUNS']
+
print_fields = [i for i, f in enumerate(fields) if f not in ignore_fields]
# Sort revs
- rows = [[fields[i].upper() for i in print_fields] + ['TEST RUNS']]
- prev = [''] * len(revs)
+ rows = [[fields[i].upper() for i in print_fields] + extra_fields]
+
+ prev = [''] * len(print_fields)
+ prev_commit = None
+ commit_cnt = 0
+ commit_field = fields.index('commit')
for rev in revs:
# Only use fields that we want to print
- rev = [rev[i] for i in print_fields]
+ cols = [rev[i] for i in print_fields]
+
+
+ if cols != prev:
+ commit_cnt = 1
+ test_run_cnt = 1
+ new_row = [''] * (len(print_fields) + len(extra_fields))
- if rev != prev:
- new_row = [''] * len(print_fields) + [1]
for i in print_fields:
- if rev[i] != prev[i]:
+ if cols[i] != prev[i]:
break
- new_row[i:-1] = rev[i:]
+ new_row[i:-len(extra_fields)] = cols[i:]
rows.append(new_row)
else:
- rows[-1][-1] += 1
- prev = rev
+ if rev[commit_field] != prev_commit:
+ commit_cnt += 1
+ test_run_cnt += 1
+
+ if verbosity < 2:
+ new_row[-2] = commit_cnt
+ new_row[-1] = test_run_cnt
+ prev = cols
+ prev_commit = rev[commit_field]
print_table(rows)
@@ -411,7 +432,7 @@ Examine build performance test results from a Git repository"""
help="Verbose logging")
parser.add_argument('--repo', '-r', required=True,
help="Results repository (local git clone)")
- parser.add_argument('--list', '-l', action='store_true',
+ parser.add_argument('--list', '-l', action='count',
help="List available test runs")
parser.add_argument('--html', action='store_true',
help="Generate report in html format")
@@ -447,7 +468,7 @@ def main(argv=None):
repo = GitRepo(args.repo)
if args.list:
- list_test_revs(repo, args.tag_name)
+ list_test_revs(repo, args.tag_name, args.list)
return 0
# Determine hostname which to use
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]