diff options
-rwxr-xr-x | scripts/oe-build-perf-report | 31 |
1 files changed, 23 insertions, 8 deletions
diff --git a/scripts/oe-build-perf-report b/scripts/oe-build-perf-report index b7b09391cb..b3c769895e 100755 --- a/scripts/oe-build-perf-report +++ b/scripts/oe-build-perf-report @@ -541,8 +541,8 @@ Examine build performance test results from a Git repository""" default='{hostname}/{branch}/{machine}/{commit_number}-g{commit}/{tag_number}', help="Tag name (pattern) for finding results") group.add_argument('--hostname', '-H') - group.add_argument('--branch', '-B', default='master') - group.add_argument('--branch2') + group.add_argument('--branch', '-B', default='master', help="Branch to find commit in") + group.add_argument('--branch2', help="Branch to find comparision revisions in") group.add_argument('--machine', default='qemux86') group.add_argument('--history-length', default=25, type=int, help="Number of tested revisions to plot in html report") @@ -581,13 +581,18 @@ def main(argv=None): revs = get_test_revs(repo, args.tag_name, hostname=args.hostname, branch=args.branch, machine=args.machine) if args.branch2: - revs = revs + get_test_revs(repo, args.tag_name, hostname=args.hostname, + revs2 = get_test_revs(repo, args.tag_name, hostname=args.hostname, branch=args.branch2, machine=args.machine) - - if len(revs) < 2: - log.error("%d tester revisions found, unable to generate report", - len(revs)) - return 1 + if not len(revs2): + log.error("No revisions found to compare against") + return 1 + if not len(revs): + log.error("No revision to report on found") + return 1 + else: + if len(revs) < 2: + log.error("Only %d tester revisions found, unable to generate report" % len(revs)) + return 1 # Pick revisions if args.commit: @@ -599,6 +604,11 @@ def main(argv=None): else: index1 = len(revs) - 1 + if args.branch2: + revs2.append(revs[index1]) + index1 = len(revs2) - 1 + revs = revs2 + if args.commit2: if args.commit_number2: log.warning("Ignoring --commit-number2 as --commit2 was specified") @@ -608,6 +618,11 @@ def main(argv=None): else: if index1 > 0: index2 = index1 - 1 + # Find the closest matching commit number for comparision + # In future we could check the commit is a common ancestor and + # continue back if not but this good enough for now + while index2 > 0 and revs[index2].commit_number > revs[index1].commit_number: + index2 = index2 - 1 else: log.error("Unable to determine the other commit, use " "--commit2 or --commit-number2 to specify it") |