mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-05-13 19:01:24 +00:00
This toggle controls if the fuzzer will throw a fatal error in the case that the shader becomes invalid. Currently the fuzzers do no guarantee that the options that are provided are correct/valid, so there are many uninteresting cases that become invalid due to the limited nature of the fuzzers, not due to bugs in the code. The default off state of this toggle will suppress this noise. Once https://bugs.chromium.org/p/tint/issues/detail?id=1356 is implemented this toggle can be default on. BUG=tint:1357,chromium:1294533 Change-Id: I7170e5a30691105c97e20d8337aadf81ac2bc3bc Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/79840 Reviewed-by: Ben Clayton <bclayton@google.com> Auto-Submit: Ryan Harrison <rharrison@chromium.org> Kokoro: Kokoro <noreply+kokoro@google.com> Commit-Queue: Ryan Harrison <rharrison@chromium.org>
45 lines
1.3 KiB
C++
45 lines
1.3 KiB
C++
// 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.
|
|
|
|
#ifndef FUZZERS_CLI_H_
|
|
#define FUZZERS_CLI_H_
|
|
|
|
#include <cstdint>
|
|
|
|
namespace tint {
|
|
namespace fuzzers {
|
|
|
|
/// CLI parameters accepted by the fuzzer. Type -tint_help in the CLI to see the
|
|
/// help message
|
|
struct CliParams {
|
|
bool dump_input = false;
|
|
bool enforce_validity = false;
|
|
};
|
|
|
|
/// @brief Parses CLI parameters.
|
|
///
|
|
/// This function will exit the process with non-zero return code if some
|
|
/// parameters are invalid. This function will remove recognized parameters from
|
|
/// `argv` and adjust `argc` accordingly.
|
|
///
|
|
/// @param argc - the total number of parameters.
|
|
/// @param argv - array of all CLI parameters.
|
|
/// @return parsed parameters.
|
|
CliParams ParseCliParams(int* argc, char** argv);
|
|
|
|
} // namespace fuzzers
|
|
} // namespace tint
|
|
|
|
#endif // FUZZERS_CLI_H_
|