aboutsummaryrefslogtreecommitdiff
path: root/generate-waterfall-reports.py
diff options
context:
space:
mode:
authorZhizhou Yang <zhizhouy@google.com>2017-07-22 01:20:28 +0000
committerandroid-build-merger <android-build-merger@google.com>2017-07-22 01:20:28 +0000
commitec1dfabf71cfe08796ba80ae03f4857b2797f5f9 (patch)
treebf139ee25415cecde142e95791edba3803b2452a /generate-waterfall-reports.py
parent3690e025de8daaed03c4acb02d2b054e5c4c0dd5 (diff)
parentf1a93c225b92dc0059e7d7e2de7c7bd0a493e23d (diff)
downloadtoolchain-utils-ec1dfabf71cfe08796ba80ae03f4857b2797f5f9.tar.gz
Merge branch 'aosp/mirror-chromium-master' into update_utils am: 4307f4735e am: 18caef1edd am: 6c551e0d52 am: ddfea1f7e7android-wear-9.0.0_r9android-wear-9.0.0_r8android-wear-9.0.0_r7android-wear-9.0.0_r6android-wear-9.0.0_r5android-wear-9.0.0_r4android-wear-9.0.0_r34android-wear-9.0.0_r33android-wear-9.0.0_r32android-wear-9.0.0_r31android-wear-9.0.0_r30android-wear-9.0.0_r3android-wear-9.0.0_r29android-wear-9.0.0_r28android-wear-9.0.0_r27android-wear-9.0.0_r26android-wear-9.0.0_r25android-wear-9.0.0_r24android-wear-9.0.0_r23android-wear-9.0.0_r22android-wear-9.0.0_r21android-wear-9.0.0_r20android-wear-9.0.0_r2android-wear-9.0.0_r19android-wear-9.0.0_r18android-wear-9.0.0_r17android-wear-9.0.0_r16android-wear-9.0.0_r15android-wear-9.0.0_r14android-wear-9.0.0_r13android-wear-9.0.0_r12android-wear-9.0.0_r11android-wear-9.0.0_r10android-wear-9.0.0_r1android-vts-9.0_r9android-vts-9.0_r8android-vts-9.0_r7android-vts-9.0_r6android-vts-9.0_r5android-vts-9.0_r4android-vts-9.0_r19android-vts-9.0_r18android-vts-9.0_r17android-vts-9.0_r16android-vts-9.0_r15android-vts-9.0_r14android-vts-9.0_r13android-vts-9.0_r12android-vts-9.0_r11android-vts-9.0_r10android-security-9.0.0_r76android-security-9.0.0_r75android-security-9.0.0_r74android-security-9.0.0_r73android-security-9.0.0_r72android-security-9.0.0_r71android-security-9.0.0_r70android-security-9.0.0_r69android-security-9.0.0_r68android-security-9.0.0_r67android-security-9.0.0_r66android-security-9.0.0_r65android-security-9.0.0_r64android-security-9.0.0_r63android-security-9.0.0_r62android-o-mr1-iot-release-1.0.4android-o-mr1-iot-release-1.0.3android-cts-9.0_r9android-cts-9.0_r8android-cts-9.0_r7android-cts-9.0_r6android-cts-9.0_r5android-cts-9.0_r4android-cts-9.0_r3android-cts-9.0_r20android-cts-9.0_r2android-cts-9.0_r19android-cts-9.0_r18android-cts-9.0_r17android-cts-9.0_r16android-cts-9.0_r15android-cts-9.0_r14android-cts-9.0_r13android-cts-9.0_r12android-cts-9.0_r11android-cts-9.0_r10android-cts-9.0_r1android-9.0.0_r9android-9.0.0_r8android-9.0.0_r7android-9.0.0_r61android-9.0.0_r60android-9.0.0_r6android-9.0.0_r59android-9.0.0_r58android-9.0.0_r57android-9.0.0_r56android-9.0.0_r55android-9.0.0_r54android-9.0.0_r53android-9.0.0_r52android-9.0.0_r51android-9.0.0_r50android-9.0.0_r5android-9.0.0_r49android-9.0.0_r48android-9.0.0_r47android-9.0.0_r46android-9.0.0_r45android-9.0.0_r44android-9.0.0_r43android-9.0.0_r42android-9.0.0_r41android-9.0.0_r40android-9.0.0_r39android-9.0.0_r38android-9.0.0_r37android-9.0.0_r36android-9.0.0_r35android-9.0.0_r34android-9.0.0_r33android-9.0.0_r32android-9.0.0_r31android-9.0.0_r30android-9.0.0_r3android-9.0.0_r22android-9.0.0_r21android-9.0.0_r20android-9.0.0_r2android-9.0.0_r19android-9.0.0_r18android-9.0.0_r17android-9.0.0_r16android-9.0.0_r12android-9.0.0_r11android-9.0.0_r10android-9.0.0_r1security-pi-releasepie-vts-releasepie-security-releasepie-s2-releasepie-release-2pie-releasepie-r2-s2-releasepie-r2-s1-releasepie-r2-releasepie-qpr3-s1-releasepie-qpr3-releasepie-qpr3-b-releasepie-qpr2-releasepie-qpr1-s3-releasepie-qpr1-s2-releasepie-qpr1-s1-releasepie-qpr1-releasepie-platform-releasepie-gsipie-dr1-releasepie-dr1-devpie-devpie-cuttlefish-testingpie-cts-releasepie-b4s4-releasepie-b4s4-dev
am: f1a93c225b Change-Id: I60d258ddb8fd0bf9632f1f70c5cdeb3078938059
Diffstat (limited to 'generate-waterfall-reports.py')
-rwxr-xr-xgenerate-waterfall-reports.py58
1 files changed, 25 insertions, 33 deletions
diff --git a/generate-waterfall-reports.py b/generate-waterfall-reports.py
index ed8e3696..8a809059 100755
--- a/generate-waterfall-reports.py
+++ b/generate-waterfall-reports.py
@@ -32,13 +32,9 @@ import time
from cros_utils import command_executer
# All the test suites whose data we might want for the reports.
-TESTS = (
- ('bvt-inline', 'HWTest'),
- ('bvt-cq', 'HWTest'),
- ('toolchain-tests', 'HWTest'),
- ('security', 'HWTest'),
- ('kernel_daily_regression', 'HWTest'),
- ('kernel_daily_benchmarks', 'HWTest'),)
+TESTS = (('bvt-inline', 'HWTest'), ('bvt-cq', 'HWTest'), ('security', 'HWTest'),
+ ('kernel_daily_regression', 'HWTest'), ('kernel_daily_benchmarks',
+ 'HWTest'),)
# The main waterfall builders, IN THE ORDER IN WHICH WE WANT THEM
# LISTED IN THE REPORT.
@@ -127,8 +123,8 @@ def PruneOldFailures(failure_dict, int_date):
def GetBuildID(build_bot, date):
"""Get the build id for a build_bot at a given date."""
- day = '{day:02d}'.format(day=date%100)
- mon = MONTHS[date/100%100]
+ day = '{day:02d}'.format(day=date % 100)
+ mon = MONTHS[date / 100 % 100]
date_string = mon + ' ' + day
if build_bot in WATERFALL_BUILDERS:
url = 'https://uberchromegw.corp.google.com/i/chromeos/' + \
@@ -136,7 +132,7 @@ def GetBuildID(build_bot, date):
if build_bot in ROTATING_BUILDERS:
url = 'https://uberchromegw.corp.google.com/i/chromiumos.tryserver/' + \
'builders/%s?numbuilds=200' % build_bot
- command = 'sso_client %s' %url
+ command = 'sso_client %s' % url
retval = 1
retry_time = 3
while retval and retry_time:
@@ -237,13 +233,13 @@ def GenerateWaterfallReport(report_dict, fail_dict, waterfall_type, date,
out_file.write('\nStatus of %s Waterfall Builds from %s\n\n' %
(waterfall_type, date_string))
out_file.write(' '
- ' kernel kernel\n')
+ ' kernel kernel\n')
out_file.write(' Build bvt- bvt-cq '
- 'toolchain- security daily daily\n')
+ ' security daily daily\n')
out_file.write(' status inline '
- ' tests regression benchmarks\n')
+ ' regression benchmarks\n')
out_file.write(' [P/ F/ DR]* [P/ F /DR]* '
- '[P/ F/ DR]* [P/ F/ DR]* [P/ F/ DR]* [P/ F/ DR]*\n\n')
+ '[P/ F/ DR]* [P/ F/ DR]* [P/ F/ DR]*\n\n')
# Write daily waterfall status section.
for i in range(0, len(report_list)):
@@ -262,9 +258,7 @@ def GenerateWaterfallReport(report_dict, fail_dict, waterfall_type, date,
inline_color = build_dict.get('bvt-inline-color', '')
cq_color = build_dict.get('bvt-cq-color', '')
if 'x86' not in builder:
- toolchain = build_dict.get('toolchain-tests', '[??/ ?? /??]')
security = build_dict.get('security', '[??/ ?? /??]')
- toolchain_color = build_dict.get('toolchain-tests-color', '')
security_color = build_dict.get('security-color', '')
if 'gcc' in builder:
regression = build_dict.get('kernel_daily_regression', '[??/ ?? /??]')
@@ -272,20 +266,18 @@ def GenerateWaterfallReport(report_dict, fail_dict, waterfall_type, date,
regression_color = build_dict.get('kernel_daily_regression-color', '')
bench_color = build_dict.get('kernel_daily_benchmarks-color', '')
out_file.write(' %6s %6s'
- ' %6s %6s %6s %6s\n' %
- (inline_color, cq_color, toolchain_color,
- security_color, regression_color, bench_color))
- out_file.write('%25s %3s %s %s %s %s %s %s\n' % (builder, status,
- inline, cq,
- toolchain, security,
- regression, bench))
+ ' %6s %6s %6s\n' %
+ (inline_color, cq_color, security_color,
+ regression_color, bench_color))
+ out_file.write('%25s %3s %s %s %s %s %s\n' %
+ (builder, status, inline, cq, security, regression,
+ bench))
else:
out_file.write(' %6s %6s'
- ' %6s %6s\n' % (inline_color, cq_color,
- toolchain_color,
- security_color))
- out_file.write('%25s %3s %s %s %s %s\n' % (builder, status, inline,
- cq, toolchain, security))
+ ' %6s\n' % (inline_color, cq_color,
+ security_color))
+ out_file.write('%25s %3s %s %s %s\n' % (builder, status, inline, cq,
+ security))
else:
out_file.write(' %6s %6s\n' %
(inline_color, cq_color))
@@ -372,8 +364,9 @@ def UpdateReport(report_dict, builder, test, report_date, build_link,
build_dict['date'] = report_date
if 'board' in build_dict and build_dict['board'] != board:
- raise RuntimeError('Error: Two different boards (%s,%s) in one build (%s)!'
- % (board, build_dict['board'], build_link))
+ raise RuntimeError(
+ 'Error: Two different boards (%s,%s) in one build (%s)!' %
+ (board, build_dict['board'], build_link))
build_dict['board'] = board
color_key = '%s-color' % test
@@ -819,9 +812,8 @@ def Main(argv):
EmailReport(main_report, 'Main', format_date(int_date))
shutil.copy(main_report, ARCHIVE_DIR)
if rotating_report_dict and not main_only and not failures_report:
- rotating_report = GenerateWaterfallReport(rotating_report_dict,
- failure_dict, 'rotating',
- int_date, omit_failures)
+ rotating_report = GenerateWaterfallReport(
+ rotating_report_dict, failure_dict, 'rotating', int_date, omit_failures)
EmailReport(rotating_report, 'Rotating', format_date(int_date))
shutil.copy(rotating_report, ARCHIVE_DIR)