MCPcopy Create free account
hub / github.com/Samsung/UTopia / main

Function main

tools/fuzz_generator/main.cpp:17–62  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

15}
16
17int main(int argc, const char **argv) {
18 llvm::cl::ResetCommandLineParser();
19 llvm::cl::opt<bool> OptHelp(
20 "help", llvm::cl::desc("Display available options"),
21 llvm::cl::ValueDisallowed, llvm::cl::callback([](const bool &) {
22 llvm::cl::PrintHelpMessage();
23 exit(0);
24 }));
25 llvm::cl::opt<bool> OptVersion(
26 "version", llvm::cl::desc("Display version"), llvm::cl::ValueDisallowed,
27 llvm::cl::callback([](const bool &) {
28 llvm::outs() << "version: " << FTG_VERSION << "\n";
29 exit(0);
30 }));
31 llvm::cl::opt<std::string> SrcDir(
32 "src",
33 llvm::cl::desc(
34 "<Required> Original source directory of the target project"),
35 llvm::cl::value_desc("dir_path"), llvm::cl::Required);
36 llvm::cl::opt<std::string> TargetReportDir(
37 "target",
38 llvm::cl::desc("<Required> Target Analyzer report directory path"),
39 llvm::cl::value_desc("dir_path"), llvm::cl::Required);
40 llvm::cl::opt<std::string> UTReportPath(
41 "ut", llvm::cl::desc("<Required> UT Analyzer report path"),
42 llvm::cl::value_desc("filepath"), llvm::cl::Required);
43 llvm::cl::opt<std::string> LibraryAPIPath(
44 "public", llvm::cl::desc("<Required> PublicAPI.json path"),
45 llvm::cl::value_desc("filepath"), llvm::cl::Required);
46 llvm::cl::opt<std::string> OutputPath(
47 "out", llvm::cl::desc("<Required> Output directory path"),
48 llvm::cl::value_desc("dir_path"), llvm::cl::Required);
49 llvm::cl::ParseCommandLineOptions(argc, argv, "Fuzz Generator\n");
50
51 auto PublicAPIList = getPublicAPIList(LibraryAPIPath);
52
53 Generator Gen;
54 try {
55 Gen.generate(SrcDir, PublicAPIList, TargetReportDir, UTReportPath,
56 OutputPath);
57 } catch (Json::RuntimeError &E) {
58 return 1;
59 }
60
61 return 0;
62}

Callers

nothing calls this directly

Calls 2

getPublicAPIListFunction · 0.85
generateMethod · 0.45

Tested by

no test coverage detected