| Index: scripts/slave/recipes/bisect_test/example_bisect_results_staging.py
|
| diff --git a/scripts/slave/recipes/bisect_test/example_bisect_results_staging.py b/scripts/slave/recipes/bisect_test/example_bisect_results_staging.py
|
| deleted file mode 100644
|
| index 2e507a5e38cc0ddda7fd7872fd8baf741698fb1d..0000000000000000000000000000000000000000
|
| --- a/scripts/slave/recipes/bisect_test/example_bisect_results_staging.py
|
| +++ /dev/null
|
| @@ -1,176 +0,0 @@
|
| -# Copyright 2015 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.
|
| -
|
| -"""This example file is meant to provide coverage to bisect_results."""
|
| -
|
| -DEPS = [
|
| - 'auto_bisect_staging',
|
| - 'recipe_engine/json',
|
| - 'recipe_engine/path',
|
| - 'recipe_engine/properties',
|
| - 'recipe_engine/raw_io',
|
| -]
|
| -
|
| -BASIC_CONFIG = {
|
| - 'test_type': 'perf',
|
| - 'command':
|
| - ('src/tools/perf/run_benchmark -v --browser=release smoothness.'
|
| - 'tough_scrolling_cases'),
|
| - 'good_revision': '314015',
|
| - 'bad_revision': '314017',
|
| - 'metric': 'mean_input_event_latency/mean_input_event_latency',
|
| - 'repeat_count': '2',
|
| - 'max_time_minutes': '5',
|
| - 'gs_bucket': 'chrome-perf',
|
| - 'builder_host': 'master4.golo.chromium.org',
|
| - 'builder_port': '8341',
|
| - 'dummy_builds': 'True',
|
| - 'dummy_job_names': 'True',
|
| - 'bypass_stats_check': 'True',
|
| - 'skip_gclient_ops': 'True',
|
| -}
|
| -
|
| -BASIC_ATTRIBUTES = {
|
| - 'bisect_over': True,
|
| - 'results_confidence': 0.99,
|
| - 'warnings': ['This is a demo warning'],
|
| - 'culprit_present': True,
|
| -}
|
| -
|
| -NON_TELEMETRY_TEST_CONFIG = dict(BASIC_CONFIG)
|
| -NON_TELEMETRY_TEST_CONFIG['command'] = 'src/tools/dummy_command'
|
| -
|
| -DEPS_CULPRIT_ATTRIBUTES = dict(BASIC_ATTRIBUTES)
|
| -DEPS_CULPRIT_ATTRIBUTES['culprit.depot'] = {'src': 'fake_location'}
|
| -
|
| -FAILED_ATTRIBUTES = dict(BASIC_ATTRIBUTES)
|
| -FAILED_ATTRIBUTES['failed'] = True
|
| -FAILED_ATTRIBUTES['culprit_present'] = False
|
| -
|
| -FAILED_DIRECTION_ATTRIBUTES = dict(BASIC_ATTRIBUTES)
|
| -FAILED_DIRECTION_ATTRIBUTES['failed_direction'] = True
|
| -FAILED_DIRECTION_ATTRIBUTES['culprit_present'] = False
|
| -
|
| -ABORTED_BISECT_ATTRIBUTES = dict(BASIC_ATTRIBUTES)
|
| -ABORTED_BISECT_ATTRIBUTES['failed_initial_confidence'] = True
|
| -ABORTED_BISECT_ATTRIBUTES['culprit_present'] = False
|
| -
|
| -
|
| -def RunSteps(api):
|
| - api.path['checkout'] = api.path.mkdtemp('bogus')
|
| - bisector = api.auto_bisect_staging.create_bisector(
|
| - api.properties['bisect_config'], dummy_mode=True)
|
| - # Load the simulated results of a bisect
|
| - dummy_bisector_attributes = dict(api.properties['dummy_bisector_attributes'])
|
| -
|
| - # Simulate the side-effects of a bisect by setting the bisector attributes
|
| - # directly.
|
| - if dummy_bisector_attributes.pop('culprit_present'):
|
| - bisector.culprit = bisector.bad_rev
|
| - set_attributes(bisector, dummy_bisector_attributes)
|
| -
|
| - bisector.post_result()
|
| -
|
| -
|
| -def set_attributes(target, attributes):
|
| - """Sets values to the attributes of an object based on a dict.
|
| -
|
| - This goes one extra level deep so as to set an attribute's attribute:
|
| - e.g.: set_attributes(some_object, {'some_attribute': 1,
|
| - 'other_attribute.nested_val': False})
|
| - """
|
| - for k, v in attributes.iteritems():
|
| - if '.' in k:
|
| - sub_target = getattr(target, k.split('.')[0])
|
| - setattr(sub_target, k.split('.')[1], v)
|
| - else:
|
| - setattr(target, k, v)
|
| -
|
| -
|
| -def add_revision_mapping(api, test, pos, sha):
|
| - step_name = ('Resolving reference range.crrev get commit hash for ' +
|
| - 'refs/heads/master@{#%s}' % pos)
|
| - stdout = api.json.output({'git_sha': sha})
|
| - test += api.step_data(step_name, stdout=stdout)
|
| -
|
| - step_name = 'Resolving reference range.resolving hash ' + sha
|
| - pos = 'refs/heads/master@{#%s}' % pos
|
| - stdout = api.raw_io.output(pos)
|
| - return test
|
| -
|
| -
|
| -def add_revision_info(api, test):
|
| - step_name = 'Reading culprit cl information.'
|
| - rev_info = {
|
| - 'author': 'DummyAuthor',
|
| - 'email': 'dummy@nowhere.com',
|
| - 'subject': 'Some random CL',
|
| - 'date': '01/01/2015',
|
| - 'body': ('A long description for a CL.\n'
|
| - 'Containing multiple lines'),
|
| - }
|
| - return test + api.step_data(step_name, stdout=api.json.output(rev_info))
|
| -
|
| -
|
| -def get_post_bisect_step_data(api, test):
|
| - """Gets step data for perf_dashboard/resource/post_json.py."""
|
| - response = {'status_code': 200}
|
| - return test + api.step_data('Post bisect results',
|
| - stdout=api.json.output(response))
|
| -
|
| -
|
| -def GenTests(api):
|
| - basic_test = api.test('basic_test')
|
| - basic_test = get_post_bisect_step_data(api, basic_test)
|
| - basic_test = add_revision_mapping(api, basic_test, '314015', 'c001c0de')
|
| - basic_test = add_revision_mapping(api, basic_test, '314017', 'deadbeef')
|
| - basic_test = add_revision_info(api, basic_test)
|
| - basic_test += api.properties(
|
| - bisect_config = BASIC_CONFIG,
|
| - dummy_bisector_attributes = BASIC_ATTRIBUTES)
|
| - yield basic_test
|
| -
|
| - deps_culprit_test = api.test('deps_culprit_test')
|
| - deps_culprit_test = get_post_bisect_step_data(api, deps_culprit_test)
|
| - deps_culprit_test = add_revision_mapping(
|
| - api, deps_culprit_test, '314015', 'c001c0de')
|
| - deps_culprit_test = add_revision_mapping(
|
| - api, deps_culprit_test, '314017', 'deadbeef')
|
| - deps_culprit_test = add_revision_info(api, deps_culprit_test)
|
| - deps_culprit_test += api.properties(
|
| - bisect_config = BASIC_CONFIG,
|
| - dummy_bisector_attributes = DEPS_CULPRIT_ATTRIBUTES)
|
| - yield deps_culprit_test
|
| -
|
| - failed_test = api.test('failed_test')
|
| - failed_test = get_post_bisect_step_data(api, failed_test)
|
| - failed_test = add_revision_mapping(api, failed_test, '314015', 'c001c0de')
|
| - failed_test = add_revision_mapping(api, failed_test, '314017', 'deadbeef')
|
| - failed_test += api.properties(
|
| - bisect_config = BASIC_CONFIG,
|
| - dummy_bisector_attributes = FAILED_ATTRIBUTES)
|
| - yield failed_test
|
| -
|
| - failed_direction_test = api.test('failed_direction_test')
|
| - failed_direction_test = get_post_bisect_step_data(api,
|
| - failed_direction_test)
|
| - failed_direction_test = add_revision_mapping(api, failed_direction_test,
|
| - '314015', 'c001c0de')
|
| - failed_direction_test = add_revision_mapping(api, failed_direction_test,
|
| - '314017', 'deadbeef')
|
| - failed_direction_test += api.properties(
|
| - bisect_config = BASIC_CONFIG,
|
| - dummy_bisector_attributes = FAILED_DIRECTION_ATTRIBUTES)
|
| - yield failed_direction_test
|
| -
|
| - aborted_bisect_test = api.test('aborted_non_telemetry_test')
|
| - aborted_bisect_test = get_post_bisect_step_data(api, aborted_bisect_test)
|
| - aborted_bisect_test = add_revision_mapping(api, aborted_bisect_test, '314015',
|
| - 'c001c0de')
|
| - aborted_bisect_test = add_revision_mapping(api, aborted_bisect_test, '314017',
|
| - 'deadbeef')
|
| - aborted_bisect_test += api.properties(
|
| - bisect_config = NON_TELEMETRY_TEST_CONFIG,
|
| - dummy_bisector_attributes = ABORTED_BISECT_ATTRIBUTES)
|
| - yield aborted_bisect_test
|
|
|