Commit 71853377 authored by Takuto Ikuta's avatar Takuto Ikuta Committed by Commit Bot

[libfuzzer] enable owners file generation only in use_fuzzing_engine

Owners file generation took more than 25% of full build times in CQ.
Let me enable that only in fuzzing engine build.

Bug: 995151
Change-Id: I4f490ef946ddeb729991cafbf21dd21bb5059920
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1761889
Commit-Queue: Takuto Ikuta <tikuta@chromium.org>
Reviewed-by: default avatarMax Moroz <mmoroz@chromium.org>
Reviewed-by: default avatarJonathan Metzman <metzman@chromium.org>
Auto-Submit: Takuto Ikuta <tikuta@chromium.org>
Cr-Commit-Position: refs/heads/master@{#688522}
parent 4eea4ca1
...@@ -24,7 +24,6 @@ import("//testing/test.gni") ...@@ -24,7 +24,6 @@ import("//testing/test.gni")
# - ubsan_options - UndefinedBehaviorSanitizer options. # - ubsan_options - UndefinedBehaviorSanitizer options.
# - seed_corpus - a directory with seed corpus. # - seed_corpus - a directory with seed corpus.
# - seed_corpus_deps - dependencies for generating the seed corpus. # - seed_corpus_deps - dependencies for generating the seed corpus.
# - skip_owners - if true, skips writing the owners file.
# #
# If use_libfuzzer gn flag is defined, then proper fuzzer would be build. # If use_libfuzzer gn flag is defined, then proper fuzzer would be build.
# Without use_libfuzzer or use_afl a unit-test style binary would be built on # Without use_libfuzzer or use_afl a unit-test style binary would be built on
...@@ -155,35 +154,38 @@ template("fuzzer_test") { ...@@ -155,35 +154,38 @@ template("fuzzer_test") {
test_deps += [ ":" + config_file_name ] test_deps += [ ":" + config_file_name ]
} }
# Generate .owners file (if skip_owners is not true). if (use_fuzzing_engine) {
owners_file_name = target_name + ".owners" # Generating owners files is slow, only enable when fuzzing engine is
action(owners_file_name) { # used.
script = "//testing/libfuzzer/gen_fuzzer_owners.py" owners_file_name = target_name + ".owners"
args = [ action(owners_file_name) {
"--owners", script = "//testing/libfuzzer/gen_fuzzer_owners.py"
rebase_path("$root_build_dir/" + owners_file_name, root_build_dir), args = [
] "--owners",
rebase_path("$root_build_dir/" + owners_file_name, root_build_dir),
]
if (defined(invoker.sources) && invoker.sources != []) { if (defined(invoker.sources) && invoker.sources != []) {
args += [ "--sources" ] + rebase_path(invoker.sources, "//") args += [ "--sources" ] + rebase_path(invoker.sources, "//")
} else if (defined(invoker.deps) && invoker.deps != []) { } else if (defined(invoker.deps) && invoker.deps != []) {
_full_deps = [] _full_deps = []
foreach(_dep, invoker.deps) { foreach(_dep, invoker.deps) {
_full_deps += [ get_label_info(_dep, "dir") + ":" + _full_deps += [ get_label_info(_dep, "dir") + ":" +
get_label_info(_dep, "name") ] get_label_info(_dep, "name") ]
}
args += [
"--build-dir",
rebase_path("$root_build_dir/", root_build_dir),
"--deps",
] + _full_deps
} }
args += [
"--build-dir",
rebase_path("$root_build_dir/", root_build_dir),
"--deps",
] + _full_deps
}
outputs = [ outputs = [
"$root_build_dir/$owners_file_name", "$root_build_dir/$owners_file_name",
] ]
}
test_deps += [ ":" + owners_file_name ]
} }
test_deps += [ ":" + owners_file_name ]
test(target_name) { test(target_name) {
forward_variables_from(invoker, forward_variables_from(invoker,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment