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""" | |||
| 541 | default='{hostname}/{branch}/{machine}/{commit_number}-g{commit}/{tag_number}', | 541 | default='{hostname}/{branch}/{machine}/{commit_number}-g{commit}/{tag_number}', |
| 542 | help="Tag name (pattern) for finding results") | 542 | help="Tag name (pattern) for finding results") |
| 543 | group.add_argument('--hostname', '-H') | 543 | group.add_argument('--hostname', '-H') |
| 544 | group.add_argument('--branch', '-B', default='master') | 544 | group.add_argument('--branch', '-B', default='master', help="Branch to find commit in") |
| 545 | group.add_argument('--branch2') | 545 | group.add_argument('--branch2', help="Branch to find comparision revisions in") |
| 546 | group.add_argument('--machine', default='qemux86') | 546 | group.add_argument('--machine', default='qemux86') |
| 547 | group.add_argument('--history-length', default=25, type=int, | 547 | group.add_argument('--history-length', default=25, type=int, |
| 548 | help="Number of tested revisions to plot in html report") | 548 | help="Number of tested revisions to plot in html report") |
| @@ -581,13 +581,18 @@ def main(argv=None): | |||
| 581 | revs = get_test_revs(repo, args.tag_name, hostname=args.hostname, | 581 | revs = get_test_revs(repo, args.tag_name, hostname=args.hostname, |
| 582 | branch=args.branch, machine=args.machine) | 582 | branch=args.branch, machine=args.machine) |
| 583 | if args.branch2: | 583 | if args.branch2: |
| 584 | revs = revs + get_test_revs(repo, args.tag_name, hostname=args.hostname, | 584 | revs2 = get_test_revs(repo, args.tag_name, hostname=args.hostname, |
| 585 | branch=args.branch2, machine=args.machine) | 585 | branch=args.branch2, machine=args.machine) |
| 586 | 586 | if not len(revs2): | |
| 587 | if len(revs) < 2: | 587 | log.error("No revisions found to compare against") |
| 588 | log.error("%d tester revisions found, unable to generate report", | 588 | return 1 |
| 589 | len(revs)) | 589 | if not len(revs): |
| 590 | return 1 | 590 | log.error("No revision to report on found") |
| 591 | return 1 | ||
| 592 | else: | ||
| 593 | if len(revs) < 2: | ||
| 594 | log.error("Only %d tester revisions found, unable to generate report" % len(revs)) | ||
| 595 | return 1 | ||
| 591 | 596 | ||
| 592 | # Pick revisions | 597 | # Pick revisions |
| 593 | if args.commit: | 598 | if args.commit: |
| @@ -599,6 +604,11 @@ def main(argv=None): | |||
| 599 | else: | 604 | else: |
| 600 | index1 = len(revs) - 1 | 605 | index1 = len(revs) - 1 |
| 601 | 606 | ||
| 607 | if args.branch2: | ||
| 608 | revs2.append(revs[index1]) | ||
| 609 | index1 = len(revs2) - 1 | ||
| 610 | revs = revs2 | ||
| 611 | |||
| 602 | if args.commit2: | 612 | if args.commit2: |
| 603 | if args.commit_number2: | 613 | if args.commit_number2: |
| 604 | log.warning("Ignoring --commit-number2 as --commit2 was specified") | 614 | log.warning("Ignoring --commit-number2 as --commit2 was specified") |
| @@ -608,6 +618,11 @@ def main(argv=None): | |||
| 608 | else: | 618 | else: |
| 609 | if index1 > 0: | 619 | if index1 > 0: |
| 610 | index2 = index1 - 1 | 620 | index2 = index1 - 1 |
| 621 | # Find the closest matching commit number for comparision | ||
| 622 | # In future we could check the commit is a common ancestor and | ||
| 623 | # continue back if not but this good enough for now | ||
| 624 | while index2 > 0 and revs[index2].commit_number > revs[index1].commit_number: | ||
| 625 | index2 = index2 - 1 | ||
| 611 | else: | 626 | else: |
| 612 | log.error("Unable to determine the other commit, use " | 627 | log.error("Unable to determine the other commit, use " |
| 613 | "--commit2 or --commit-number2 to specify it") | 628 | "--commit2 or --commit-number2 to specify it") |
