Custom fuzz options (#1077)

add mechanics for the fuzzer to add custom options.

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
This commit is contained in:
Philip Top
2024-10-15 05:53:14 -07:00
committed by GitHub
parent 32ea8d5e35
commit e52bef1eb8
9 changed files with 148 additions and 25 deletions

View File

@@ -828,6 +828,22 @@ TEST_CASE_METHOD(TApp, "RequiredPosInSubcommand", "[subcom]") {
CHECK_THROWS_AS(run(), CLI::RequiredError);
}
// from https://github.com/CLIUtils/CLI11/issues/1002
TEST_CASE_METHOD(TApp, "ForcedSubcommandExclude", "[subcom]") {
auto *subcommand_1 = app.add_subcommand("sub_1");
std::string forced;
subcommand_1->add_flag_function("-f", [&forced](bool f) { forced = f ? "got true" : "got false"; })
->force_callback();
auto *subcommand_2 = app.add_subcommand("sub2");
subcommand_1->excludes(subcommand_2);
args = {"sub2"};
CHECK_NOTHROW(run());
CHECK(forced == "got false");
}
TEST_CASE_METHOD(TApp, "invalidSubcommandName", "[subcom]") {
bool gotError{false};