From da43604eaba36310750df75e1b2d31e734c45fe1 Mon Sep 17 00:00:00 2001 From: Ryan Harrison Date: Thu, 29 Apr 2021 19:59:55 +0000 Subject: [PATCH] Remove fuzzers for transforms that should only be invoked by sanitizers Also mark code elements that should be removed as part of https://crbug.com/tint/753 BUG=tint:722 Change-Id: I52aedeffcb06e302f8399d83986909b36749ca5e Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/49560 Auto-Submit: Ryan Harrison Kokoro: Kokoro Commit-Queue: Ben Clayton Reviewed-by: Ben Clayton --- fuzzers/BUILD.gn | 16 ++-------- fuzzers/CMakeLists.txt | 4 +-- fuzzers/tint_all_transforms_fuzzer.cc | 6 ++-- fuzzers/tint_calculate_array_length_fuzzer.cc | 31 ------------------- ...tint_canonicalize_entry_point_io_fuzzer.cc | 31 ------------------- fuzzers/tint_emit_vertex_point_size_fuzzer.cc | 3 ++ include/tint/tint.h | 4 +-- 7 files changed, 11 insertions(+), 84 deletions(-) delete mode 100644 fuzzers/tint_calculate_array_length_fuzzer.cc delete mode 100644 fuzzers/tint_canonicalize_entry_point_io_fuzzer.cc diff --git a/fuzzers/BUILD.gn b/fuzzers/BUILD.gn index 7de9983487..9f00ed3cf2 100644 --- a/fuzzers/BUILD.gn +++ b/fuzzers/BUILD.gn @@ -76,16 +76,7 @@ if (build_with_chromium) { deps = [ ":tint_fuzzer_common" ] } - fuzzer_test("tint_calculate_array_length_fuzzer") { - sources = [ "tint_calculate_array_length_fuzzer.cc" ] - deps = [ ":tint_fuzzer_common" ] - } - - fuzzer_test("tint_canonicalize_entry_point_io_fuzzer") { - sources = [ "tint_canonicalize_entry_point_io_fuzzer.cc" ] - deps = [ ":tint_fuzzer_common" ] - } - + # TODO(tint:753): Remove once transform used by sanitizers fuzzer_test("tint_emit_vertex_point_size_fuzzer") { sources = [ "tint_emit_vertex_point_size_fuzzer.cc" ] deps = [ ":tint_fuzzer_common" ] @@ -173,9 +164,8 @@ if (build_with_chromium) { ":tint_all_transforms_fuzzer", ":tint_binding_remapper_fuzzer", ":tint_bound_array_accessors_fuzzer", - ":tint_calculate_array_length_fuzzer", - ":tint_canonicalize_entry_point_io_fuzzer", - ":tint_emit_vertex_point_size_fuzzer", + ":tint_emit_vertex_point_size_fuzzer", # TODO(tint:753): Remove once + # transform used by sanitizers ":tint_first_index_offset_fuzzer", ":tint_inspector_fuzzer", ":tint_wgsl_reader_spv_writer_fuzzer", diff --git a/fuzzers/CMakeLists.txt b/fuzzers/CMakeLists.txt index 98abf30b27..f0c617dd2b 100644 --- a/fuzzers/CMakeLists.txt +++ b/fuzzers/CMakeLists.txt @@ -33,9 +33,7 @@ if (${TINT_BUILD_WGSL_READER} AND ${TINT_BUILD_SPV_WRITER}) add_tint_fuzzer(tint_all_transforms_fuzzer) add_tint_fuzzer(tint_binding_remapper_fuzzer) add_tint_fuzzer(tint_bound_array_accessors_fuzzer) - add_tint_fuzzer(tint_calculate_array_length_fuzzer) - add_tint_fuzzer(tint_canonicalize_entry_point_io_fuzzer) - add_tint_fuzzer(tint_emit_vertex_point_size_fuzzer) + add_tint_fuzzer(tint_emit_vertex_point_size_fuzzer) # TODO(tint:753): Remove once transform used by sanitizers add_tint_fuzzer(tint_first_index_offset_fuzzer) add_tint_fuzzer(tint_inspector_fuzzer) add_tint_fuzzer(tint_wgsl_reader_spv_writer_fuzzer) diff --git a/fuzzers/tint_all_transforms_fuzzer.cc b/fuzzers/tint_all_transforms_fuzzer.cc index 36ed341349..95b130fcc4 100644 --- a/fuzzers/tint_all_transforms_fuzzer.cc +++ b/fuzzers/tint_all_transforms_fuzzer.cc @@ -30,11 +30,11 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { } transform_manager.Add(); - transform_manager.Add(); + transform_manager + .Add(); // TODO(tint:753): Remove once + // transform used by sanitizers transform_manager.Add(); transform_manager.Add(); - transform_manager.Add(); - transform_manager.Add(); fuzzers::CommonFuzzer fuzzer(InputFormat::kWGSL, OutputFormat::kSpv); fuzzer.SetTransformManager(&transform_manager, std::move(transform_inputs)); diff --git a/fuzzers/tint_calculate_array_length_fuzzer.cc b/fuzzers/tint_calculate_array_length_fuzzer.cc deleted file mode 100644 index 35df1c35f7..0000000000 --- a/fuzzers/tint_calculate_array_length_fuzzer.cc +++ /dev/null @@ -1,31 +0,0 @@ -// Copyright 2021 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. - -#include "fuzzers/tint_common_fuzzer.h" - -namespace tint { -namespace fuzzers { - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { - transform::Manager transform_manager; - transform_manager.Add(); - - fuzzers::CommonFuzzer fuzzer(InputFormat::kWGSL, OutputFormat::kSpv); - fuzzer.SetTransformManager(&transform_manager, {}); - - return fuzzer.Run(data, size); -} - -} // namespace fuzzers -} // namespace tint diff --git a/fuzzers/tint_canonicalize_entry_point_io_fuzzer.cc b/fuzzers/tint_canonicalize_entry_point_io_fuzzer.cc deleted file mode 100644 index 263aa8a79e..0000000000 --- a/fuzzers/tint_canonicalize_entry_point_io_fuzzer.cc +++ /dev/null @@ -1,31 +0,0 @@ -// Copyright 2021 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. - -#include "fuzzers/tint_common_fuzzer.h" - -namespace tint { -namespace fuzzers { - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { - transform::Manager transform_manager; - transform_manager.Add(); - - fuzzers::CommonFuzzer fuzzer(InputFormat::kWGSL, OutputFormat::kSpv); - fuzzer.SetTransformManager(&transform_manager, {}); - - return fuzzer.Run(data, size); -} - -} // namespace fuzzers -} // namespace tint diff --git a/fuzzers/tint_emit_vertex_point_size_fuzzer.cc b/fuzzers/tint_emit_vertex_point_size_fuzzer.cc index 3b394377bd..d5ab5b4bcc 100644 --- a/fuzzers/tint_emit_vertex_point_size_fuzzer.cc +++ b/fuzzers/tint_emit_vertex_point_size_fuzzer.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +// TODO(tint:753): Remove this fuzzer once that transform is only +// being used from sanitizers. + #include "fuzzers/tint_common_fuzzer.h" namespace tint { diff --git a/include/tint/tint.h b/include/tint/tint.h index 44d85f3020..ae0ff17de1 100644 --- a/include/tint/tint.h +++ b/include/tint/tint.h @@ -26,9 +26,7 @@ #include "src/sem/type_manager.h" #include "src/transform/binding_remapper.h" #include "src/transform/bound_array_accessors.h" -#include "src/transform/calculate_array_length.h" -#include "src/transform/canonicalize_entry_point_io.h" -#include "src/transform/emit_vertex_point_size.h" +#include "src/transform/emit_vertex_point_size.h" // TODO(tint:753): Remove once transform used by sanitizers #include "src/transform/first_index_offset.h" #include "src/transform/manager.h" #include "src/transform/renamer.h"