GCC Code Coverage Report


Directory: ./
File: tmp_project/PhoenixGenerator/src/header_generator.cpp
Date: 2025-07-04 20:28:51
Exec Total Coverage
Lines: 41 41 100.0%
Branches: 64 64 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 "header_generator.h"
9
10 ///Get the licence in string
11 /** @return licence in string
12 */
13 89 PString licenceSaveStr(){
14 89 PString body("");
15
1/1
✓ Branch 1 taken 89 times.
89 body += "/***************************************\n";
16
1/1
✓ Branch 1 taken 89 times.
89 body += "\tAuteur : Pierre Aubert\n";
17
1/1
✓ Branch 1 taken 89 times.
89 body += "\tMail : pierre.aubert@lapp.in2p3.fr\n";
18
1/1
✓ Branch 1 taken 89 times.
89 body += "\tLicence : CeCILL-C\n";
19
1/1
✓ Branch 1 taken 89 times.
89 body += "****************************************/\n";
20 89 return body;
21 }
22
23 ///Saves the policy
24 /** @param fs : file in witch to write
25 */
26 56 void licenceSave(std::ofstream & fs){
27
2/2
✓ Branch 2 taken 56 times.
✓ Branch 5 taken 56 times.
56 fs << licenceSaveStr() << std::endl;
28 56 }
29
30 ///Create the macro of multi inclusion file name
31 /** @param fileName : header file name
32 * @return macro of multi inclusion file name
33 */
34 32 PString makeMultiIncludeDefineMacro(const PString & fileName){
35
6/6
✓ Branch 2 taken 32 times.
✓ Branch 5 taken 32 times.
✓ Branch 8 taken 32 times.
✓ Branch 11 taken 32 times.
✓ Branch 14 taken 32 times.
✓ Branch 17 taken 32 times.
64 return "__" + fileName.replace(".", "_").toUpper() + "__";
36 }
37
38 ///Fonction qui sauve le fichier header
39 /** @param fileName : header file name
40 */
41 4 void saveHeaderFile(const PPath & fileName){
42
1/1
✓ Branch 1 taken 4 times.
4 std::ofstream fs;
43
1/1
✓ Branch 2 taken 4 times.
4 fs.open(fileName.c_str());
44
3/3
✓ Branch 1 taken 4 times.
✓ Branch 3 taken 1 times.
✓ Branch 4 taken 3 times.
4 if(!fs.is_open()){
45
4/4
✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
✓ Branch 7 taken 1 times.
✓ Branch 10 taken 1 times.
1 std::cerr << "saveHeaderFile : can't open file '" << fileName << "'" << std::endl;
46 1 return;
47 }
48
1/1
✓ Branch 1 taken 3 times.
3 PString defineStr(makeMultiIncludeDefineMacro(fileName));
49
1/1
✓ Branch 1 taken 3 times.
3 licenceSave(fs);
50
3/3
✓ Branch 1 taken 3 times.
✓ Branch 4 taken 3 times.
✓ Branch 7 taken 3 times.
3 fs << "#ifndef " << defineStr << std::endl;
51
3/3
✓ Branch 1 taken 3 times.
✓ Branch 4 taken 3 times.
✓ Branch 7 taken 3 times.
3 fs << "#define " << defineStr << std::endl;
52
6/6
✓ Branch 1 taken 3 times.
✓ Branch 4 taken 3 times.
✓ Branch 7 taken 3 times.
✓ Branch 10 taken 3 times.
✓ Branch 13 taken 3 times.
✓ Branch 16 taken 3 times.
3 fs << std::endl << std::endl << std::endl << std::endl << std::endl << std::endl;
53
2/2
✓ Branch 1 taken 3 times.
✓ Branch 4 taken 3 times.
3 fs << "#endif" << std::endl;
54
1/1
✓ Branch 1 taken 3 times.
3 fs.close();
55
2/2
✓ Branch 2 taken 3 times.
✓ Branch 3 taken 1 times.
4 }
56
57 ///Fonction qui sauve le fichier source
58 /** @param fileName : source file name
59 * @param headerName : header file name
60 */
61 4 void saveSourceFile(const PPath & fileName, const PString & headerName){
62
1/1
✓ Branch 1 taken 4 times.
4 std::ofstream fs;
63
1/1
✓ Branch 2 taken 4 times.
4 fs.open(fileName.c_str());
64
3/3
✓ Branch 1 taken 4 times.
✓ Branch 3 taken 1 times.
✓ Branch 4 taken 3 times.
4 if(!fs.is_open()){
65
4/4
✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
✓ Branch 7 taken 1 times.
✓ Branch 10 taken 1 times.
1 std::cerr << "saveSourceFile : can't open file '" << fileName << "'" << std::endl;
66 1 return;
67 }
68
1/1
✓ Branch 1 taken 3 times.
3 licenceSave(fs);
69
10/10
✓ Branch 1 taken 3 times.
✓ Branch 4 taken 3 times.
✓ Branch 7 taken 3 times.
✓ Branch 10 taken 3 times.
✓ Branch 13 taken 3 times.
✓ Branch 16 taken 3 times.
✓ Branch 19 taken 3 times.
✓ Branch 22 taken 3 times.
✓ Branch 25 taken 3 times.
✓ Branch 28 taken 3 times.
3 fs << std::endl << "#include \"" << headerName << "\"" << std::endl << std::endl << std::endl << std::endl << std::endl << std::endl;
70
1/1
✓ Branch 1 taken 3 times.
3 fs.close();
71
2/2
✓ Branch 1 taken 3 times.
✓ Branch 2 taken 1 times.
4 }
72
73 ///Fonction qui sauve le fichier header
74 /** @param headerName : header file name
75 * @param sourceName : source file name
76 */
77 4 void saveHeaderSourceFile(const PPath & headerName, const PPath & sourceName){
78 4 saveHeaderFile(headerName);
79 4 saveSourceFile(sourceName, headerName);
80 4 }
81
82
83