MCPcopy Create free account
hub / github.com/CLIUtils/CLI11 / generateApp

Method generateApp

fuzz/fuzzApp.cpp:47–159  ·  view source on GitHub ↗

int32_t val32{0}; int16_t val16{0}; int8_t val8{0}; int64_t val64{0}; uint32_t uval32{0}; uint16_t uval16{0}; uint8_t uval8{0}; uint64_t uval64{0}; std::atomic atomicval64{0}; std::atomic atomicuval64{0}; double v1{0}; float v2{0}; std::vector vv1; std::vector vstr; std::vector >

Source from the content-addressed store, hash-verified

45 std::atomic<bool> flagAtomic{false};
46 */
47std::shared_ptr<CLI::App> FuzzApp::generateApp() {
48 auto fApp = std::make_shared<CLI::App>("fuzzing App", "fuzzer");
49 fApp->set_config("--config");
50 fApp->set_help_all_flag("--help-all");
51 fApp->add_flag("-a,--flag");
52 fApp->add_flag("-b,--flag2,!--nflag2", flag1);
53 fApp->add_flag("-c{34},--flag3{1}", flagCnt)->disable_flag_override();
54 fApp->add_flag("-e,--flagA", flagAtomic);
55 fApp->add_flag("--atd", doubleAtomic);
56
57 fApp->add_option("-d,--opt1", val8);
58 fApp->add_option("--opt2", val16);
59 fApp->add_option("--opt3", val32);
60 fApp->add_option("--opt4", val64);
61
62 fApp->add_option("--opt5", uval8);
63 fApp->add_option("--opt6", uval16);
64 fApp->add_option("--opt7", uval32);
65 fApp->add_option("--opt8", uval64);
66
67 fApp->add_option("--aopt1", atomicval64);
68 fApp->add_option("--aopt2", atomicuval64);
69
70 fApp->add_option("--dopt1", v1);
71 fApp->add_option("--dopt2", v2);
72
73 fApp->add_option("--cv3", cv3);
74 fApp->add_option("--cv4", cv4);
75
76 auto *vgroup = fApp->add_option_group("vectors");
77
78 vgroup->add_option("--vopt1", vv1);
79 vgroup->add_option("--vopt2", vvs)->inject_separator();
80 vgroup->add_option("--vopt3", vstr);
81 vgroup->add_option("--vopt4", vecvecd)->inject_separator();
82
83 fApp->add_option("--oopt1", od1);
84 fApp->add_option("--oopt2", ods);
85 fApp->add_option("--ovopt", ovs);
86
87 fApp->add_option("--tup1", p1);
88 fApp->add_option("--tup2", t1);
89 fApp->add_option("--tup4", tcomplex);
90 vgroup->add_option("--vtup", vectup);
91
92 fApp->add_option("--dwrap", dwrap);
93 fApp->add_option("--iwrap", iwrap);
94 fApp->add_option("--swrap", swrap);
95 // file checks
96 fApp->add_option("--dexists")->check(ExistingDirectory);
97 fApp->add_option("--fexists")->check(ExistingFile);
98 fApp->add_option("--fnexists")->check(NonexistentPath);
99
100 auto *sub = fApp->add_subcommand("sub1");
101
102 sub->add_option("--sopt2", val16)->check(Range(1, 10));
103 sub->add_option("--sopt3", val32)->check(PositiveNumber);
104 sub->add_option("--sopt4", val64)->check(NonNegativeNumber);

Callers 4

FuzzFailTest.cppFile · 0.80
LLVMFuzzerTestOneInputFunction · 0.80
mainFunction · 0.80
LLVMFuzzerTestOneInputFunction · 0.80

Calls 15

RangeClass · 0.85
BoundClass · 0.85
set_configMethod · 0.80
set_help_all_flagMethod · 0.80
add_flagMethod · 0.80
disable_flag_overrideMethod · 0.80
add_option_groupMethod · 0.80
transformMethod · 0.80
expectedMethod · 0.80
joinMethod · 0.80
add_optionMethod · 0.45
checkMethod · 0.45

Tested by

no test coverage detected