| # 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. |
| |
| import json |
| |
| DEPS = [ |
| 'auto_bisect', |
| 'chromium', |
| 'chromium_tests', |
| 'recipe_engine/json', |
| 'depot_tools/gclient', |
| 'recipe_engine/path', |
| 'recipe_engine/platform', |
| 'recipe_engine/properties', |
| 'recipe_engine/raw_io', |
| 'recipe_engine/step', |
| ] |
| |
| """This file is a recipe demonstrating the auto_bisect recipe module. |
| |
| For more information about recipes, see: https://goo.gl/xKnjz6 |
| """ |
| |
| |
| def RunSteps(api): |
| # Dupe of bisection/desktop_bisect recipe. |
| mastername = api.properties.get('mastername') |
| buildername = api.properties.get('buildername') |
| bot_config = api.chromium_tests.create_bot_config_object( |
| [api.chromium_tests.create_bot_id(mastername, buildername)]) |
| api.chromium_tests.configure_build(bot_config) |
| api.gclient.apply_config('perf') |
| api.gclient.c.got_revision_mapping.pop('catapult', None) |
| update_step, bot_db = api.chromium_tests.prepare_checkout(bot_config) |
| api.path.c.dynamic_paths['catapult'] = ( |
| api.auto_bisect.working_dir.join('catapult')) |
| api.path.c.dynamic_paths['bisect_results'] = api.path['start_dir'].join( |
| 'bisect_results') |
| api.auto_bisect.set_additional_depot_info({ |
| 'fake' : { |
| 'src' : 'src/fake', |
| 'recurse' : True, |
| 'depends' : None, |
| 'from' : ['v8'], |
| 'deps_file': 'DEPS', |
| 'url': 'https://chromium.googlesource.com/fake', |
| 'deps_var': 'fake' |
| }}) |
| api.auto_bisect.start_try_job( |
| api, update_step=update_step, bot_db=bot_db, |
| do_not_nest_wait_for_revision=True) |
| |
| def GenTests(api): |
| |
| yield ( |
| api.test('multi_depot_recurse_with_uneven_deps_expansion') |
| + api.properties( |
| mastername='tryserver.chromium.perf', |
| buildername='linux_perf_bisect', |
| bot_id='dummybot', |
| buildnumber=571, |
| bisect_config={ |
| 'test_type': 'perf', |
| 'command': |
| ('src/tools/perf/run_benchmark -v --browser=release ' |
| '--output-format=valueset smoothness.tough_scrolling_cases'), |
| 'good_revision': '314015', |
| 'bad_revision': '314017', |
| 'metric': 'mean_input_event_latency/mean_input_event_latency', |
| 'bug_id': '-1', |
| 'gs_bucket': 'chrome-perf', |
| 'dummy_builds': 'True', |
| 'dummy_tests': 'True', |
| 'dummy_job_names': 'True', |
| 'bypass_stats_check': 'True', |
| 'skip_gclient_ops': 'True', |
| 'recipe_tester_name': 'linux_perf_tester' |
| }) |
| |
| + api.auto_bisect([ |
| { |
| 'hash': '6cb98fd574', |
| 'commit_pos': '314015', |
| 'parsed_values': [19, 20, 21, 22, 1], |
| 'test_results': 5 * [{'retcode': 0}], |
| }, |
| { |
| 'hash': '3673c419cb', |
| 'commit_pos': '314016', |
| 'parsed_values': [19, 20, 21, 22, 1], |
| 'test_results': 5 * [{'retcode': 0}], |
| "DEPS": ("vars={'v8_revision': '001'};" |
| "deps = {'src/v8': 'v8.git@' + Var('v8_revision')," |
| "'src/third_party/WebKit': 'webkit.git@010'}"), |
| }, |
| { |
| 'depot':'v8', |
| 'hash': '001', |
| 'hidden': True, |
| 'parsed_values': [19, 20, 21, 22, 1], |
| 'test_results': 5 * [{'retcode': 0}], |
| "DEPS": ("vars={'fake': 'f1'};" |
| "deps = {'src/fake': 'fake.git@' + Var('fake')," |
| "'src/third_party/WebKit': 'webkit.git@010'}"), |
| }, |
| { |
| 'depot':'fake', |
| 'hash': 'f2', |
| 'parsed_values': [12, 13, 14, 15, 7], |
| 'test_results': 5 * [{'retcode': 0}], |
| 'gsutil_exists': 10 * [False], |
| 'cl_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'), |
| }, |
| }, |
| { |
| 'depot': 'fake', |
| 'hash': 'f3', |
| 'parsed_values': [12, 13, 14, 15, 7], |
| 'test_results': 5 * [{'retcode': 0}], |
| }, |
| { |
| 'depot':'v8', |
| 'hash': '003', |
| 'parsed_values': [12, 13, 14, 15, 7], |
| 'test_results': 5 * [{'retcode': 0}], |
| 'DEPS_change': 'True', |
| "DEPS": ("vars={'fake': 'f3'};" |
| "deps = {'src/fake': 'fake.git@' + Var('fake')," |
| "'src/third_party/WebKit': 'webkit.git@010'}"), |
| 'DEPS_interval': {'fake': 'f1 f2 f3'.split()}, |
| }, |
| { |
| 'hash': 'dd09cd29a0', |
| 'commit_pos': '314017', |
| 'parsed_values': [12, 13, 14, 15, 7], |
| 'test_results': 5 * [{'retcode': 0}], |
| 'DEPS_change': 'True', |
| "DEPS": ("vars={'v8_revision': '004'};" |
| "deps = {'src/v8': 'v8.git@' + Var('v8_revision')," |
| "'src/third_party/WebKit': 'webkit.git@010'}"), |
| 'DEPS_interval': {'v8': '002 003 004'.split()}, |
| }])) |
| |
| yield ( |
| api.test('basic_linux_bisect') |
| + api.properties( |
| mastername='tryserver.chromium.perf', |
| buildername='linux_perf_bisect', |
| bot_id='dummybot', |
| buildnumber=571, |
| bisect_config={ |
| 'test_type': 'perf', |
| 'command': |
| ('src/tools/perf/run_benchmark -v --browser=release ' |
| '--output-format=valueset smoothness.tough_scrolling_cases'), |
| 'good_revision': '314015', |
| 'bad_revision': '314017', |
| 'metric': 'mean_input_event_latency/mean_input_event_latency', |
| 'bug_id': 123.0, |
| 'gs_bucket': 'chrome-perf', |
| 'dummy_tests': 'True', |
| 'dummy_job_names': 'True', |
| 'bypass_stats_check': 'True', |
| 'skip_gclient_ops': 'True', |
| 'recipe_tester_name': 'linux_perf_tester' |
| }) |
| + api.auto_bisect([ |
| { |
| 'hash': 'a6298e4afedbf2cd461755ea6f45b0ad64222222', |
| 'commit_pos': '314015', |
| 'parsed_values': [19, 20, 23, 1], |
| 'test_results': 5 * [{'retcode': 0}], |
| 'gsutil_exists': 10 * [False] |
| }, |
| { |
| 'hash': 'dcdcdc0ff1122212323134879ddceeb1240b0988', |
| 'commit_pos': '314016', |
| 'parsed_values': [12, 13, 16, 7], |
| 'test_results': 5 * [{'retcode': 0}], |
| 'gsutil_exists': [True], |
| 'cl_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'), |
| }, |
| }, |
| { |
| 'hash': '00316c9ddfb9d7b4e1ed2fff9fe6d964d2111111', |
| 'commit_pos': '314017', |
| 'parsed_values': [12, 13, 16, 7], |
| 'test_results': 5 * [{'retcode': 0}], |
| }])) |
| yield ( |
| api.test('basic_buildbot_bisect') |
| + api.properties( |
| mastername='tryserver.chromium.perf', |
| buildername='linux_perf_bisect', |
| bot_id='dummybot', |
| buildnumber=571, |
| bisect_config={ |
| 'test_type': 'perf', |
| 'command': |
| ('./src/out/Release/cc_perftests ' |
| '--test-launcher-print-test-stdio=always --verbose'), |
| 'good_revision': '314015', |
| 'bad_revision': '314017', |
| 'metric': 'calc_draw_props_time/touch_region_heavy', |
| 'bug_id': '-1', |
| 'gs_bucket': 'chrome-perf', |
| 'dummy_tests': 'True', |
| 'dummy_job_names': 'True', |
| 'bypass_stats_check': 'True', |
| 'skip_gclient_ops': 'True', |
| 'recipe_tester_name': 'linux_perf_tester' |
| }) |
| + api.auto_bisect([ |
| { |
| 'hash': 'a6298e4afedbf2cd461755ea6f45b0ad64222222', |
| 'commit_pos': '314015', |
| 'parsed_values': [19, 20, 23, 1], |
| 'test_results': 5 * [{'retcode': 0}], |
| 'gsutil_exists': 10 * [False] |
| }, |
| { |
| 'hash': 'dcdcdc0ff1122212323134879ddceeb1240b0988', |
| 'commit_pos': '314016', |
| 'parsed_values': [12, 13, 16, 7], |
| 'test_results': 5 * [{'retcode': 0}], |
| 'gsutil_exists': [True], |
| 'cl_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'), |
| }, |
| }, |
| { |
| 'hash': '00316c9ddfb9d7b4e1ed2fff9fe6d964d2111111', |
| 'commit_pos': '314017', |
| 'parsed_values': [12, 13, 16, 7], |
| 'test_results': 5 * [{'retcode': 0}], |
| }])) |
| yield ( |
| api.test('basic_resource_sizes_bisect') |
| + api.properties( |
| mastername='tryserver.chromium.perf', |
| buildername='linux_perf_bisect', |
| bot_id='dummybot', |
| buildnumber=571, |
| bisect_config={ |
| 'test_type': 'perf', |
| 'command': |
| ('./src/build/android/resource_sizes.py ' |
| '--chromium-output-directory {CHROMIUM_OUTPUT_DIR} ' |
| '--chartjson {CHROMIUM_OUTPUT_DIR}'), |
| 'good_revision': '314015', |
| 'bad_revision': '314017', |
| 'metric': 'calc_draw_props_time/touch_region_heavy', |
| 'bug_id': '-1', |
| 'gs_bucket': 'chrome-perf', |
| 'dummy_tests': 'True', |
| 'dummy_job_names': 'True', |
| 'bypass_stats_check': 'True', |
| 'skip_gclient_ops': 'True', |
| 'recipe_tester_name': 'linux_perf_tester' |
| }) |
| + api.auto_bisect([ |
| { |
| 'hash': 'a6298e4afedbf2cd461755ea6f45b0ad64222222', |
| 'commit_pos': '314015', |
| 'parsed_values': [19, 20, 23, 1], |
| 'test_results': 5 * [{'retcode': 0}], |
| 'gsutil_exists': 10 * [False] |
| }, |
| { |
| 'hash': 'dcdcdc0ff1122212323134879ddceeb1240b0988', |
| 'commit_pos': '314016', |
| 'parsed_values': [12, 13, 16, 7], |
| 'test_results': 5 * [{'retcode': 0}], |
| 'gsutil_exists': [True], |
| 'cl_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'), |
| }, |
| }, |
| { |
| 'hash': '00316c9ddfb9d7b4e1ed2fff9fe6d964d2111111', |
| 'commit_pos': '314017', |
| 'parsed_values': [12, 13, 16, 7], |
| 'test_results': 5 * [{'retcode': 0}], |
| }])) |
| yield ( |
| api.test('v8_roll_bisect_bis') |
| + api.properties( |
| mastername='tryserver.chromium.perf', |
| buildername='linux_perf_bisect', |
| bot_id='dummybot', |
| buildnumber=571, |
| bisect_config={ |
| 'test_type': 'perf', |
| 'command': |
| ('src/tools/perf/run_benchmark -v --browser=release ' |
| '--output-format=valueset smoothness.tough_scrolling_cases'), |
| 'good_revision': '314015', |
| 'bad_revision': '314017', |
| 'metric': 'mean_input_event_latency/mean_input_event_latency', |
| 'bug_id': '-1', |
| 'gs_bucket': 'chrome-perf', |
| 'dummy_builds': 'True', |
| 'dummy_tests': 'True', |
| 'dummy_job_names': 'True', |
| 'bypass_stats_check': 'True', |
| 'skip_gclient_ops': 'True', |
| 'recipe_tester_name': 'linux_perf_tester' |
| }) |
| + api.auto_bisect([ |
| { |
| 'hash': 'a6298e4afedbf2cd461755ea6f45b0ad64222222', |
| 'commit_pos': '314015', |
| 'parsed_values': [19, 20, 21, 22, 1], |
| 'test_results': 5 * [{'retcode': 0}], |
| }, |
| { |
| 'hash': 'dcdcdc0ff1122212323134879ddceeb1240b0988', |
| 'commit_pos': '314016', |
| 'parsed_values': [19, 20, 21, 22, 1], |
| 'test_results': 5 * [{'retcode': 0}], |
| "DEPS": ("vars={'v8_revision': '001'};" |
| "deps = {'src/v8': 'v8.git@' + Var('v8_revision')," |
| "'src/third_party/WebKit': 'webkit.git@010'}"), |
| }, |
| { |
| 'depot':'v8', |
| 'hash': '002', |
| 'parsed_values': [12, 13, 14, 15, 7], |
| 'test_results': 5 * [{'retcode': 0}], |
| 'gsutil_exists': 10 * [False], |
| 'cl_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'), |
| }, |
| }, |
| { |
| 'depot':'v8', |
| 'hash': '003', |
| 'parsed_values': [12, 13, 14, 15, 7], |
| 'test_results': 5 * [{'retcode': 0}], |
| }, |
| { |
| 'hash': '00316c9ddfb9d7b4e1ed2fff9fe6d964d2111111', |
| 'commit_pos': '314017', |
| 'parsed_values': [12, 13, 14, 15, 7], |
| 'test_results': 5 * [{'retcode': 0}], |
| 'DEPS_change': 'True', |
| "DEPS": ("vars={'v8_revision': '004'};" |
| "deps = {'src/v8': 'v8.git@' + Var('v8_revision')," |
| "'src/third_party/WebKit': 'webkit.git@010'}"), |
| 'DEPS_interval': {'v8': '002 003 004'.split()}, |
| }])) |
| yield ( |
| api.test('v8_roll_bisect') |
| + api.properties( |
| mastername='tryserver.chromium.perf', |
| buildername='linux_perf_bisect', |
| bot_id='dummybot', |
| buildnumber=571, |
| bisect_config={ |
| 'test_type': 'perf', |
| 'command': |
| ('src/tools/perf/run_benchmark -v --browser=release ' |
| '--output-format=valueset smoothness.tough_scrolling_cases'), |
| 'good_revision': '314015', |
| 'bad_revision': '314017', |
| 'metric': 'mean_input_event_latency/mean_input_event_latency', |
| 'bug_id': '-1', |
| 'gs_bucket': 'chrome-perf', |
| 'dummy_builds': 'True', |
| 'dummy_tests': 'True', |
| 'dummy_job_names': 'True', |
| 'bypass_stats_check': 'True', |
| 'skip_gclient_ops': 'True', |
| 'recipe_tester_name': 'linux_perf_tester' |
| }) |
| + api.auto_bisect([ |
| { |
| 'hash': 'a6298e4afedbf2cd461755ea6f45b0ad64222222', |
| 'commit_pos': '314015', |
| 'parsed_values': [19, 20, 21, 22, 1], |
| 'test_results': 5 * [{'retcode': 0}], |
| "DEPS": ("vars={'v8_revision': '001'};" |
| "deps = {'src/v8': 'v8.git@' + Var('v8_revision')," |
| "'src/third_party/WebKit': 'webkit.git@010'}"), |
| }, |
| { |
| 'depot':'v8', |
| 'hash': '002', |
| 'parsed_values': [12, 13, 14, 15, 7], |
| 'test_results': 5 * [{'retcode': 0}], |
| 'gsutil_exists': 10 * [False], |
| 'cl_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'), |
| }, |
| }, |
| { |
| 'depot':'v8', |
| 'hash': '003', |
| 'parsed_values': [12, 13, 14, 15, 7], |
| 'test_results': 5 * [{'retcode': 0}], |
| }, |
| { |
| 'hash': 'dcdcdc0ff1122212323134879ddceeb1240b0988', |
| 'commit_pos': '314016', |
| 'parsed_values': [12, 13, 14, 15, 7], |
| 'test_results': 5 * [{'retcode': 0}], |
| 'DEPS_change': 'True', |
| "DEPS": ("vars={'v8_revision': '004'};" |
| "deps = {'src/v8': 'v8.git@' + Var('v8_revision')," |
| "'src/third_party/WebKit': 'webkit.git@010'}"), |
| 'DEPS_interval': {'v8': '002 003 004'.split()}, |
| }, |
| { |
| 'hash': '00316c9ddfb9d7b4e1ed2fff9fe6d964d2111111', |
| 'commit_pos': '314017', |
| 'parsed_values': [12, 13, 14, 15, 7], |
| 'test_results': 5 * [{'retcode': 0}], |
| }])) |
| yield ( |
| api.test('parse_new_deps') |
| + api.properties( |
| mastername='tryserver.chromium.perf', |
| buildername='linux_perf_bisect', |
| bot_id='dummybot', |
| buildnumber=571, |
| bisect_config={ |
| 'test_type': 'perf', |
| 'command': |
| ('src/tools/perf/run_benchmark -v --browser=release ' |
| '--output-format=valueset smoothness.tough_scrolling_cases'), |
| 'good_revision': '314015', |
| 'bad_revision': '314017', |
| 'metric': 'mean_input_event_latency/mean_input_event_latency', |
| 'bug_id': '-1', |
| 'gs_bucket': 'chrome-perf', |
| 'dummy_builds': 'True', |
| 'dummy_tests': 'True', |
| 'dummy_job_names': 'True', |
| 'bypass_stats_check': 'True', |
| 'skip_gclient_ops': 'True', |
| 'recipe_tester_name': 'linux_perf_tester' |
| }) |
| + api.auto_bisect([ |
| { |
| 'hash': 'a6298e4afedbf2cd461755ea6f45b0ad64222222', |
| 'commit_pos': '314015', |
| 'parsed_values': [19, 20, 21, 22, 1], |
| 'test_results': 5 * [{'retcode': 0}], |
| "DEPS": ("vars={'v8_revision': '001'};" |
| "deps = {'src/v8': {'url': " |
| "'v8.git@' + Var('v8_revision')}," |
| "'src/third_party/WebKit': 'webkit.git@010'}"), |
| }, |
| { |
| 'depot':'v8', |
| 'hash': '002', |
| 'parsed_values': [12, 13, 14, 15, 7], |
| 'test_results': 5 * [{'retcode': 0}], |
| 'gsutil_exists': 10 * [False], |
| 'cl_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'), |
| }, |
| }, |
| { |
| 'depot':'v8', |
| 'hash': '003', |
| 'parsed_values': [12, 13, 14, 15, 7], |
| 'test_results': 5 * [{'retcode': 0}], |
| }, |
| { |
| 'hash': 'dcdcdc0ff1122212323134879ddceeb1240b0988', |
| 'commit_pos': '314016', |
| 'parsed_values': [12, 13, 14, 15, 7], |
| 'test_results': 5 * [{'retcode': 0}], |
| 'DEPS_change': 'True', |
| "DEPS": ("vars={'v8_revision': '004'};" |
| "deps = {'src/v8': 'v8.git@' + Var('v8_revision')," |
| "'src/third_party/WebKit': 'webkit.git@010'}"), |
| 'DEPS_interval': {'v8': '002 003 004'.split()}, |
| }, |
| { |
| 'hash': '00316c9ddfb9d7b4e1ed2fff9fe6d964d2111111', |
| 'commit_pos': '314017', |
| 'parsed_values': [12, 13, 14, 15, 7], |
| 'test_results': 5 * [{'retcode': 0}], |
| }])) |
| yield ( |
| api.test('retest_bisect') |
| + api.properties( |
| mastername='tryserver.chromium.perf', |
| buildername='linux_perf_bisect', |
| bot_id='dummybot', |
| buildnumber=571, |
| bisect_config={ |
| 'test_type': 'perf', |
| 'command': |
| ('src/tools/perf/run_benchmark -v --browser=release ' |
| '--output-format=valueset smoothness.tough_scrolling_cases'), |
| 'good_revision': '314015', |
| 'bad_revision': '314017', |
| 'metric': 'mean_input_event_latency/mean_input_event_latency', |
| 'bug_id': '-1', |
| 'gs_bucket': 'chrome-perf', |
| 'dummy_builds': 'True', |
| 'dummy_tests': 'True', |
| 'dummy_job_names': 'True', |
| 'skip_gclient_ops': 'True', |
| 'recipe_tester_name': 'linux_perf_tester' |
| }) |
| + api.auto_bisect([ |
| { |
| 'hash': 'a6298e4afedbf2cd461755ea6f45b0ad64222222', |
| 'commit_pos': '314015', |
| 'parsed_values': 10 * [0] + [1], |
| }, |
| { |
| 'hash': 'dcdcdc0ff1122212323134879ddceeb1240b0988', |
| 'commit_pos': '314016', |
| 'parsed_values': 20 * [0] + [7], |
| }, |
| { |
| 'hash': '00316c9ddfb9d7b4e1ed2fff9fe6d964d2111111', |
| 'commit_pos': '314017', |
| 'parsed_values': 10 * [0] + [7], |
| }])) |
| yield ( |
| api.test('bad_config') |
| + api.properties( |
| mastername='tryserver.chromium.perf', |
| buildername='linux_perf_bisect', |
| bot_id='dummybot', |
| buildnumber=571, |
| bisect_config={ |
| 'test_type': 'perf', |
| 'command': |
| ('src/tools/perf/run_benchmark -v --browser=release ' |
| '--output-format=valueset smoothness.tough_scrolling_cases'), |
| 'good_revision': '314015', |
| 'bad_revision': '314016', |
| 'metric': 'mean_input_event_latency/mean_input_event_latency', |
| 'bug_id': 'crbug.com/123123', |
| 'gs_bucket': 'chrome-perf', |
| 'dummy_builds': 'True', |
| 'dummy_tests': 'True', |
| 'dummy_job_names': 'True', |
| 'bypass_stats_check': 'True', |
| 'skip_gclient_ops': 'True', |
| 'recipe_tester_name': 'linux_perf_tester' |
| })) |
| yield ( |
| api.test('return_code') |
| + api.properties( |
| mastername='tryserver.chromium.perf', |
| buildername='linux_perf_bisect', |
| bot_id='dummybot', |
| buildnumber=571, |
| bisect_config={ |
| 'test_type': 'return_code', |
| 'command': |
| ('src/tools/perf/run_benchmark -v --browser=release ' |
| '--output-format=valueset smoothness.tough_scrolling_cases'), |
| 'good_revision': '314014', |
| 'bad_revision': '314017', |
| 'bug_id': '-1', |
| 'gs_bucket': 'chrome-perf', |
| 'dummy_builds': 'True', |
| 'dummy_tests': 'True', |
| 'dummy_job_names': 'True', |
| 'bypass_stats_check': 'True', |
| 'skip_gclient_ops': 'True', |
| 'recipe_tester_name': 'linux_perf_tester' |
| }) |
| + api.auto_bisect([ |
| { |
| 'hash': '0a1b2c3d4f0a1b2c3d4f0a1b2c3d4f0a1b2c3d4f', |
| 'commit_pos': '314014', |
| 'parsed_values': [19, 20, 23, 1], |
| 'test_results': 5 * [{'retcode': 0}], |
| }, |
| { |
| 'hash': 'a6298e4afedbf2cd461755ea6f45b0ad64222222', |
| 'commit_pos': '314015', |
| 'parsed_values': [19, 20, 23, 1], |
| 'test_results': 5 * [{'retcode': 0}], |
| }, |
| { |
| 'hash': 'dcdcdc0ff1122212323134879ddceeb1240b0988', |
| 'commit_pos': '314016', |
| 'parsed_values': [20, 19, 23, 7], |
| 'test_results': 5 * [{'retcode': 1}], |
| }, |
| { |
| 'hash': '00316c9ddfb9d7b4e1ed2fff9fe6d964d2111111', |
| 'commit_pos': '314017', |
| 'parsed_values': [20, 19, 23, 7], |
| 'test_results': 5 * [{'retcode': 1}], |
| }])) |
| yield ( |
| api.test('return_code_fail') |
| + api.properties( |
| mastername='tryserver.chromium.perf', |
| buildername='linux_perf_bisect', |
| bot_id='dummybot', |
| buildnumber=571, |
| bisect_config={ |
| 'test_type': 'return_code', |
| 'command': |
| ('src/tools/perf/run_benchmark -v --browser=release ' |
| '--output-format=valueset smoothness.tough_scrolling_cases'), |
| 'good_revision': '314014', |
| 'bad_revision': '314017', |
| 'bug_id': '-1', |
| 'gs_bucket': 'chrome-perf', |
| 'dummy_builds': 'True', |
| 'dummy_tests': 'True', |
| 'dummy_job_names': 'True', |
| 'bypass_stats_check': 'True', |
| 'skip_gclient_ops': 'True', |
| 'recipe_tester_name': 'linux_perf_tester' |
| }) |
| + api.auto_bisect([ |
| { |
| 'hash': '0a1b2c3d4f0a1b2c3d4f0a1b2c3d4f0a1b2c3d4f', |
| 'commit_pos': '314014', |
| 'parsed_values': [19, 20, 23, 1], |
| 'test_results': 5 * [{'retcode': 0}], |
| }, |
| { |
| 'hash': '00316c9ddfb9d7b4e1ed2fff9fe6d964d2111111', |
| 'commit_pos': '314017', |
| 'parsed_values': [20, 19, 23, 7], |
| 'test_results': 5 * [{'retcode': 0}], |
| }])) |
| yield ( |
| api.test('basic_bisect_other_direction') |
| + api.properties( |
| mastername='tryserver.chromium.perf', |
| buildername='linux_perf_bisect', |
| bot_id='dummybot', |
| buildnumber=571, |
| bisect_config={ |
| 'test_type': 'perf', |
| 'command': |
| ('src/tools/perf/run_benchmark -v --browser=release ' |
| '--output-format=valueset smoothness.tough_scrolling_cases'), |
| 'good_revision': '314015', |
| 'bad_revision': '314017', |
| 'metric': 'mean_input_event_latency/mean_input_event_latency', |
| 'bug_id': '-1', |
| 'gs_bucket': 'chrome-perf', |
| 'dummy_builds': 'True', |
| 'dummy_tests': 'True', |
| 'dummy_job_names': 'True', |
| 'bypass_stats_check': 'True', |
| 'skip_gclient_ops': 'True', |
| 'recipe_tester_name': 'linux_perf_tester' |
| }) |
| + api.auto_bisect([ |
| { |
| 'hash': 'a6298e4afedbf2cd461755ea6f45b0ad64222222', |
| 'commit_pos': '314015', |
| 'parsed_values': [19, 20, 23, 1], |
| 'test_results': 5 * [{'retcode': 0}], |
| }, |
| { |
| 'hash': 'dcdcdc0ff1122212323134879ddceeb1240b0988', |
| 'commit_pos': '314016', |
| 'parsed_values': [19, 20, 23, 1], |
| 'test_results': 5 * [{'retcode': 0}], |
| }, |
| { |
| 'hash': '00316c9ddfb9d7b4e1ed2fff9fe6d964d2111111', |
| 'commit_pos': '314017', |
| 'parsed_values': [12, 13, 14, 7], |
| 'test_results': 5 * [{'retcode': 0}], |
| 'cl_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'), |
| }, |
| }])) |
| yield ( |
| api.test('no_repro') |
| + api.properties( |
| mastername='tryserver.chromium.perf', |
| buildername='linux_perf_bisect', |
| bot_id='dummybot', |
| buildnumber=571, |
| bisect_config={ |
| 'test_type': 'perf', |
| 'command': |
| ('src/tools/perf/run_benchmark -v --browser=release ' |
| '--output-format=valueset smoothness.tough_scrolling_cases'), |
| 'good_revision': '314015', |
| 'bad_revision': '314016', |
| 'metric': 'mean_input_event_latency/mean_input_event_latency', |
| 'bug_id': '-1', |
| 'gs_bucket': 'chrome-perf', |
| 'dummy_builds': 'True', |
| 'dummy_tests': 'True', |
| 'dummy_job_names': 'True', |
| 'bypass_stats_check': 'True', |
| 'skip_gclient_ops': 'True', |
| 'recipe_tester_name': 'linux_perf_tester' |
| }) |
| + api.auto_bisect([ |
| { |
| 'hash': 'a6298e4afedbf2cd461755ea6f45b0ad64222222', |
| 'commit_pos': '314015', |
| 'parsed_values': [19, 20, 23, 1], |
| 'test_results': 5 * [{'retcode': 0}], |
| }, |
| { |
| 'hash': 'dcdcdc0ff1122212323134879ddceeb1240b0988', |
| 'commit_pos': '314016', |
| 'parsed_values': [19, 20, 23, 1], |
| 'test_results': 5 * [{'retcode': 0}], |
| }, |
| ])) |
| yield ( |
| api.test('gathering_references_no_values') |
| + api.properties( |
| mastername='tryserver.chromium.perf', |
| buildername='linux_perf_bisect', |
| bot_id='dummybot', |
| buildnumber=571, |
| bisect_config={ |
| 'test_type': 'perf', |
| 'command': |
| ('src/tools/perf/run_benchmark -v --browser=release ' |
| '--output-format=valueset smoothness.tough_scrolling_cases'), |
| 'good_revision': '314015', |
| 'bad_revision': '314016', |
| 'metric': 'mean_input_event_latency/mean_input_event_latency', |
| 'bug_id': '-1', |
| 'gs_bucket': 'chrome-perf', |
| 'dummy_builds': 'True', |
| 'dummy_tests': 'True', |
| 'dummy_job_names': 'True', |
| 'bypass_stats_check': 'True', |
| 'skip_gclient_ops': 'True', |
| 'recipe_tester_name': 'linux_perf_tester' |
| }) |
| + api.auto_bisect([ |
| { |
| 'hash': 'a6298e4afedbf2cd461755ea6f45b0ad64222222', |
| 'commit_pos': '314015', |
| 'parsed_values': [], |
| 'test_results': 5 * [{'retcode': 1}], |
| }, |
| { |
| 'hash': 'dcdcdc0ff1122212323134879ddceeb1240b0988', |
| 'commit_pos': '314016', |
| 'parsed_values': [], |
| 'test_results': 5 * [{'retcode': 1}], |
| }, |
| ])) |
| yield ( |
| api.test('failed_build') |
| + api.properties( |
| mastername='tryserver.chromium.perf', |
| buildername='linux_perf_bisect', |
| bot_id='dummybot', |
| buildnumber=571, |
| bisect_config={ |
| 'test_type': 'perf', |
| 'command': |
| ('src/tools/perf/run_benchmark -v --browser=release ' |
| '--output-format=valueset smoothness.tough_scrolling_cases'), |
| 'good_revision': '314015', |
| 'bad_revision': '314016', |
| 'metric': 'mean_input_event_latency/mean_input_event_latency', |
| 'bug_id': '-1', |
| 'gs_bucket': 'chrome-perf', |
| 'dummy_builds': 'True', |
| 'dummy_tests': 'True', |
| 'dummy_job_names': 'True', |
| 'bypass_stats_check': 'True', |
| 'skip_gclient_ops': 'True', |
| 'recipe_tester_name': 'linux_perf_tester' |
| }) |
| + api.auto_bisect([ |
| { |
| 'hash': 'a6298e4afedbf2cd461755ea6f45b0ad64222222', |
| 'commit_pos': '314015', |
| 'parsed_values': [19, 20, 23, 1], |
| 'gsutil_exists': 2 * [False], |
| 'test_results': 5 * [{'retcode': 0}], |
| 'build_status': [{'build': {'status': 'SCHEDULED'}}, |
| {'build': {'status': 'COMPLETED', |
| 'result': 'SUCCESS'}}], |
| }, |
| { |
| 'hash': 'dcdcdc0ff1122212323134879ddceeb1240b0988', |
| 'commit_pos': '314016', |
| 'gsutil_exists': 10 * [False], |
| 'build_status': [{'build': {'status': 'SCHEDULED'}}, |
| {'build': {'status': 'COMPLETED', |
| 'result': 'FAILED'}}], |
| }, |
| ])) |
| yield ( |
| api.test('failed_buildbucket_get') |
| + api.properties( |
| mastername='tryserver.chromium.perf', |
| buildername='linux_perf_bisect', |
| bot_id='dummybot', |
| buildnumber=571, |
| bisect_config={ |
| 'test_type': 'perf', |
| 'command': |
| ('src/tools/perf/run_benchmark -v --browser=release ' |
| '--output-format=valueset smoothness.tough_scrolling_cases'), |
| 'good_revision': '314015', |
| 'bad_revision': '314016', |
| 'metric': 'mean_input_event_latency/mean_input_event_latency', |
| 'bug_id': '-1', |
| 'gs_bucket': 'chrome-perf', |
| 'dummy_builds': 'True', |
| 'dummy_tests': 'True', |
| 'dummy_job_names': 'True', |
| 'bypass_stats_check': 'True', |
| 'skip_gclient_ops': 'True', |
| 'recipe_tester_name': 'linux_perf_tester' |
| }) |
| + api.auto_bisect([ |
| { |
| 'hash': 'a6298e4afedbf2cd461755ea6f45b0ad64222222', |
| 'commit_pos': '314015', |
| 'parsed_values': [19, 20, 23, 1], |
| 'gsutil_exists': 2 * [False], |
| 'test_results': 5 * [{'retcode': 0}], |
| 'build_status': [{'build': {'status': 'SCHEDULED'}}, |
| {'build': {'status': 'COMPLETED', |
| 'result': 'SUCCESS'}}], |
| }, |
| { |
| 'hash': 'dcdcdc0ff1122212323134879ddceeb1240b0988', |
| 'commit_pos': '314016', |
| 'gsutil_exists': 10 * [False], |
| 'build_status': ['ERROR'], |
| }, |
| ])) |
| yield ( |
| api.test('no_values') |
| + api.properties( |
| mastername='tryserver.chromium.perf', |
| buildername='linux_perf_bisect', |
| bot_id='dummybot', |
| buildnumber=571, |
| bisect_config={ |
| 'test_type': 'perf', |
| 'command': |
| ('src/tools/perf/run_benchmark -v --browser=release ' |
| '--output-format=valueset smoothness.tough_scrolling_cases'), |
| 'good_revision': '314015', |
| 'bad_revision': '314017', |
| 'metric': 'mean_input_event_latency/mean_input_event_latency', |
| 'bug_id': '-1', |
| 'gs_bucket': 'chrome-perf', |
| 'dummy_builds': 'True', |
| 'dummy_tests': 'True', |
| 'dummy_job_names': 'True', |
| 'bypass_stats_check': 'True', |
| 'skip_gclient_ops': 'True', |
| 'recipe_tester_name': 'linux_perf_tester' |
| }) |
| + api.auto_bisect([ |
| { |
| 'hash': 'a6298e4afedbf2cd461755ea6f45b0ad64222222', |
| 'commit_pos': '314015', |
| 'parsed_values': [19, 20, 23, 1], |
| 'test_results': 21 * [{'retcode': 0}], |
| }, |
| { |
| 'hash': 'dcdcdc0ff1122212323134879ddceeb1240b0988', |
| 'commit_pos': '314016', |
| 'parsed_values': [404], |
| 'test_results': 21 * [{'retcode': 0}], |
| }, |
| { |
| 'hash': '00316c9ddfb9d7b4e1ed2fff9fe6d964d2111111', |
| 'commit_pos': '314017', |
| 'parsed_values': [12, 13, 14, 15, 7], |
| 'test_results': 21 * [{'retcode': 0}], |
| }])) |
| yield ( |
| api.test('failed_build_inconclusive_1') |
| + api.properties( |
| mastername='tryserver.chromium.perf', |
| buildername='linux_perf_bisect', |
| bot_id='dummybot', |
| buildnumber=571, |
| bisect_config={ |
| 'test_type': 'perf', |
| 'command': |
| ('src/tools/perf/run_benchmark -v --browser=release ' |
| '--output-format=valueset smoothness.tough_scrolling_cases'), |
| 'good_revision': '314015', |
| 'bad_revision': '314017', |
| 'metric': 'mean_input_event_latency/mean_input_event_latency', |
| 'bug_id': '-1', |
| 'gs_bucket': 'chrome-perf', |
| 'dummy_builds': 'True', |
| 'dummy_tests': 'True', |
| 'dummy_job_names': 'True', |
| 'bypass_stats_check': 'True', |
| 'skip_gclient_ops': 'True', |
| 'recipe_tester_name': 'linux_perf_tester' |
| }) |
| + api.auto_bisect([ |
| { |
| 'hash': 'a6298e4afedbf2cd461755ea6f45b0ad64222222', |
| 'commit_pos': '314015', |
| 'parsed_values': [19, 20, 23, 1], |
| 'gsutil_exists': 2 * [False], |
| 'test_results': 5 * [{'stdout': 'benchmark text', 'retcode': 0}], |
| 'build_status': [{'build': {'status': 'SCHEDULED'}}, |
| {'build': {'status': 'COMPLETED', |
| 'result': 'SUCCESS'}}], |
| }, |
| { |
| 'hash': 'dcdcdc0ff1122212323134879ddceeb1240b0988', |
| 'commit_pos': '314016', |
| 'gsutil_exists': 10 * [False], |
| 'build_status': [{'build': {'status': 'SCHEDULED'}}, |
| {'build': {'status': 'COMPLETED', |
| 'result': 'FAILED'}}], |
| }, |
| { |
| 'hash': '00316c9ddfb9d7b4e1ed2fff9fe6d964d2111111', |
| 'commit_pos': '314017', |
| 'parsed_values': [12, 13, 14, 15, 7], |
| 'test_results': 21 * [{'stdout': 'benchmark text', 'retcode': 0}], |
| }, |
| ])) |
| yield ( |
| api.test('failed_build_inconclusive_11') |
| + api.properties( |
| mastername='tryserver.chromium.perf', |
| buildername='linux_perf_bisect', |
| bot_id='dummybot', |
| buildnumber=571, |
| bisect_config={ |
| 'test_type': 'perf', |
| 'command': |
| ('src/tools/perf/run_benchmark -v --browser=release ' |
| '--output-format=valueset smoothness.tough_scrolling_cases'), |
| 'good_revision': '314015', |
| 'bad_revision': '314027', |
| 'metric': 'mean_input_event_latency/mean_input_event_latency', |
| 'bug_id': '-1', |
| 'gs_bucket': 'chrome-perf', |
| 'dummy_builds': 'True', |
| 'dummy_tests': 'True', |
| 'dummy_job_names': 'True', |
| 'bypass_stats_check': 'True', |
| 'skip_gclient_ops': 'True', |
| 'recipe_tester_name': 'linux_perf_tester' |
| }) |
| + api.auto_bisect([ |
| { |
| 'hash': 'a6298e4afedbf2cd461755ea6f45b0ad64222222', |
| 'commit_pos': '314015', |
| 'parsed_values': [19, 20, 23, 1], |
| 'gsutil_exists': 2 * [False], |
| 'test_results': 5 * [{'stdout': 'benchmark text', 'retcode': 0}], |
| 'build_status': [{'build': {'status': 'SCHEDULED'}}, |
| {'build': {'status': 'COMPLETED', |
| 'result': 'SUCCESS'}}], |
| }, |
| { |
| 'hash': 'ab16ab16ab16ab16ab16ab16ab16ab16ab16ab16', |
| 'commit_pos': '314016', |
| 'gsutil_exists': 10 * [False], |
| 'build_status': [{'build': {'status': 'SCHEDULED'}}, |
| {'build': {'status': 'COMPLETED', |
| 'result': 'FAILED'}}], |
| }, |
| { |
| 'hash': 'bc17bc17bc17bc17bc17bc17bc17bc17bc17bc17', |
| 'commit_pos': '314017', |
| 'gsutil_exists': 10 * [False], |
| 'build_status': [{'build': {'status': 'SCHEDULED'}}, |
| {'build': {'status': 'COMPLETED', |
| 'result': 'FAILED'}}], |
| }, |
| { |
| 'hash': 'cd18cd18cd18cd18cd18cd18cd18cd18cd18cd18', |
| 'commit_pos': '314018', |
| 'gsutil_exists': 10 * [False], |
| 'build_status': [{'build': {'status': 'SCHEDULED'}}, |
| {'build': {'status': 'COMPLETED', |
| 'result': 'FAILED'}}], |
| }, |
| { |
| 'hash': 'de19de19de19de19de19de19de19de19de19de19', |
| 'commit_pos': '314019', |
| 'gsutil_exists': 10 * [False], |
| 'build_status': [{'build': {'status': 'SCHEDULED'}}, |
| {'build': {'status': 'COMPLETED', |
| 'result': 'FAILED'}}], |
| }, |
| { |
| 'hash': 'ef20ef20ef20ef20ef20ef20ef20ef20ef20ef20', |
| 'commit_pos': '314020', |
| 'gsutil_exists': 10 * [False], |
| 'build_status': [{'build': {'status': 'SCHEDULED'}}, |
| {'build': {'status': 'COMPLETED', |
| 'result': 'FAILED'}}], |
| }, |
| { |
| 'hash': 'f021f021f021f021f021f021f021f021f021f021', |
| 'commit_pos': '314021', |
| 'gsutil_exists': 10 * [False], |
| 'build_status': [{'build': {'status': 'SCHEDULED'}}, |
| {'build': {'status': 'COMPLETED', |
| 'result': 'FAILED'}}], |
| }, |
| { |
| 'hash': '0122012201220122012201220122012201220122', |
| 'commit_pos': '314022', |
| 'gsutil_exists': 10 * [False], |
| 'build_status': [{'build': {'status': 'SCHEDULED'}}, |
| {'build': {'status': 'COMPLETED', |
| 'result': 'FAILED'}}], |
| }, |
| { |
| 'hash': '1223122312231223122312231223122312231223', |
| 'commit_pos': '314023', |
| 'gsutil_exists': 10 * [False], |
| 'build_status': [{'build': {'status': 'SCHEDULED'}}, |
| {'build': {'status': 'COMPLETED', |
| 'result': 'FAILED'}}], |
| }, |
| { |
| 'hash': '2324232423242324232423242324232423242324', |
| 'commit_pos': '314024', |
| 'gsutil_exists': 10 * [False], |
| 'build_status': [{'build': {'status': 'SCHEDULED'}}, |
| {'build': {'status': 'COMPLETED', |
| 'result': 'FAILED'}}], |
| }, |
| { |
| 'hash': '3425342534253425342534253425342534253425', |
| 'commit_pos': '314025', |
| 'gsutil_exists': 10 * [False], |
| 'build_status': [{'build': {'status': 'SCHEDULED'}}, |
| {'build': {'status': 'COMPLETED', |
| 'result': 'FAILED'}}], |
| }, |
| { |
| 'hash': 'dcdcdc0ff1122212323134879ddceeb1240b0988', |
| 'commit_pos': '314026', |
| 'gsutil_exists': 10 * [False], |
| 'build_status': [{'build': {'status': 'SCHEDULED'}}, |
| {'build': {'status': 'COMPLETED', |
| 'result': 'FAILED'}}], |
| }, |
| { |
| 'hash': '00316c9ddfb9d7b4e1ed2fff9fe6d964d2111111', |
| 'commit_pos': '314027', |
| 'parsed_values': [12, 13, 14, 15, 7], |
| 'test_results': 21 * [{'stdout': 'benchmark text', 'retcode': 0}], |
| }, |
| ])) |