GCC Code Coverage Report


Directory: ./
File: TESTS/TEST_ParserModeMulti/main.cpp
Date: 2024-07-27 10:53:27
Exec Total Coverage
Lines: 32 32 100.0%
Branches: 68 68 100.0%

Line Branch Exec Source
1
2 /***************************************
3 Auteur : Pierre Aubert
4 Mail : pierre.aubert@lapp.in2p3.fr
5 Licence : CeCILL-C
6 ****************************************/
7
8 #include "phoenix_assert.h"
9 #include "phoenix_check.h"
10 #include "OptionParser.h"
11
12 ///Create the OptionParser of this program
13 /** @return OptionParser of this program
14 */
15 20 OptionParser createOptionParser(){
16
2/2
✓ Branch 2 taken 20 times.
✓ Branch 5 taken 20 times.
40 OptionParser parser(true, "1.0.0");
17
2/2
✓ Branch 2 taken 20 times.
✓ Branch 5 taken 20 times.
20 parser.addMode("class");
18
4/4
✓ Branch 2 taken 20 times.
✓ Branch 6 taken 20 times.
✓ Branch 10 taken 20 times.
✓ Branch 13 taken 20 times.
20 parser.addOption("name", "n", OptionType::STRING, true, "base name of the file to be created");
19
1/1
✓ Branch 2 taken 20 times.
20 std::string templateDef("");
20
5/5
✓ Branch 2 taken 20 times.
✓ Branch 5 taken 20 times.
✓ Branch 9 taken 20 times.
✓ Branch 13 taken 20 times.
✓ Branch 16 taken 20 times.
20 parser.addOption("template", "t", templateDef, "template definition of the class (ex: 'typename T' or 'typename T, typename U', etc)");
21
4/4
✓ Branch 2 taken 20 times.
✓ Branch 6 taken 20 times.
✓ Branch 10 taken 20 times.
✓ Branch 13 taken 20 times.
20 parser.addOption("config", "c", OptionType::FILENAME, false, "base name of the file to be created");
22
1/1
✓ Branch 1 taken 20 times.
20 parser.closeMode();
23
24
2/2
✓ Branch 2 taken 20 times.
✓ Branch 5 taken 20 times.
20 parser.addMode("source");
25
4/4
✓ Branch 2 taken 20 times.
✓ Branch 6 taken 20 times.
✓ Branch 10 taken 20 times.
✓ Branch 13 taken 20 times.
20 parser.addOption("name", "n", OptionType::STRING, true, "base name of the file to be created");
26
1/1
✓ Branch 1 taken 20 times.
20 parser.closeMode();
27 40 return parser;
28 20 }
29
30 20 int main(int argc, char** argv){
31
1/1
✓ Branch 1 taken 20 times.
20 OptionParser parser = createOptionParser();
32 // parser.print();
33
1/1
✓ Branch 1 taken 4 times.
20 parser.parseArgument(argc, argv);
34
35
2/2
✓ Branch 2 taken 4 times.
✓ Branch 5 taken 4 times.
4 const OptionMode & classMode = parser.getMode("class");
36
2/2
✓ Branch 2 taken 4 times.
✓ Branch 5 taken 4 times.
4 const OptionMode & sourceMode = parser.getMode("source");
37
3/3
✓ Branch 1 taken 4 times.
✓ Branch 3 taken 2 times.
✓ Branch 4 taken 2 times.
4 if(classMode.isParsed()){ //We are using the class mode
38 // std::cout << "Class mode activated" << std::endl;
39
2/2
✓ Branch 2 taken 2 times.
✓ Branch 6 taken 2 times.
4 std::string className(""), templateDef("");
40
2/2
✓ Branch 2 taken 2 times.
✓ Branch 5 taken 2 times.
2 classMode.getValue(className, "name");
41
2/2
✓ Branch 2 taken 2 times.
✓ Branch 5 taken 2 times.
2 classMode.getValue(templateDef, "template");
42 // std::cout << "name of the class to be generated : '" << className << "', templateDef = '"<<templateDef<<"'" << std::endl;
43
44
7/7
✓ Branch 2 taken 2 times.
✓ Branch 6 taken 2 times.
✓ Branch 10 taken 2 times.
✓ Branch 14 taken 2 times.
✓ Branch 18 taken 2 times.
✓ Branch 21 taken 2 times.
✓ Branch 24 taken 2 times.
2 phoenix_assert(phoenix_check("Check class name", className, "classname"));
45
7/7
✓ Branch 2 taken 2 times.
✓ Branch 6 taken 2 times.
✓ Branch 10 taken 2 times.
✓ Branch 14 taken 2 times.
✓ Branch 18 taken 2 times.
✓ Branch 21 taken 2 times.
✓ Branch 24 taken 2 times.
2 phoenix_assert(phoenix_check("Check type name", templateDef, "typename T"));
46 2 }
47
48
3/3
✓ Branch 1 taken 4 times.
✓ Branch 3 taken 2 times.
✓ Branch 4 taken 2 times.
4 if(sourceMode.isParsed()){ //We are using the source mode
49 // std::cout << "Source mode activated" << std::endl;
50
1/1
✓ Branch 2 taken 2 times.
2 std::string fileName("");
51
2/2
✓ Branch 2 taken 2 times.
✓ Branch 5 taken 2 times.
2 sourceMode.getValue(fileName, "name");
52 // std::cout << "name of the header/source files to be generated : " << fileName << "'" << std::endl;
53
54
7/7
✓ Branch 2 taken 2 times.
✓ Branch 6 taken 2 times.
✓ Branch 10 taken 2 times.
✓ Branch 14 taken 2 times.
✓ Branch 18 taken 2 times.
✓ Branch 21 taken 2 times.
✓ Branch 24 taken 2 times.
2 phoenix_assert(phoenix_check("Check source name", fileName, "sourcename"));
55 2 }
56 4 return 0;
57 4 }
58
59
60