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): |