 Chromium Code Reviews
 Chromium Code Reviews Issue 1530293002:
  WebRTC: Add Libfuzzer commit and trybot.  (Closed) 
  Base URL: https://chromium.googlesource.com/chromium/tools/build.git@master
    
  
    Issue 1530293002:
  WebRTC: Add Libfuzzer commit and trybot.  (Closed) 
  Base URL: https://chromium.googlesource.com/chromium/tools/build.git@master| 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): |