mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-12-10 14:08:04 +00:00
tint->dawn: Move src/fuzzers/dawn -> src/dawn/fuzzers
This has already been moved once, but with more consideration, there's far less fuzzer-related stuff to put in the same root directory here. Bug: dawn:1275 Change-Id: Ic4bb556d9a9f104293cca3316cae84b66a6362b6 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/79104 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Ben Clayton <bclayton@google.com>
This commit is contained in:
committed by
Dawn LUCI CQ
parent
a6750751c7
commit
c6ccd539e8
124
src/dawn/fuzzers/BUILD.gn
Normal file
124
src/dawn/fuzzers/BUILD.gn
Normal file
@@ -0,0 +1,124 @@
|
||||
# Copyright 2018 The Dawn Authors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
import("//build_overrides/build.gni")
|
||||
import("../../../scripts/dawn_overrides_with_defaults.gni")
|
||||
|
||||
# We only have libfuzzer in Chromium builds but if we build fuzzer targets only
|
||||
# there, we would risk breaking fuzzer targets all the time when making changes
|
||||
# to Dawn. To avoid that, we make fuzzer targets compile in standalone builds
|
||||
# as well with a dawn_fuzzer_test target that acts like Chromium's fuzzer_test.
|
||||
#
|
||||
# The standalone fuzzer targets are able to run a single fuzzer input which
|
||||
# could help reproduce fuzzer crashes more easily because you don't need a
|
||||
# whole Chromium checkout.
|
||||
|
||||
if (build_with_chromium) {
|
||||
import("//testing/libfuzzer/fuzzer_test.gni")
|
||||
|
||||
# In Chromium build we just proxy everything to the real fuzzer_test
|
||||
template("dawn_fuzzer_test") {
|
||||
fuzzer_test(target_name) {
|
||||
forward_variables_from(invoker, "*")
|
||||
}
|
||||
}
|
||||
} else {
|
||||
import("//testing/test.gni")
|
||||
|
||||
# In standalone build we do something similar to fuzzer_test.
|
||||
template("dawn_fuzzer_test") {
|
||||
test(target_name) {
|
||||
forward_variables_from(invoker,
|
||||
[
|
||||
"asan_options",
|
||||
"cflags",
|
||||
"cflags_cc",
|
||||
"check_includes",
|
||||
"defines",
|
||||
"deps",
|
||||
"include_dirs",
|
||||
"sources",
|
||||
])
|
||||
|
||||
if (defined(asan_options)) {
|
||||
not_needed([ "asan_options" ])
|
||||
}
|
||||
|
||||
if (!defined(configs)) {
|
||||
configs = []
|
||||
}
|
||||
|
||||
# Weirdly fuzzer_test uses a special variable for additional configs.
|
||||
if (defined(invoker.additional_configs)) {
|
||||
configs += invoker.additional_configs
|
||||
}
|
||||
|
||||
sources += [ "StandaloneFuzzerMain.cpp" ]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static_library("dawn_wire_server_fuzzer_common") {
|
||||
sources = [
|
||||
"DawnWireServerFuzzer.cpp",
|
||||
"DawnWireServerFuzzer.h",
|
||||
]
|
||||
public_deps = [
|
||||
"${dawn_root}/src/dawn:cpp",
|
||||
"${dawn_root}/src/dawn:proc",
|
||||
"${dawn_root}/src/dawn/common",
|
||||
"${dawn_root}/src/dawn/native:static",
|
||||
"${dawn_root}/src/dawn/utils",
|
||||
"${dawn_root}/src/dawn/wire:static",
|
||||
]
|
||||
}
|
||||
|
||||
dawn_fuzzer_test("dawn_wire_server_and_frontend_fuzzer") {
|
||||
sources = [ "DawnWireServerAndFrontendFuzzer.cpp" ]
|
||||
|
||||
deps = [ ":dawn_wire_server_fuzzer_common" ]
|
||||
|
||||
additional_configs = [ "${dawn_root}/src/dawn/common:internal_config" ]
|
||||
}
|
||||
|
||||
if (is_win) {
|
||||
dawn_fuzzer_test("dawn_wire_server_and_d3d12_backend_fuzzer") {
|
||||
sources = [ "DawnWireServerAndD3D12BackendFuzzer.cpp" ]
|
||||
|
||||
deps = [ ":dawn_wire_server_fuzzer_common" ]
|
||||
|
||||
additional_configs = [ "${dawn_root}/src/dawn/common:internal_config" ]
|
||||
}
|
||||
}
|
||||
|
||||
dawn_fuzzer_test("dawn_wire_server_and_vulkan_backend_fuzzer") {
|
||||
sources = [ "DawnWireServerAndVulkanBackendFuzzer.cpp" ]
|
||||
|
||||
deps = [ ":dawn_wire_server_fuzzer_common" ]
|
||||
|
||||
additional_configs = [ "${dawn_root}/src/dawn/common:internal_config" ]
|
||||
}
|
||||
|
||||
# A group target to build all the fuzzers
|
||||
group("fuzzers") {
|
||||
testonly = true
|
||||
deps = [
|
||||
":dawn_wire_server_and_frontend_fuzzer",
|
||||
":dawn_wire_server_and_vulkan_backend_fuzzer",
|
||||
]
|
||||
|
||||
if (is_win) {
|
||||
deps += [ ":dawn_wire_server_and_d3d12_backend_fuzzer" ]
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2018 The Dawn Authors
|
||||
# Copyright 2022 The Dawn Authors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@@ -12,113 +12,11 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
import("//build_overrides/build.gni")
|
||||
import("../../../scripts/dawn_overrides_with_defaults.gni")
|
||||
|
||||
# We only have libfuzzer in Chromium builds but if we build fuzzer targets only
|
||||
# there, we would risk breaking fuzzer targets all the time when making changes
|
||||
# to Dawn. To avoid that, we make fuzzer targets compile in standalone builds
|
||||
# as well with a dawn_fuzzer_test target that acts like Chromium's fuzzer_test.
|
||||
#
|
||||
# The standalone fuzzer targets are able to run a single fuzzer input which
|
||||
# could help reproduce fuzzer crashes more easily because you don't need a
|
||||
# whole Chromium checkout.
|
||||
|
||||
if (build_with_chromium) {
|
||||
import("//testing/libfuzzer/fuzzer_test.gni")
|
||||
|
||||
# In Chromium build we just proxy everything to the real fuzzer_test
|
||||
template("dawn_fuzzer_test") {
|
||||
fuzzer_test(target_name) {
|
||||
forward_variables_from(invoker, "*")
|
||||
}
|
||||
}
|
||||
} else {
|
||||
import("//testing/test.gni")
|
||||
|
||||
# In standalone build we do something similar to fuzzer_test.
|
||||
template("dawn_fuzzer_test") {
|
||||
test(target_name) {
|
||||
forward_variables_from(invoker,
|
||||
[
|
||||
"asan_options",
|
||||
"cflags",
|
||||
"cflags_cc",
|
||||
"check_includes",
|
||||
"defines",
|
||||
"deps",
|
||||
"include_dirs",
|
||||
"sources",
|
||||
])
|
||||
|
||||
if (defined(asan_options)) {
|
||||
not_needed([ "asan_options" ])
|
||||
}
|
||||
|
||||
if (!defined(configs)) {
|
||||
configs = []
|
||||
}
|
||||
|
||||
# Weirdly fuzzer_test uses a special variable for additional configs.
|
||||
if (defined(invoker.additional_configs)) {
|
||||
configs += invoker.additional_configs
|
||||
}
|
||||
|
||||
sources += [ "StandaloneFuzzerMain.cpp" ]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static_library("dawn_wire_server_fuzzer_common") {
|
||||
sources = [
|
||||
"DawnWireServerFuzzer.cpp",
|
||||
"DawnWireServerFuzzer.h",
|
||||
]
|
||||
public_deps = [
|
||||
"${dawn_root}/src/dawn:cpp",
|
||||
"${dawn_root}/src/dawn:proc",
|
||||
"${dawn_root}/src/dawn/common",
|
||||
"${dawn_root}/src/dawn/native:static",
|
||||
"${dawn_root}/src/dawn/utils",
|
||||
"${dawn_root}/src/dawn/wire:static",
|
||||
]
|
||||
}
|
||||
|
||||
dawn_fuzzer_test("dawn_wire_server_and_frontend_fuzzer") {
|
||||
sources = [ "DawnWireServerAndFrontendFuzzer.cpp" ]
|
||||
|
||||
deps = [ ":dawn_wire_server_fuzzer_common" ]
|
||||
|
||||
additional_configs = [ "${dawn_root}/src/dawn/common:internal_config" ]
|
||||
}
|
||||
|
||||
if (is_win) {
|
||||
dawn_fuzzer_test("dawn_wire_server_and_d3d12_backend_fuzzer") {
|
||||
sources = [ "DawnWireServerAndD3D12BackendFuzzer.cpp" ]
|
||||
|
||||
deps = [ ":dawn_wire_server_fuzzer_common" ]
|
||||
|
||||
additional_configs = [ "${dawn_root}/src/dawn/common:internal_config" ]
|
||||
}
|
||||
}
|
||||
|
||||
dawn_fuzzer_test("dawn_wire_server_and_vulkan_backend_fuzzer") {
|
||||
sources = [ "DawnWireServerAndVulkanBackendFuzzer.cpp" ]
|
||||
|
||||
deps = [ ":dawn_wire_server_fuzzer_common" ]
|
||||
|
||||
additional_configs = [ "${dawn_root}/src/dawn/common:internal_config" ]
|
||||
}
|
||||
|
||||
# A group target to build all the fuzzers
|
||||
################################################################################
|
||||
# Build target aliases
|
||||
# TODO(crbug.com/dawn/1275) - remove these
|
||||
################################################################################
|
||||
group("dawn_fuzzers") {
|
||||
public_deps = [ "../../dawn/fuzzers" ]
|
||||
testonly = true
|
||||
deps = [
|
||||
":dawn_wire_server_and_frontend_fuzzer",
|
||||
":dawn_wire_server_and_vulkan_backend_fuzzer",
|
||||
]
|
||||
|
||||
if (is_win) {
|
||||
deps += [ ":dawn_wire_server_and_d3d12_backend_fuzzer" ]
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user