Commit a903f879 authored by Wenbin Zhang's avatar Wenbin Zhang Committed by Commit Bot

[Benchmarking] Presubmit checks story versions for smoke tests

In order to save CQ capacity, system_health_smoke_tests.py checks the
story versions to make sure that we only run the latest version. The
version check happens when loadng all the stories. When it fails, the
try job shows all shards as failed, instead of reporting the correct
info. Hers's an example from the bug:
https://ci.chromium.org/p/chromium/builders/try/android-marshmallow-arm64-rel/369559

Since this is more a configuration issue, we now change it to be reported
at an earlier stage, i.e., in PRESUBMIT.

Bug: 1006771
Change-Id: I53882078a4784b460b2add78725ea18e8bfffddd
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1850353
Commit-Queue: Wenbin Zhang <wenbinzhang@google.com>
Reviewed-by: default avatarCaleb Rouleau <crouleau@chromium.org>
Cr-Commit-Position: refs/heads/master@{#704989}
parent 3a87975a
...@@ -29,6 +29,7 @@ def _CommonChecks(input_api, output_api, block_on_failure=False): ...@@ -29,6 +29,7 @@ def _CommonChecks(input_api, output_api, block_on_failure=False):
_CheckPerfJsonConfigs(input_api, output_api, block_on_failure)) _CheckPerfJsonConfigs(input_api, output_api, block_on_failure))
results.extend(_CheckWprShaFiles(input_api, output_api)) results.extend(_CheckWprShaFiles(input_api, output_api))
results.extend(_CheckShardMaps(input_api, output_api, block_on_failure)) results.extend(_CheckShardMaps(input_api, output_api, block_on_failure))
results.extend(_CheckVersionsInSmokeTests(input_api, output_api))
results.extend(input_api.RunTests(input_api.canned_checks.GetPylint( results.extend(input_api.RunTests(input_api.canned_checks.GetPylint(
input_api, output_api, extra_paths_list=_GetPathsToPrepend(input_api), input_api, output_api, extra_paths_list=_GetPathsToPrepend(input_api),
pylintrc='pylintrc'))) pylintrc='pylintrc')))
...@@ -171,6 +172,20 @@ def _CheckJson(input_api, output_api): ...@@ -171,6 +172,20 @@ def _CheckJson(input_api, output_api):
return [output_api.PresubmitError('Error parsing JSON in %s!' % filename)] return [output_api.PresubmitError('Error parsing JSON in %s!' % filename)]
return [] return []
def _CheckVersionsInSmokeTests(input_api, output_api):
results = []
perf_dir = input_api.PresubmitLocalPath()
vpython = 'vpython.bat' if input_api.is_windows else 'vpython'
out, return_code = _RunArgs([
vpython,
input_api.os_path.join(
perf_dir, 'benchmarks', 'system_health_load_tests_smoke_test.py')],
input_api)
if return_code:
results.append(output_api.PresubmitError(
'Validating story versions failed', long_text=out))
return results
def CheckChangeOnUpload(input_api, output_api): def CheckChangeOnUpload(input_api, output_api):
report = [] report = []
......
#!/usr/bin/env vpython
# Copyright 2019 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
"""Script to check story version in system_health_smoke_tests."""
import sys
import os
sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..'))
from core import path_util
path_util.AddTelemetryToPath()
from benchmarks import system_health_smoke_test
def main():
system_health_smoke_test.load_tests(None, None, None)
return 0
if __name__ == '__main__':
sys.exit(main())
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment