diff --git a/tools/quality_tracking/constants.py b/tools/quality_tracking/constants.py index c6aac741b8..6fd570cd9f 100644 --- a/tools/quality_tracking/constants.py +++ b/tools/quality_tracking/constants.py @@ -30,7 +30,7 @@ BUILD_MASTER_SERVER = 'webrtc-cb-linux-master.cbf.corp.google.com:8010' BUILD_MASTER_TRANSPOSED_GRID_URL = '/tgrid' # Build bot constants. -BUILD_BOT_COVERAGE_WWW_DIRECTORY = '/var/www/' +BUILD_BOT_COVERAGE_WWW_DIRECTORY = '/var/www/coverage' # Dashboard data input URLs. ADD_COVERAGE_DATA_URL = DASHBOARD_SERVER_HTTP + '/add_coverage_data' diff --git a/tools/quality_tracking/dashboard/add_build_status_data.py b/tools/quality_tracking/dashboard/add_build_status_data.py index 106d1781d4..d26df6fa7e 100644 --- a/tools/quality_tracking/dashboard/add_build_status_data.py +++ b/tools/quality_tracking/dashboard/add_build_status_data.py @@ -145,7 +145,7 @@ class AddBuildStatusData(oauth_post_request_handler.OAuthPostRequestHandler): (build_number, status) = _parse_status(build_number_and_status) (revision, bot_name) = _parse_name(revision_and_bot_name) except ValueError as error: - logger.warn('Invalid parameter in request: %s.' % error) + logging.warn('Invalid parameter in request: %s.' % error) self.response.set_status(400) return diff --git a/tools/quality_tracking/dashboard/add_coverage_data.py b/tools/quality_tracking/dashboard/add_coverage_data.py index 1c9d9da0f0..52a388adc7 100644 --- a/tools/quality_tracking/dashboard/add_coverage_data.py +++ b/tools/quality_tracking/dashboard/add_coverage_data.py @@ -55,7 +55,7 @@ class AddCoverageData(oauth_post_request_handler.OAuthPostRequestHandler): function_coverage = _parse_percentage(function_coverage_string) except ValueError as error: - logger.warn('Invalid parameter in request: %s.' % error) + logging.warn('Invalid parameter in request: %s.' % error) self.response.set_status(400) return diff --git a/tools/quality_tracking/track_coverage.py b/tools/quality_tracking/track_coverage.py index a46ddfc6e9..9d4ed6184d 100755 --- a/tools/quality_tracking/track_coverage.py +++ b/tools/quality_tracking/track_coverage.py @@ -47,21 +47,23 @@ def _find_latest_32bit_debug_build(www_directory_contents, coverage_www_dir): Coverage directories have the form Linux32bitDBG_. There may be other directories in the list though, for instance for other build - configurations. + configurations. We assume here that build numbers keep rising and never + wrap around or anything like that. """ - # This sort ensures we will encounter the directory with the highest number - # first. - www_directory_contents.sort(reverse=True) - + found_build_numbers = [] for entry in www_directory_contents: - match = re.match('Linux32DBG_\d+', entry) + match = re.match('Linux32DBG_(\d+)', entry) if match is not None: - return entry + found_build_numbers.append(int(match.group(1))) - raise CouldNotFindCoverageDirectory('Error: Found no 32-bit ' - 'debug build in directory %s.' % - coverage_www_dir) + if not found_build_numbers: + raise CouldNotFindCoverageDirectory('Error: Found no 32-bit ' + 'debug build in directory %s.' % + coverage_www_dir) + + most_recent = max(found_build_numbers) + return 'Linux32DBG_' + str(most_recent) def _grab_coverage_percentage(label, index_html_contents): @@ -97,7 +99,8 @@ def _main(): dashboard.read_required_files(constants.CONSUMER_SECRET_FILE, constants.ACCESS_TOKEN_FILE) - www_dir_contents = os.listdir(BUILD_BOT_COVERAGE_WWW_DIRECTORY) + coverage_www_dir = constants.BUILD_BOT_COVERAGE_WWW_DIRECTORY + www_dir_contents = os.listdir(coverage_www_dir) latest_build_directory = _find_latest_32bit_debug_build(www_dir_contents, coverage_www_dir)