| # Copyright 2013 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. |
| |
| from recipe_engine import post_process |
| |
| from RECIPE_MODULES.build import chromium_tests_builder_config as ctbc |
| |
| DEPS = [ |
| 'build', |
| 'chromium', |
| 'chromium_android', |
| 'chromium_swarming', |
| 'chromium_tests', |
| 'chromium_tests_builder_config', |
| 'depot_tools/bot_update', |
| 'depot_tools/gsutil', |
| 'isolate', |
| 'recipe_engine/buildbucket', |
| 'recipe_engine/commit_position', |
| 'recipe_engine/file', |
| 'recipe_engine/json', |
| 'recipe_engine/legacy_annotation', |
| 'recipe_engine/path', |
| 'recipe_engine/platform', |
| 'recipe_engine/properties', |
| 'recipe_engine/raw_io', |
| 'recipe_engine/runtime', |
| 'recipe_engine/step', |
| 'test_utils', |
| ] |
| |
| def RunSteps(api): |
| builder_id, builder_config = ( |
| api.chromium_tests_builder_config.lookup_builder()) |
| with api.chromium.chromium_layout(): |
| return api.chromium_tests.main_waterfall_steps(builder_id, builder_config) |
| |
| |
| def GenTests(api): |
| ctbc_api = api.chromium_tests_builder_config |
| |
| yield api.test( |
| 'dynamic_gtest', |
| api.platform('linux', 64), |
| api.chromium.ci_build( |
| builder_group='fake-group', |
| builder='fake-tester', |
| parent_buildername='fake-builder', |
| ), |
| ctbc_api.properties( |
| ctbc_api.properties_assembler_for_ci_tester( |
| builder_group='fake-group', |
| builder='fake-tester', |
| builder_spec=ctbc.BuilderSpec.create( |
| gclient_config='chromium', |
| chromium_config='chromium', |
| build_gs_bucket='fake-gs-bucket', |
| ), |
| ).with_parent( |
| builder_group='fake-group', |
| builder='fake-builder', |
| ).assemble()), |
| api.chromium_tests.read_targets_spec( |
| 'fake-group', { |
| 'fake-tester': { |
| 'gtest_tests': [ |
| { |
| 'test': 'base_unittests', |
| }, |
| { |
| 'test': 'browser_tests', |
| 'shard_index': 0, |
| 'total_shards': 2 |
| }, |
| { |
| 'test': 'content_unittests', |
| 'name': 'renamed_content_unittests', |
| 'use_xvfb': False, |
| }, |
| ], |
| }, |
| }), |
| ) |
| |
| yield api.test( |
| 'dynamic_swarmed_gtest', |
| api.platform('linux', 64), |
| api.chromium.ci_build( |
| builder_group='fake-group', |
| builder='fake-builder', |
| ), |
| ctbc_api.properties( |
| ctbc_api.properties_assembler_for_ci_builder( |
| builder_group='fake-group', |
| builder='fake-builder', |
| ).assemble()), |
| api.chromium_tests.read_targets_spec( |
| 'fake-group', { |
| 'fake-builder': { |
| 'gtest_tests': [{ |
| 'test': 'browser_tests', |
| 'resultdb': { |
| 'enable': True |
| }, |
| 'swarming': { |
| 'can_use_on_swarming_builders': True, |
| 'dimension_sets': [{ |
| 'os': 'Linux', |
| },], |
| } |
| },], |
| }, |
| }), |
| ) |
| |
| # The chromium.gpu.fyi bots use serialize_tests in order to reduce load on the |
| # GPU bots in the Swarming pool. |
| yield api.test( |
| 'dynamic_swarmed_serialized_gtests', |
| api.platform('linux', 64), |
| api.chromium.ci_build( |
| builder_group='fake-group', |
| builder='fake-tester', |
| parent_buildername='fake-builder', |
| ), |
| ctbc_api.properties( |
| ctbc_api.properties_assembler_for_ci_tester( |
| builder_group='fake-group', |
| builder='fake-tester', |
| ).with_parent( |
| builder_group='fake-group', |
| builder='fake-builder', |
| ).assemble()), |
| api.properties( |
| swarm_hashes={ |
| 'base_unittests': 'eeeeeeeeeeeeeeeeeeeeeeeeeeeeee/size', |
| 'browser_tests': 'ffffffffffffffffffffffffffffff/size', |
| }), |
| api.chromium_tests.read_targets_spec( |
| 'fake-group', |
| { |
| 'fake-tester': { |
| 'gtest_tests': [ |
| { |
| 'test': 'base_unittests', |
| 'swarming': { |
| 'can_use_on_swarming_builders': |
| True, |
| 'dimension_sets': [ |
| { |
| 'gpu': |
| '10de:104a', # NVIDIA GeForce GT 610 |
| 'os': 'Linux', |
| }, |
| ], |
| }, |
| }, |
| { |
| 'test': 'browser_tests', |
| 'swarming': { |
| 'can_use_on_swarming_builders': |
| True, |
| 'dimension_sets': [ |
| { |
| 'gpu': |
| '10de:104a', # NVIDIA GeForce GT 610 |
| 'os': 'Linux', |
| }, |
| ], |
| }, |
| }, |
| ], |
| }, |
| }), |
| # Make one of the tests fail to improve code coverage. |
| api.override_step_data( |
| 'base_unittests on NVIDIA GPU on Linux', |
| api.chromium_swarming.canned_summary_output( |
| api.test_utils.canned_gtest_output(False))), |
| ) |
| |
| yield api.test( |
| 'dynamic_swarmed_gtest_mac_gpu', |
| api.chromium.ci_build( |
| builder_group='fake-group', |
| builder='fake-tester', |
| parent_buildername='fake-builder', |
| ), |
| api.platform('mac', 64), |
| api.chromium_tests_builder_config.properties( |
| api.chromium_tests_builder_config.properties_assembler_for_ci_tester( |
| builder_group='fake-group', |
| builder='fake-tester', |
| ).with_parent( |
| builder_group='fake-group', |
| builder='fake-builder', |
| ).assemble()), |
| api.properties(swarm_hashes={ |
| 'gl_tests': 'eeeeeeeeeeeeeeeeeeeeeeeeeeeeee/size', |
| }), |
| api.chromium_tests.read_targets_spec( |
| 'fake-group', |
| { |
| 'fake-tester': { |
| 'gtest_tests': [ |
| { |
| 'test': 'gl_tests', |
| 'swarming': { |
| 'can_use_on_swarming_builders': |
| True, |
| 'dimension_sets': [ |
| { |
| 'gpu': '8086:0a2e', # Intel Iris |
| 'hidpi': '0', |
| 'os': 'Mac-10.10', |
| }, |
| { |
| 'gpu': |
| '10de:0fe9', # NVIDIA GeForce GT750M |
| 'hidpi': '1', |
| 'os': 'Mac-10.13', |
| }, |
| ], |
| }, |
| }, |
| ], |
| }, |
| }), |
| ) |
| |
| yield api.test( |
| 'dynamic_swarmed_gtest_override_compile_targets', |
| api.platform('linux', 64), |
| api.chromium.ci_build( |
| builder_group='fake-group', |
| builder='fake-builder', |
| ), |
| ctbc_api.properties( |
| ctbc_api.properties_assembler_for_ci_builder( |
| builder_group='fake-group', |
| builder='fake-builder', |
| ).assemble()), |
| api.properties(swarm_hashes={ |
| 'tab_capture_end2end_tests': 'eeeeeeeeeeeeeeeeeeeeeeeeeeeeee/size', |
| }), |
| api.chromium_tests.read_targets_spec( |
| 'fake-group', { |
| 'fake-builder': { |
| 'gtest_tests': [{ |
| 'test': 'tab_capture_end2end_tests', |
| 'override_compile_targets': |
| ['tab_capture_end2end_tests_run'], |
| 'swarming': { |
| 'can_use_on_swarming_builders': True, |
| 'dimension_sets': [{ |
| 'os': 'Linux', |
| },], |
| }, |
| },], |
| }, |
| }), |
| ) |
| |
| yield api.test( |
| 'build_dynamic_isolated_script_test', |
| api.platform('linux', 64), |
| api.chromium.ci_build( |
| builder_group='fake-group', |
| builder='fake-builder', |
| ), |
| ctbc_api.properties( |
| ctbc_api.properties_assembler_for_ci_builder( |
| builder_group='fake-group', |
| builder='fake-builder', |
| ).assemble()), |
| api.chromium_tests.read_targets_spec( |
| 'fake-group', { |
| 'fake-builder': { |
| 'isolated_scripts': [{ |
| 'isolate_name': 'telemetry_gpu_unittests', |
| 'name': 'telemetry_gpu_unittests', |
| },], |
| }, |
| }), |
| ) |
| |
| yield api.test( |
| 'dynamic_isolated_script_test', |
| api.platform('linux', 64), |
| api.chromium.ci_build( |
| builder_group='fake-group', |
| builder='fake-tester', |
| parent_buildername='fake-builder', |
| ), |
| ctbc_api.properties( |
| ctbc_api.properties_assembler_for_ci_tester( |
| builder_group='fake-group', |
| builder='fake-tester', |
| ).with_parent( |
| builder_group='fake-group', |
| builder='fake-builder', |
| ).assemble()), |
| api.properties(swarm_hashes={ |
| 'telemetry_gpu_unittests': 'eeeeeeeeeeeeeeeeeeeeeeeeeeeeee/size', |
| }), |
| api.chromium_tests.read_targets_spec( |
| 'fake-group', { |
| 'fake-tester': { |
| 'isolated_scripts': [{ |
| 'isolate_name': |
| 'telemetry_gpu_unittests', |
| 'name': |
| 'telemetry_gpu_unittests', |
| 'args': ['--correct-common-arg'], |
| 'precommit_args': |
| ['--SHOULD-NOT-BE-PRESENT-DURING-THE-RUN'], |
| 'non_precommit_args': [ |
| '--these-args-should-be-present', |
| '--test-machine-name=\"${buildername}\"', |
| '--build-revision=\"${got_revision}\"', |
| ], |
| },], |
| }, |
| }), |
| ) |
| |
| yield api.test( |
| 'dynamic_local_isolated_script_test_with_failed_json_results', |
| api.platform('linux', 64), |
| api.chromium.ci_build( |
| builder_group='fake-group', |
| builder='fake-tester', |
| parent_buildername='fake-builder', |
| ), |
| ctbc_api.properties( |
| ctbc_api.properties_assembler_for_ci_tester( |
| builder_group='fake-group', |
| builder='fake-tester', |
| ).with_parent( |
| builder_group='fake-group', |
| builder='fake-builder', |
| ).assemble()), |
| api.properties(swarm_hashes={ |
| 'telemetry_gpu_unittests': 'eeeeeeeeeeeeeeeeeeeeeeeeeeeeee/size', |
| }), |
| api.chromium_tests.read_targets_spec( |
| 'fake-group', { |
| 'fake-tester': { |
| 'isolated_scripts': [{ |
| 'isolate_name': 'telemetry_gpu_unittests', |
| 'name': 'telemetry_gpu_unittests', |
| },], |
| }, |
| }), |
| api.override_step_data( |
| 'telemetry_gpu_unittests results', |
| stdout=api.raw_io.output_text( |
| api.test_utils.rdb_results( |
| 'telemetry_gpu_unittests', failing_tests=['Test.One']))), |
| api.expect_status('FAILURE'), |
| ) |
| |
| yield api.test( |
| 'dynamic_local_isolated_script_test_with_passed_json_results', |
| api.platform('linux', 64), |
| api.chromium.ci_build( |
| builder_group='fake-group', |
| builder='fake-tester', |
| parent_buildername='fake-builder', |
| ), |
| ctbc_api.properties( |
| ctbc_api.properties_assembler_for_ci_tester( |
| builder_group='fake-group', |
| builder='fake-tester', |
| ).with_parent( |
| builder_group='fake-group', |
| builder='fake-builder', |
| ).assemble()), |
| api.properties(swarm_hashes={ |
| 'telemetry_gpu_unittests': 'eeeeeeeeeeeeeeeeeeeeeeeeeeeeee/size', |
| }), |
| api.chromium_tests.read_targets_spec( |
| 'fake-group', { |
| 'fake-tester': { |
| 'isolated_scripts': [{ |
| 'isolate_name': 'telemetry_gpu_unittests', |
| 'name': 'telemetry_gpu_unittests', |
| },], |
| }, |
| }), |
| ) |
| |
| yield api.test( |
| 'dynamic_local_isolated_script_test_with_custom_results_handler', |
| api.platform('linux', 64), |
| api.chromium.ci_build( |
| builder_group='fake-group', |
| builder='fake-tester', |
| parent_buildername='fake-builder', |
| ), |
| ctbc_api.properties( |
| ctbc_api.properties_assembler_for_ci_tester( |
| builder_group='fake-group', |
| builder='fake-tester', |
| ).with_parent( |
| builder_group='fake-group', |
| builder='fake-builder', |
| ).assemble()), |
| api.properties(swarm_hashes={ |
| 'telemetry_gpu_unittests': 'eeeeeeeeeeeeeeeeeeeeeeeeeeeeee/size', |
| }), |
| api.chromium_tests.read_targets_spec( |
| 'fake-group', { |
| 'fake-tester': { |
| 'isolated_scripts': [{ |
| 'isolate_name': 'telemetry_gpu_unittests', |
| 'name': 'telemetry_gpu_unittests', |
| 'results_handler': 'fake', |
| },], |
| }, |
| }), |
| api.override_step_data( |
| 'telemetry_gpu_unittests results', |
| stdout=api.raw_io.output_text( |
| api.test_utils.rdb_results( |
| 'telemetry_gpu_unittests', failing_tests=['Test.One']))), |
| api.expect_status('FAILURE'), |
| ) |
| |
| yield api.test( |
| 'dynamic_isolated_script_test_harness_failure_no_json', |
| api.platform('linux', 64), |
| api.chromium.ci_build( |
| builder_group='fake-group', |
| builder='fake-tester', |
| parent_buildername='fake-builder', |
| ), |
| ctbc_api.properties( |
| ctbc_api.properties_assembler_for_ci_tester( |
| builder_group='fake-group', |
| builder='fake-tester', |
| ).with_parent( |
| builder_group='fake-group', |
| builder='fake-builder', |
| ).assemble()), |
| api.properties(swarm_hashes={ |
| 'telemetry_gpu_unittests': 'eeeeeeeeeeeeeeeeeeeeeeeeeeeeee/size', |
| }), |
| api.chromium_tests.read_targets_spec( |
| 'fake-group', { |
| 'fake-tester': { |
| 'isolated_scripts': [{ |
| 'isolate_name': 'telemetry_gpu_unittests', |
| 'name': 'telemetry_gpu_unittests', |
| },], |
| }, |
| }), |
| api.override_step_data( |
| 'telemetry_gpu_unittests', api.json.output(None), retcode=-11), |
| api.expect_status('FAILURE'), |
| ) |
| |
| yield api.test( |
| 'build_dynamic_isolated_script_test_compile_target_overriden', |
| api.platform('linux', 64), |
| api.chromium.ci_build( |
| builder_group='fake-group', |
| builder='fake-builder', |
| ), |
| ctbc_api.properties( |
| ctbc_api.properties_assembler_for_ci_builder( |
| builder_group='fake-group', |
| builder='fake-builder', |
| ).assemble()), |
| api.chromium_tests.read_targets_spec( |
| 'fake-group', { |
| 'fake-builder': { |
| 'isolated_scripts': [{ |
| 'isolate_name': |
| 'telemetry_gpu_unittests', |
| 'name': |
| 'telemetry_gpu_unittests', |
| 'override_compile_targets': |
| ['abc', 'telemetry_gpu_unittests_run'], |
| },], |
| }, |
| }), |
| ) |
| |
| yield api.test( |
| 'build_dynamic_swarmed_isolated_script_test', |
| api.platform('linux', 64), |
| api.chromium.ci_build( |
| builder_group='fake-group', |
| builder='fake-builder', |
| ), |
| ctbc_api.properties( |
| ctbc_api.properties_assembler_for_ci_builder( |
| builder_group='fake-group', |
| builder='fake-builder', |
| ).assemble()), |
| api.chromium_tests.read_targets_spec( |
| 'fake-group', { |
| 'fake-builder': { |
| 'isolated_scripts': [{ |
| 'isolate_name': 'telemetry_gpu_unittests', |
| 'name': 'telemetry_gpu_unittests', |
| 'swarming': { |
| 'can_use_on_swarming_builders': True, |
| 'dimension_sets': [{ |
| 'os': 'Linux', |
| },], |
| }, |
| },], |
| }, |
| }), |
| ) |
| |
| yield api.test( |
| 'build_dynamic_swarmed_isolated_script_test_compile_target_overidden', |
| api.platform('linux', 64), |
| api.chromium.ci_build( |
| builder_group='fake-group', |
| builder='fake-builder', |
| ), |
| ctbc_api.properties( |
| ctbc_api.properties_assembler_for_ci_builder( |
| builder_group='fake-group', |
| builder='fake-builder', |
| ).assemble()), |
| api.chromium_tests.read_targets_spec( |
| 'fake-group', { |
| 'fake-builder': { |
| 'isolated_scripts': [{ |
| 'isolate_name': |
| 'telemetry_gpu_unittests', |
| 'name': |
| 'telemetry_gpu_unittests', |
| 'swarming': { |
| 'can_use_on_swarming_builders': True, |
| 'dimension_sets': [{ |
| 'os': 'Linux', |
| },], |
| }, |
| 'override_compile_targets': |
| ['telemetry_gpu_unittests_run', 'a'], |
| },], |
| }, |
| }), |
| ) |
| |
| yield api.test( |
| 'dynamic_swarmed_passed_isolated_script_test', |
| api.platform('linux', 64), |
| api.chromium.ci_build( |
| builder_group='fake-group', |
| builder='fake-tester', |
| parent_buildername='fake-builder', |
| ), |
| ctbc_api.properties( |
| ctbc_api.properties_assembler_for_ci_tester( |
| builder_group='fake-group', |
| builder='fake-tester', |
| ).with_parent( |
| builder_group='fake-group', |
| builder='fake-builder', |
| ).assemble()), |
| api.properties(swarm_hashes={ |
| 'telemetry_gpu_unittests': 'eeeeeeeeeeeeeeeeeeeeeeeeeeeeee/size', |
| }), |
| api.chromium_tests.read_targets_spec( |
| 'fake-group', { |
| 'fake-tester': { |
| 'isolated_scripts': [{ |
| 'isolate_name': 'telemetry_gpu_unittests', |
| 'name': 'telemetry_gpu_unittests', |
| 'swarming': { |
| 'can_use_on_swarming_builders': True, |
| 'dimension_sets': [{ |
| 'os': 'Linux', |
| },], |
| }, |
| },], |
| }, |
| }), |
| ) |
| |
| yield api.test( |
| 'dynamic_swarmed_sharded_passed_isolated_script_test', |
| api.platform('linux', 64), |
| api.chromium.ci_build( |
| builder_group='fake-group', |
| builder='fake-tester', |
| parent_buildername='fake-builder', |
| ), |
| ctbc_api.properties( |
| ctbc_api.properties_assembler_for_ci_tester( |
| builder_group='fake-group', |
| builder='fake-tester', |
| ).with_parent( |
| builder_group='fake-group', |
| builder='fake-builder', |
| ).assemble()), |
| api.properties( |
| version='v23523', |
| swarm_hashes={ |
| 'telemetry_gpu_unittests': 'eeeeeeeeeeeeeeeeeeeeeeeeeeeeee/size' |
| }), |
| api.chromium_tests.read_targets_spec( |
| 'fake-group', { |
| 'fake-tester': { |
| 'isolated_scripts': [{ |
| 'isolate_name': 'telemetry_gpu_unittests', |
| 'name': 'telemetry_gpu_unittests', |
| 'swarming': { |
| 'can_use_on_swarming_builders': True, |
| 'dimension_sets': [{ |
| 'os': 'Linux', |
| },], |
| 'shards': 2, |
| }, |
| },], |
| }, |
| }), |
| ) |
| |
| yield api.test( |
| 'dynamic_swarmed_sharded_failed_isolated_script_test', |
| api.platform('linux', 64), |
| api.chromium.ci_build( |
| builder_group='fake-group', |
| builder='fake-tester', |
| parent_buildername='fake-builder', |
| ), |
| ctbc_api.properties( |
| ctbc_api.properties_assembler_for_ci_tester( |
| builder_group='fake-group', |
| builder='fake-tester', |
| ).with_parent( |
| builder_group='fake-group', |
| builder='fake-builder', |
| ).assemble()), |
| api.properties(swarm_hashes={ |
| 'telemetry_gpu_unittests': 'eeeeeeeeeeeeeeeeeeeeeeeeeeeeee/size', |
| }), |
| api.chromium_tests.read_targets_spec( |
| 'fake-group', { |
| 'fake-tester': { |
| 'isolated_scripts': [{ |
| 'isolate_name': 'telemetry_gpu_unittests', |
| 'name': 'telemetry_gpu_unittests', |
| 'swarming': { |
| 'can_use_on_swarming_builders': True, |
| 'dimension_sets': [{ |
| 'os': 'Linux', |
| },], |
| 'shards': 2, |
| }, |
| },], |
| }, |
| }), |
| api.chromium_tests.gen_swarming_and_rdb_results( |
| 'telemetry_gpu_unittests', '', failures=['Test.One']), |
| api.expect_status('FAILURE'), |
| ) |
| |
| yield api.test( |
| 'dynamic_swarmed_sharded_isolated_chartjson_test_disabled', |
| api.platform('linux', 64), |
| api.chromium.ci_build( |
| builder_group='fake-group', |
| builder='fake-tester', |
| parent_buildername='fake-builder', |
| ), |
| ctbc_api.properties( |
| ctbc_api.properties_assembler_for_ci_tester( |
| builder_group='fake-group', |
| builder='fake-tester', |
| ).with_parent( |
| builder_group='fake-group', |
| builder='fake-builder', |
| ).assemble()), |
| api.properties(swarm_hashes={ |
| 'telemetry_gpu_unittests': 'eeeeeeeeeeeeeeeeeeeeeeeeeeeeee/size', |
| }), |
| api.chromium_tests.read_targets_spec( |
| 'fake-group', { |
| 'fake-tester': { |
| 'isolated_scripts': [{ |
| 'isolate_name': 'telemetry_gpu_unittests', |
| 'name': 'telemetry_gpu_unittests', |
| 'swarming': { |
| 'can_use_on_swarming_builders': True, |
| 'dimension_sets': [{ |
| 'os': 'Linux', |
| },], |
| 'shards': 2, |
| }, |
| },], |
| }, |
| }), |
| ) |
| |
| yield api.test( |
| 'dynamic_swarmed_sharded_isolated_chartjson_test_missing_all_shards', |
| api.platform('linux', 64), |
| api.chromium.ci_build( |
| builder_group='fake-group', |
| builder='fake-tester', |
| parent_buildername='fake-builder', |
| ), |
| ctbc_api.properties( |
| ctbc_api.properties_assembler_for_ci_tester( |
| builder_group='fake-group', |
| builder='fake-tester', |
| ).with_parent( |
| builder_group='fake-group', |
| builder='fake-builder', |
| ).assemble()), |
| api.properties(swarm_hashes={ |
| 'telemetry_gpu_unittests': 'eeeeeeeeeeeeeeeeeeeeeeeeeeeeee/size', |
| }), |
| api.chromium_tests.read_targets_spec( |
| 'fake-group', { |
| 'fake-tester': { |
| 'isolated_scripts': [{ |
| 'isolate_name': 'telemetry_gpu_unittests', |
| 'name': 'telemetry_gpu_unittests', |
| 'swarming': { |
| 'can_use_on_swarming_builders': True, |
| 'dimension_sets': [{ |
| 'os': 'Linux', |
| },], |
| 'shards': 2, |
| }, |
| },], |
| }, |
| }), |
| api.chromium_tests.gen_swarming_and_rdb_results( |
| 'telemetry_gpu_unittests', '', failures=['Test.One']), |
| api.post_process(post_process.DoesNotRun, |
| 'telemetry_gpu_unittests Dashboard Upload'), |
| api.post_process(post_process.Filter('telemetry_gpu_unittests')), |
| api.expect_status('FAILURE'), |
| ) |
| |
| yield api.test( |
| 'dynamic_swarmed_isolated_script_test_linux_gpu', |
| api.platform('linux', 64), |
| api.chromium.ci_build( |
| builder_group='fake-group', |
| builder='fake-tester', |
| parent_buildername='fake-builder', |
| ), |
| ctbc_api.properties( |
| ctbc_api.properties_assembler_for_ci_tester( |
| builder_group='fake-group', |
| builder='fake-tester', |
| ).with_parent( |
| builder_group='fake-group', |
| builder='fake-builder', |
| ).assemble()), |
| api.properties(swarm_hashes={ |
| 'telemetry_gpu_unittests': 'eeeeeeeeeeeeeeeeeeeeeeeeeeeeee/size', |
| }), |
| api.chromium_tests.read_targets_spec( |
| 'fake-group', |
| { |
| 'fake-tester': { |
| 'isolated_scripts': [ |
| { |
| 'isolate_name': 'telemetry_gpu_unittests', |
| 'name': 'telemetry_gpu_unittests', |
| 'swarming': { |
| 'can_use_on_swarming_builders': |
| True, |
| 'dimension_sets': [ |
| { |
| 'gpu': |
| '10de:104a', # NVIDIA GeForce GT 610 |
| 'os': 'Linux', |
| }, |
| ], |
| }, |
| }, |
| ], |
| }, |
| }), |
| ) |
| |
| yield api.test( |
| 'dynamic_swarmed_isolated_script_test_mac_gpu', |
| api.chromium.ci_build( |
| builder_group='fake-group', |
| builder='fake-tester', |
| parent_buildername='fake-builder', |
| ), |
| api.platform('mac', 64), |
| api.chromium_tests_builder_config.properties( |
| api.chromium_tests_builder_config.properties_assembler_for_ci_tester( |
| builder_group='fake-group', |
| builder='fake-tester', |
| ).with_parent( |
| builder_group='fake-group', |
| builder='fake-builder', |
| ).assemble()), |
| api.properties(swarm_hashes={ |
| 'telemetry_gpu_unittests': 'eeeeeeeeeeeeeeeeeeeeeeeeeeeeee/size', |
| }), |
| api.chromium_tests.read_targets_spec( |
| 'fake-group', |
| { |
| 'fake-tester': { |
| 'isolated_scripts': [ |
| { |
| 'isolate_name': 'telemetry_gpu_unittests', |
| 'name': 'telemetry_gpu_unittests', |
| 'swarming': { |
| 'can_use_on_swarming_builders': |
| True, |
| 'dimension_sets': [ |
| { |
| 'gpu': '8086:0a2e', # Intel Iris |
| 'hidpi': '0', |
| 'os': 'Mac-10.10', |
| }, |
| { |
| 'gpu': |
| '10de:0fe9', # NVIDIA GeForce GT750M |
| 'hidpi': '1', |
| 'os': 'Mac-10.13', |
| }, |
| ], |
| }, |
| }, |
| ], |
| }, |
| }), |
| ) |
| |
| yield api.test( |
| 'dynamic_swarmed_isolated_script_test_win_gpu', |
| api.chromium.ci_build( |
| builder_group='fake-group', |
| builder='fake-tester', |
| parent_buildername='fake-builder', |
| ), |
| api.platform('win', 64), |
| api.chromium_tests_builder_config.properties( |
| api.chromium_tests_builder_config.properties_assembler_for_ci_tester( |
| builder_group='fake-group', |
| builder='fake-tester', |
| ).with_parent( |
| builder_group='fake-group', |
| builder='fake-builder', |
| ).assemble()), |
| api.properties(swarm_hashes={ |
| 'telemetry_gpu_unittests': 'eeeeeeeeeeeeeeeeeeeeeeeeeeeeee/size', |
| }), |
| api.chromium_tests.read_targets_spec( |
| 'fake-group', |
| { |
| 'fake-tester': { |
| 'isolated_scripts': [ |
| { |
| 'isolate_name': 'telemetry_gpu_unittests', |
| 'name': 'telemetry_gpu_unittests', |
| 'swarming': { |
| 'can_use_on_swarming_builders': |
| True, |
| 'dimension_sets': [ |
| { |
| # NVIDIA GeForce GT 610 |
| 'gpu': '10de:104a', |
| 'os': 'Windows', |
| }, |
| { |
| # AMD Radeon HD 6450 |
| 'gpu': '1002:6779', |
| 'os': 'Windows', |
| }, |
| { |
| # VMWare SVGA II Adapter |
| 'gpu': '15ad:0405', |
| 'os': 'Windows', |
| }, |
| ], |
| }, |
| }, |
| ], |
| }, |
| }), |
| ) |
| |
| yield api.test( |
| 'dynamic_swarmed_isolated_script_test_win_non_gpu', |
| api.chromium.ci_build( |
| builder_group='fake-group', |
| builder='fake-tester', |
| parent_buildername='fake-builder', |
| ), |
| api.platform('win', 64), |
| api.chromium_tests_builder_config.properties( |
| api.chromium_tests_builder_config.properties_assembler_for_ci_tester( |
| builder_group='fake-group', |
| builder='fake-tester', |
| ).with_parent( |
| builder_group='fake-group', |
| builder='fake-builder', |
| ).assemble()), |
| api.properties(swarm_hashes={ |
| 'telemetry_gpu_unittests': 'eeeeeeeeeeeeeeeeeeeeeeeeeeeeee/size', |
| }), |
| api.chromium_tests.read_targets_spec( |
| 'fake-group', { |
| 'fake-tester': { |
| 'isolated_scripts': [{ |
| 'isolate_name': 'telemetry_gpu_unittests', |
| 'name': 'telemetry_gpu_unittests', |
| 'swarming': { |
| 'can_use_on_swarming_builders': True, |
| 'dimension_sets': [{ |
| 'os': 'Windows', |
| },], |
| }, |
| },], |
| }, |
| }), |
| ) |
| |
| yield api.test( |
| 'dynamic_swarmed_failed_isolated_script_test', |
| api.platform('linux', 64), |
| api.chromium.ci_build( |
| builder_group='fake-group', |
| builder='fake-tester', |
| parent_buildername='fake-builder', |
| ), |
| ctbc_api.properties( |
| ctbc_api.properties_assembler_for_ci_tester( |
| builder_group='fake-group', |
| builder='fake-tester', |
| ).with_parent( |
| builder_group='fake-group', |
| builder='fake-builder', |
| ).assemble()), |
| api.properties(swarm_hashes={ |
| 'telemetry_gpu_unittests': 'eeeeeeeeeeeeeeeeeeeeeeeeeeeeee/size', |
| }), |
| api.chromium_tests.read_targets_spec( |
| 'fake-group', { |
| 'fake-tester': { |
| 'isolated_scripts': [{ |
| 'isolate_name': 'telemetry_gpu_unittests', |
| 'name': 'telemetry_gpu_unittests', |
| 'swarming': { |
| 'can_use_on_swarming_builders': True, |
| 'dimension_sets': [{ |
| 'os': 'Linux', |
| },], |
| }, |
| },], |
| }, |
| }), |
| api.chromium_tests.gen_swarming_and_rdb_results( |
| 'telemetry_gpu_unittests', '', failures=['Test.One']), |
| api.expect_status('FAILURE'), |
| ) |
| |
| yield api.test( |
| 'dynamic_swarmed_passed_with_bad_retcode_isolated_script_test', |
| api.platform('linux', 64), |
| api.chromium.ci_build( |
| builder_group='fake-group', |
| builder='fake-tester', |
| parent_buildername='fake-builder', |
| ), |
| ctbc_api.properties( |
| ctbc_api.properties_assembler_for_ci_tester( |
| builder_group='fake-group', |
| builder='fake-tester', |
| ).with_parent( |
| builder_group='fake-group', |
| builder='fake-builder', |
| ).assemble()), |
| api.properties(swarm_hashes={ |
| 'telemetry_gpu_unittests': 'eeeeeeeeeeeeeeeeeeeeeeeeeeeeee/size', |
| }), |
| api.chromium_tests.read_targets_spec( |
| 'fake-group', { |
| 'fake-tester': { |
| 'isolated_scripts': [{ |
| 'isolate_name': 'telemetry_gpu_unittests', |
| 'name': 'telemetry_gpu_unittests', |
| 'swarming': { |
| 'can_use_on_swarming_builders': True, |
| 'dimension_sets': [{ |
| 'os': 'Linux', |
| },], |
| }, |
| },], |
| }, |
| }), |
| api.override_step_data('telemetry_gpu_unittests', retcode=255), |
| api.expect_status('INFRA_FAILURE'), |
| ) |
| |
| yield api.test( |
| 'dynamic_junit_test', |
| api.chromium.ci_build( |
| builder_group='fake-group', |
| builder='fake-builder', |
| ), |
| ctbc_api.properties( |
| ctbc_api.properties_assembler_for_ci_builder( |
| builder_group='fake-group', |
| builder='fake-builder', |
| ).assemble()), |
| api.chromium_tests.read_targets_spec('fake-group', { |
| 'fake-tester': { |
| 'junit_tests': [{ |
| 'test': 'base_junit_tests', |
| },], |
| }, |
| }), |
| ) |
| |
| yield api.test( |
| 'dynamic_gtest_on_builder', |
| api.platform('linux', 64), |
| api.chromium.ci_build( |
| builder_group='fake-group', |
| builder='fake-builder', |
| ), |
| ctbc_api.properties( |
| ctbc_api.properties_assembler_for_ci_builder( |
| builder_group='fake-group', |
| builder='fake-builder', |
| ).assemble()), |
| api.chromium_tests.read_targets_spec( |
| 'fake-group', { |
| 'fake-tester': { |
| 'gtest_tests': [ |
| { |
| 'test': 'base_unittests', |
| }, |
| { |
| 'test': 'browser_tests', |
| 'shard_index': 0, |
| 'total_shards': 2 |
| }, |
| ], |
| }, |
| }), |
| ) |
| |
| yield api.test( |
| 'dynamic_gtest_win', |
| api.chromium.ci_build( |
| builder_group='fake-group', |
| builder='fake-tester', |
| parent_buildername='fake-builder', |
| ), |
| api.platform('win', 64), |
| api.chromium_tests_builder_config.properties( |
| api.chromium_tests_builder_config.properties_assembler_for_ci_tester( |
| builder_group='fake-group', |
| builder='fake-tester', |
| builder_spec=ctbc.BuilderSpec.create( |
| gclient_config='chromium', |
| chromium_config='chromium', |
| build_gs_bucket='fake-gs-bucket', |
| ), |
| ).with_parent( |
| builder_group='fake-group', |
| builder='fake-builder', |
| ).assemble()), |
| api.chromium_tests.read_targets_spec( |
| 'fake-group', { |
| 'fake-tester': { |
| 'gtest_tests': [ |
| { |
| 'test': 'aura_unittests', |
| }, |
| { |
| 'test': 'browser_tests', |
| 'shard_index': 0, |
| 'total_shards': 2 |
| }, |
| ], |
| }, |
| }), |
| ) |
| |
| yield api.test( |
| 'buildnumber_zero', |
| api.platform('linux', 64), |
| api.chromium.ci_build( |
| builder_group='fake-group', |
| builder='fake-tester', |
| parent_buildername='fake-builder', |
| build_number=0, |
| ), |
| ctbc_api.properties( |
| ctbc_api.properties_assembler_for_ci_tester( |
| builder_group='fake-group', |
| builder='fake-tester', |
| builder_spec=ctbc.BuilderSpec.create( |
| gclient_config='chromium', |
| chromium_config='chromium', |
| build_gs_bucket='fake-gs-bucket', |
| ), |
| ).with_parent( |
| builder_group='fake-group', |
| builder='fake-builder', |
| ).assemble()), |
| api.chromium_tests.read_targets_spec( |
| 'fake-group', { |
| 'fake-tester': { |
| 'gtest_tests': [ |
| { |
| 'test': 'base_unittests', |
| }, |
| { |
| 'test': 'browser_tests', |
| 'shard_index': 0, |
| 'total_shards': 2 |
| }, |
| ], |
| }, |
| }), |
| ) |
| |
| yield api.test( |
| 'one_failure_keeps_going_dynamic_tests', |
| api.platform('linux', 64), |
| api.chromium.ci_build( |
| builder_group='fake-group', |
| builder='fake-tester', |
| parent_buildername='fake-builder', |
| ), |
| ctbc_api.properties( |
| ctbc_api.properties_assembler_for_ci_tester( |
| builder_group='fake-group', |
| builder='fake-tester', |
| builder_spec=ctbc.BuilderSpec.create( |
| gclient_config='chromium', |
| chromium_config='chromium', |
| build_gs_bucket='fake-gs-bucket', |
| ), |
| ).with_parent( |
| builder_group='fake-group', |
| builder='fake-builder', |
| ).assemble()), |
| api.chromium_tests.read_targets_spec( |
| 'fake-group', { |
| 'fake-tester': { |
| 'gtest_tests': [ |
| { |
| 'test': 'base_unittests', |
| }, |
| { |
| 'test': 'browser_tests', |
| 'shard_index': 0, |
| 'total_shards': 2 |
| }, |
| ], |
| }, |
| }), |
| api.override_step_data('base_unittests', retcode=1), |
| api.expect_status('FAILURE'), |
| ) |
| |
| yield api.test( |
| 'dynamic_script_test_failure', |
| api.platform('linux', 64), |
| api.chromium.ci_build( |
| builder_group='fake-group', |
| builder='fake-tester', |
| parent_buildername='fake-builder', |
| ), |
| ctbc_api.properties( |
| ctbc_api.properties_assembler_for_ci_tester( |
| builder_group='fake-group', |
| builder='fake-tester', |
| builder_spec=ctbc.BuilderSpec.create( |
| gclient_config='chromium', |
| chromium_config='chromium', |
| build_gs_bucket='fake-gs-bucket', |
| ), |
| ).with_parent( |
| builder_group='fake-group', |
| builder='fake-builder', |
| ).assemble()), |
| api.chromium_tests.read_targets_spec( |
| 'fake-group', { |
| 'fake-tester': { |
| 'scripts': [{ |
| 'name': 'test_script_with_broken_tests', |
| 'script': 'test_script_with_broken_tests.py' |
| }] |
| } |
| }), |
| api.override_step_data( |
| 'test_script_with_broken_tests results', |
| stdout=api.raw_io.output_text( |
| api.test_utils.rdb_results( |
| 'test_script_with_broken_tests', |
| failing_tests=['FailSuite.Test1', 'FlakySuite.TestA']))), |
| api.expect_status('FAILURE'), |
| ) |
| |
| yield api.test( |
| 'gtest_custom_merge_script', |
| api.platform('linux', 64), |
| api.chromium.ci_build( |
| builder_group='fake-group', |
| builder='fake-tester', |
| parent_buildername='fake-builder', |
| ), |
| ctbc_api.properties( |
| ctbc_api.properties_assembler_for_ci_tester( |
| builder_group='fake-group', |
| builder='fake-tester', |
| ).with_parent( |
| builder_group='fake-group', |
| builder='fake-builder', |
| ).assemble()), |
| api.properties(swarm_hashes={ |
| 'browser_tests': 'eeeeeeeeeeeeeeeeeeeeeeeeeeeeee/size', |
| }), |
| api.chromium_tests.read_targets_spec( |
| 'fake-group', { |
| 'fake-tester': { |
| 'gtest_tests': [{ |
| 'test': 'browser_tests', |
| 'swarming': { |
| 'can_use_on_swarming_builders': True, |
| 'dimension_sets': [{ |
| 'os': 'Linux', |
| },], |
| }, |
| 'merge': { |
| 'script': '//fake_merge_script.py', |
| }, |
| },], |
| }, |
| }), |
| api.post_process(post_process.Filter('browser_tests')), |
| ) |
| |
| yield api.test( |
| 'gtest_bad_custom_merge_script', |
| api.platform('linux', 64), |
| api.chromium.ci_build( |
| builder_group='fake-group', |
| builder='fake-tester', |
| parent_buildername='fake-builder', |
| ), |
| ctbc_api.properties( |
| ctbc_api.properties_assembler_for_ci_tester( |
| builder_group='fake-group', |
| builder='fake-tester', |
| ).with_parent( |
| builder_group='fake-group', |
| builder='fake-builder', |
| ).assemble()), |
| api.properties(swarm_hashes={ |
| 'browser_tests': 'eeeeeeeeeeeeeeeeeeeeeeeeeeeeee/size', |
| }), |
| api.chromium_tests.read_targets_spec( |
| 'fake-group', { |
| 'fake-tester': { |
| 'gtest_tests': [{ |
| 'test': 'browser_tests', |
| 'swarming': { |
| 'can_use_on_swarming_builders': True, |
| 'dimension_sets': [{ |
| 'os': 'Linux', |
| },], |
| }, |
| 'merge': { |
| 'script': 'fake_merge_script.py', |
| }, |
| },], |
| }, |
| }), |
| api.expect_status('FAILURE'), |
| ) |
| |
| yield api.test( |
| 'isolated_script_test_custom_merge_script', |
| api.platform('linux', 64), |
| api.chromium.ci_build( |
| builder_group='fake-group', |
| builder='fake-tester', |
| parent_buildername='fake-builder', |
| ), |
| ctbc_api.properties( |
| ctbc_api.properties_assembler_for_ci_tester( |
| builder_group='fake-group', |
| builder='fake-tester', |
| ).with_parent( |
| builder_group='fake-group', |
| builder='fake-builder', |
| ).assemble()), |
| api.properties(swarm_hashes={ |
| 'fake_test': 'eeeeeeeeeeeeeeeeeeeeeeeeeeeeee/size', |
| }), |
| api.chromium_tests.read_targets_spec( |
| 'fake-group', { |
| 'fake-tester': { |
| 'isolated_scripts': [{ |
| 'isolate_name': 'fake_test', |
| 'name': 'fake_test', |
| 'merge': { |
| 'script': '//fake_merge_script.py', |
| }, |
| 'swarming': { |
| 'can_use_on_swarming_builders': True, |
| 'dimension_sets': [{ |
| 'os': 'Linux', |
| },], |
| }, |
| },], |
| }, |
| }), |
| api.post_process(post_process.Filter('fake_test')), |
| ) |
| |
| yield api.test( |
| 'isolated_script_test_bad_custom_merge_script', |
| api.platform('linux', 64), |
| api.chromium.ci_build( |
| builder_group='fake-group', |
| builder='fake-tester', |
| parent_buildername='fake-builder', |
| ), |
| ctbc_api.properties( |
| ctbc_api.properties_assembler_for_ci_tester( |
| builder_group='fake-group', |
| builder='fake-tester', |
| ).with_parent( |
| builder_group='fake-group', |
| builder='fake-builder', |
| ).assemble()), |
| api.properties(swarm_hashes={ |
| 'fake_test': 'eeeeeeeeeeeeeeeeeeeeeeeeeeeeee/size', |
| }), |
| api.chromium_tests.read_targets_spec( |
| 'fake-group', { |
| 'fake-tester': { |
| 'isolated_scripts': [{ |
| 'isolate_name': 'fake_test', |
| 'name': 'fake_test', |
| 'merge': { |
| 'script': 'bad_fake_merge_script.py', |
| }, |
| 'swarming': { |
| 'can_use_on_swarming_builders': True, |
| 'dimension_sets': [{ |
| 'os': 'Linux', |
| },], |
| }, |
| },], |
| }, |
| }), |
| api.expect_status('FAILURE'), |
| ) |
| |
| yield api.test( |
| 'isolated_script_test_custom_merge_script_with_args', |
| api.platform('linux', 64), |
| api.chromium.ci_build( |
| builder_group='fake-group', |
| builder='fake-tester', |
| parent_buildername='fake-builder', |
| ), |
| ctbc_api.properties( |
| ctbc_api.properties_assembler_for_ci_tester( |
| builder_group='fake-group', |
| builder='fake-tester', |
| ).with_parent( |
| builder_group='fake-group', |
| builder='fake-builder', |
| ).assemble()), |
| api.properties(swarm_hashes={ |
| 'fake_test': 'eeeeeeeeeeeeeeeeeeeeeeeeeeeeee/size', |
| }), |
| api.chromium_tests.read_targets_spec( |
| 'fake-group', { |
| 'fake-tester': { |
| 'isolated_scripts': [{ |
| 'isolate_name': 'fake_test', |
| 'name': 'fake_test', |
| 'merge': { |
| 'script': '//fake_merge_script.py', |
| 'args': [ |
| '--foo', |
| 'foo_value', |
| ], |
| }, |
| 'swarming': { |
| 'can_use_on_swarming_builders': True, |
| 'dimension_sets': [{ |
| 'os': 'Linux', |
| },], |
| }, |
| },], |
| }, |
| }), |
| api.post_process(post_process.Filter('fake_test')), |
| ) |
| |
| yield api.test( |
| 'isolated_script_test_custom_results_handler', |
| api.platform('linux', 64), |
| api.chromium.ci_build( |
| builder_group='fake-group', |
| builder='fake-tester', |
| parent_buildername='fake-builder', |
| ), |
| ctbc_api.properties( |
| ctbc_api.properties_assembler_for_ci_tester( |
| builder_group='fake-group', |
| builder='fake-tester', |
| ).with_parent( |
| builder_group='fake-group', |
| builder='fake-builder', |
| ).assemble()), |
| api.properties(swarm_hashes={ |
| 'fake_test': 'eeeeeeeeeeeeeeeeeeeeeeeeeeeeee/size', |
| }), |
| api.chromium_tests.read_targets_spec( |
| 'fake-group', { |
| 'fake-tester': { |
| 'isolated_scripts': [{ |
| 'isolate_name': 'fake_test', |
| 'name': 'fake_test', |
| 'results_handler': 'fake', |
| 'swarming': { |
| 'can_use_on_swarming_builders': True, |
| 'dimension_sets': [{ |
| 'os': 'Linux', |
| },], |
| }, |
| },], |
| }, |
| }), |
| api.post_process(post_process.Filter('fake_test')), |
| ) |
| |
| yield api.test( |
| 'isolated_script_test_invalid_results_handler', |
| api.platform('linux', 64), |
| api.chromium.ci_build( |
| builder_group='fake-group', |
| builder='fake-tester', |
| parent_buildername='fake-builder', |
| ), |
| ctbc_api.properties( |
| ctbc_api.properties_assembler_for_ci_tester( |
| builder_group='fake-group', |
| builder='fake-tester', |
| ).with_parent( |
| builder_group='fake-group', |
| builder='fake-builder', |
| ).assemble()), |
| api.properties(swarm_hashes={ |
| 'fake_test': 'eeeeeeeeeeeeeeeeeeeeeeeeeeeeee/size', |
| }), |
| api.chromium_tests.read_targets_spec( |
| 'fake-group', { |
| 'fake-tester': { |
| 'isolated_scripts': [{ |
| 'isolate_name': 'fake_test', |
| 'name': 'fake_test', |
| 'results_handler': 'unknown', |
| },], |
| }, |
| }), |
| api.expect_status('FAILURE'), |
| ) |