Chromium Code Reviews| Index: scripts/slave/recipes/webrtc/libfuzzer.py |
| diff --git a/scripts/slave/recipes/chromium_libfuzzer.py b/scripts/slave/recipes/webrtc/libfuzzer.py |
| similarity index 62% |
| copy from scripts/slave/recipes/chromium_libfuzzer.py |
| copy to scripts/slave/recipes/webrtc/libfuzzer.py |
| index 50f78ebdd286b49a823fb73d87b98ae056b39f65..b7fcdbd0bd11d26379c88c57963b581697fc4c41 100644 |
| --- a/scripts/slave/recipes/chromium_libfuzzer.py |
| +++ b/scripts/slave/recipes/webrtc/libfuzzer.py |
| @@ -1,9 +1,10 @@ |
| -# Copyright 2014 The Chromium Authors. All rights reserved. |
| +# 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. |
| from recipe_engine.types import freeze |
| + |
| DEPS = [ |
| 'archive', |
| 'bot_update', |
| @@ -16,21 +17,36 @@ DEPS = [ |
| 'recipe_engine/python', |
| 'recipe_engine/raw_io', |
| 'recipe_engine/step', |
| + 'webrtc', |
| ] |
| BUILDERS = freeze({ |
| - 'chromium.fyi': { |
| + 'client.webrtc': { |
| 'builders': { |
| - 'Libfuzzer Upload Linux': { |
| - 'chromium_apply_config': [ 'proprietary_codecs' ], |
| + 'Linux64 Release (Libfuzzer)': { |
| + 'recipe_config': 'webrtc', |
| 'chromium_config_kwargs': { |
| 'BUILD_CONFIG': 'Release', |
| - 'TARGET_PLATFORM': 'linux', |
| 'TARGET_BITS': 64, |
| }, |
| - 'upload_bucket': 'chromium-browser-libfuzzer', |
| - 'upload_directory': 'asan', |
| + 'chromium_apply_config': ['webrtc_libfuzzer'], |
| + 'bot_type': 'builder', |
| + 'testing': {'platform': 'linux'}, |
| + }, |
| + }, |
| + }, |
| + 'tryserver.webrtc': { |
| + 'builders': { |
| + 'linux_libfuzzer_rel': { |
| + 'recipe_config': 'webrtc', |
| + 'chromium_config_kwargs': { |
| + 'BUILD_CONFIG': 'Release', |
| + 'TARGET_BITS': 64, |
| + }, |
| + 'chromium_apply_config': ['webrtc_libfuzzer'], |
| + 'bot_type': 'builder', |
| + 'testing': {'platform': 'linux'}, |
| }, |
| }, |
| }, |
| @@ -38,12 +54,10 @@ BUILDERS = freeze({ |
| def RunSteps(api): |
| - mastername = api.m.properties['mastername'] |
| - buildername, bot_config = api.chromium.configure_bot(BUILDERS, ['mb']) |
| - |
| - checkout_results = api.bot_update.ensure_checkout( |
| - force=True, patch_root=bot_config.get('root_override')) |
| + webrtc = api.webrtc |
| + webrtc.apply_bot_config(BUILDERS, webrtc.RECIPE_CONFIGS) |
| + api.webrtc.checkout() |
| api.chromium.runhooks() |
| # checkout llvm |
| @@ -54,7 +68,7 @@ def RunSteps(api): |
| cwd=api.path['checkout'], |
| env={'LLVM_FORCE_HEAD_REVISION': 'YES'}) |
| - api.chromium.run_mb(mastername, buildername, use_goma=False) |
|
kjellander_chromium
2015/12/16 22:16:54
MB is a Chromium specific thing that allows dprank
|
| + api.chromium.run_gn(use_goma=False) |
| step_result = api.python('calculate targets', |
| api.path['depot_tools'].join('gn.py'), |
| @@ -63,8 +77,9 @@ def RunSteps(api): |
| str(api.chromium.output_dir), |
| '--all', |
| '--type=executable', |
| + '--args="use_libfuzzer=true is_asan=true"', |
|
kjellander_chromium
2015/12/16 22:16:54
This differs from the libfuzzer recipe. It's actua
kjellander_chromium
2015/12/16 22:22:08
Nevermind, it's actually not needed. As long as we
|
| '--as=output', |
| - '//testing/libfuzzer:libfuzzer_main', |
| + '//webrtc/test/fuzzers:webrtc_fuzzer_main', |
| ], |
| stdout=api.raw_io.output()) |
| @@ -72,14 +87,6 @@ def RunSteps(api): |
| api.step.active_result.presentation.logs['targets'] = targets |
| api.chromium.compile(targets=targets) |
| - api.archive.clusterfuzz_archive( |
| - api.path['slave_build'].join('src', 'out', 'Release'), |
| - checkout_results.json.output['properties'], |
| - bot_config['upload_bucket'], |
| - 'libfuzzer', |
| - archive_subdir_suffix=bot_config['upload_directory'], |
| - gs_acl='public-read') |
| - |
| def GenTests(api): |
| for test in api.chromium.gen_tests_for_builders(BUILDERS): |