From 13a652963c7bfa3273462ae7a13400d719def28d Mon Sep 17 00:00:00 2001 From: Ryan Harrison Date: Thu, 23 Apr 2020 13:51:39 +0000 Subject: [PATCH] Rename tint_fuzz to tint_wgsl_reader_fuzzer This is in anticipation of future fuzzer implementations. BUG=tint:56 Change-Id: I73492c135bed7d5bee9c114ec336a837b4f447ac Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/20243 Reviewed-by: David Neto --- CMakeLists.txt | 3 +- fuzz/CMakeLists.txt | 29 ---------------- fuzzers/CMakeLists.txt | 34 +++++++++++++++++++ .../tint_wgsl_reader_fuzzer.cc | 3 +- 4 files changed, 37 insertions(+), 32 deletions(-) delete mode 100644 fuzz/CMakeLists.txt create mode 100644 fuzzers/CMakeLists.txt rename fuzz/tint_fuzz.cc => fuzzers/tint_wgsl_reader_fuzzer.cc (92%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8778d57e72..bbd9fc0248 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -152,11 +152,12 @@ add_subdirectory(src) add_subdirectory(samples) if (${TINT_BUILD_FUZZERS}) + # TODO(rharrison): Remove this check ones there are other fuzzers. if (NOT ${TINT_BUILD_WGSL_READER}) message(ERROR, "Fuzzers require WGSL reader to be enabled") endif() - add_subdirectory(fuzz) + add_subdirectory(fuzzers) endif() add_custom_target(tint-lint diff --git a/fuzz/CMakeLists.txt b/fuzz/CMakeLists.txt deleted file mode 100644 index d191c5444c..0000000000 --- a/fuzz/CMakeLists.txt +++ /dev/null @@ -1,29 +0,0 @@ -# Copyright 2020 The Tint 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. - -add_executable(tint_fuzz tint_fuzz.cc) -target_link_libraries(tint_fuzz libtint) -tint_default_compile_options(tint_fuzz) -target_link_options(tint_fuzz PRIVATE - -fno-omit-frame-pointer - -fsanitize=fuzzer,address,undefined - -fsanitize-address-use-after-scope - -O1 - -g -) -target_compile_options(tint_fuzz PRIVATE - -fsanitize=fuzzer,address,undefined - -Wno-missing-prototypes -) - diff --git a/fuzzers/CMakeLists.txt b/fuzzers/CMakeLists.txt new file mode 100644 index 0000000000..86f8a64a7f --- /dev/null +++ b/fuzzers/CMakeLists.txt @@ -0,0 +1,34 @@ +# Copyright 2020 The Tint 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. + +# TODO(rharrison): Make a generic fuzzer target template once we have more +# fuzzers. + +if ({TINT_BUILD_WGSL_READER}) + add_executable(tint_wgsl_reader_fuzzer tint_wgsl_reader_fuzzer.cc) + target_link_libraries(tint_fuzz libtint) + tint_default_compile_options(tint_fuzz) + target_link_options(tint_fuzz PRIVATE + -fno-omit-frame-pointer + -fsanitize=fuzzer,address,undefined + -fsanitize-address-use-after-scope + -O1 + -g + ) + + target_compile_options(tint_wgsl_reader_fuzzer PRIVATE + -fsanitize=fuzzer,address,undefined + -Wno-missing-prototypes + ) +endif() diff --git a/fuzz/tint_fuzz.cc b/fuzzers/tint_wgsl_reader_fuzzer.cc similarity index 92% rename from fuzz/tint_fuzz.cc rename to fuzzers/tint_wgsl_reader_fuzzer.cc index bd6d0672cc..ad24002eee 100644 --- a/fuzz/tint_fuzz.cc +++ b/fuzzers/tint_wgsl_reader_fuzzer.cc @@ -16,7 +16,7 @@ #include "src/reader/wgsl/parser.h" -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { +extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { std::string str(reinterpret_cast(data), size); tint::Context ctx; @@ -25,4 +25,3 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { return 0; } -