GCC Code Coverage Report


Directory: ./
File: TESTS/TEST_PARSESEQ/main.cpp
Date: 2026-05-19 15:33:21
Exec Total Coverage
Lines: 63 63 100.0%
Functions: 6 6 100.0%
Branches: 114 114 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 <iostream>
9 #include "phoenix_assert.h"
10 #include "phoenix_check.h"
11 #include "pxml_utils.h"
12 #include "PParseSeq_utils.h"
13
14
15 ///Check the ParseSeq
16 /** @param fileName : name of the file to be used
17 * @param strToBeParsed : string to be parsed
18 * @param expextedResult : expected result
19 * @return true on success, false otherwise
20 */
21 7 bool checkParseSeq(const PPath & fileName, const PString & strToBeParsed, bool expextedResult){
22 7 bool b(true);
23
1/1
✓ Branch 0 (2→3) taken 7 times.
7 PXml root;
24
1/1
✓ Branch 0 (3→4) taken 7 times.
7 b &= pxml_parserFile(root, fileName);
25
26
2/2
✓ Branch 0 (4→5) taken 7 times.
✓ Branch 2 (5→6) taken 7 times.
7 PXml * xml = pxml_getChildPtr(root, "sequence");
27
28
1/1
✓ Branch 0 (7→8) taken 7 times.
7 PParseSeq seq;
29
1/1
✓ Branch 0 (8→9) taken 7 times.
7 b &= loadParserSeq(seq, *xml);
30
31
2/2
✓ Branch 0 (9→10) taken 7 times.
✓ Branch 2 (10→11) taken 7 times.
7 b &= pxml_getFullContent(*xml) != "";
32
33
1/1
✓ Branch 0 (12→13) taken 7 times.
7 PFileParser parser;
34
1/1
✓ Branch 0 (13→14) taken 7 times.
7 parser.setFileContent(strToBeParsed);
35
36
2/2
✓ Branch 0 (14→15) taken 7 times.
✓ Branch 2 (15→16) taken 7 times.
7 b &= (parser.isMatch(seq) != "") == expextedResult;
37 // phoenix_functionOk("checkParseSeq", b);
38 7 return b;
39 7 }
40
41 ///Check the ParseSeq
42 1 void checkParseSeqFromVec(){
43 1 std::vector<PString> vecStr;
44
2/2
✓ Branch 0 (3→4) taken 1 times.
✓ Branch 2 (4→5) taken 1 times.
1 vecStr.push_back("\\begin");
45
2/2
✓ Branch 0 (6→7) taken 1 times.
✓ Branch 2 (7→8) taken 1 times.
1 vecStr.push_back("{");
46
2/2
✓ Branch 0 (9→10) taken 1 times.
✓ Branch 2 (10→11) taken 1 times.
1 vecStr.push_back("someName");
47
2/2
✓ Branch 0 (12→13) taken 1 times.
✓ Branch 2 (13→14) taken 1 times.
1 vecStr.push_back("}");
48
49
1/1
✓ Branch 0 (15→16) taken 1 times.
1 PParseSeq seq = createSequenceAllMatch(vecStr);
50
2/2
✓ Branch 0 (16→17) taken 1 times.
✓ Branch 2 (17→18) taken 1 times.
1 PParseSeq seq2(seq), seq3;
51
1/1
✓ Branch 0 (18→19) taken 1 times.
1 seq3 = seq;
52 1 }
53
54 ///Check the ParseSeq
55 1 void checkTestParseSeq(){
56
2/2
✓ Branch 0 (2→3) taken 1 times.
✓ Branch 2 (3→4) taken 1 times.
1 PPath fileName1("testFile1.xml");
57
1/1
✓ Branch 0 (5→6) taken 1 times.
1 PString content1("<sequence>\t<step>\n\t<s>1234567890</s>\n\t</step>\n\t<step optional=\"true\">\n\t<s>lu</s>\n\t</step>\n</sequence>\n");
58
5/5
✓ Branch 0 (6→7) taken 1 times.
✓ Branch 2 (9→10) taken 1 times.
✓ Branch 4 (12→13) taken 1 times.
✓ Branch 6 (15→16) taken 1 times.
✓ Branch 8 (16→17) taken 1 times.
6 phoenix_assert(fileName1.saveFileContent(content1));
59
6/6
✓ Branch 0 (23→24) taken 1 times.
✓ Branch 2 (24→25) taken 1 times.
✓ Branch 4 (27→28) taken 1 times.
✓ Branch 6 (30→31) taken 1 times.
✓ Branch 8 (33→34) taken 1 times.
✓ Branch 10 (34→35) taken 1 times.
7 phoenix_assert(checkParseSeq(fileName1, "24140812", true));
60
6/6
✓ Branch 0 (42→43) taken 1 times.
✓ Branch 2 (43→44) taken 1 times.
✓ Branch 4 (46→47) taken 1 times.
✓ Branch 6 (49→50) taken 1 times.
✓ Branch 8 (52→53) taken 1 times.
✓ Branch 10 (53→54) taken 1 times.
7 phoenix_assert(checkParseSeq(fileName1, "2414lu", true));
61
62
2/2
✓ Branch 0 (61→62) taken 1 times.
✓ Branch 2 (62→63) taken 1 times.
1 PPath fileName2("testFile2.xml");
63
1/1
✓ Branch 0 (64→65) taken 1 times.
1 PString content2("<sequence>\n\t<step>\n\t\t<m>.</m>\n\t</step>\n\t<step>\n\t\t<s>1234567890</s>\n\t</step>\n\t<step optional=\"true\">\n\t\t<s>f</s>\n\t\t\t</step>\n</sequence>\n");
64
5/5
✓ Branch 0 (65→66) taken 1 times.
✓ Branch 2 (68→69) taken 1 times.
✓ Branch 4 (71→72) taken 1 times.
✓ Branch 6 (74→75) taken 1 times.
✓ Branch 8 (75→76) taken 1 times.
6 phoenix_assert(fileName2.saveFileContent(content2));
65
6/6
✓ Branch 0 (82→83) taken 1 times.
✓ Branch 2 (83→84) taken 1 times.
✓ Branch 4 (86→87) taken 1 times.
✓ Branch 6 (89→90) taken 1 times.
✓ Branch 8 (92→93) taken 1 times.
✓ Branch 10 (93→94) taken 1 times.
7 phoenix_assert(checkParseSeq(fileName2, ".124", true));
66
6/6
✓ Branch 0 (101→102) taken 1 times.
✓ Branch 2 (102→103) taken 1 times.
✓ Branch 4 (105→106) taken 1 times.
✓ Branch 6 (108→109) taken 1 times.
✓ Branch 8 (111→112) taken 1 times.
✓ Branch 10 (112→113) taken 1 times.
7 phoenix_assert(checkParseSeq(fileName2, ".12f", true));
67
6/6
✓ Branch 0 (120→121) taken 1 times.
✓ Branch 2 (121→122) taken 1 times.
✓ Branch 4 (124→125) taken 1 times.
✓ Branch 6 (127→128) taken 1 times.
✓ Branch 8 (130→131) taken 1 times.
✓ Branch 10 (131→132) taken 1 times.
7 phoenix_assert(checkParseSeq(fileName2, "2414lu", false));
68
69
2/2
✓ Branch 0 (139→140) taken 1 times.
✓ Branch 2 (140→141) taken 1 times.
1 PPath fileName3("testFile3.xml");
70
1/1
✓ Branch 0 (142→143) taken 1 times.
1 PString content3("<sequence>\n\t<step>\n\t\t<m>0x</m>\n\t</step>\n\t<step>\n\t\t<s>1234567890abcdef</s>\n\t</step>\n</sequence>\n");
71
5/5
✓ Branch 0 (143→144) taken 1 times.
✓ Branch 2 (146→147) taken 1 times.
✓ Branch 4 (149→150) taken 1 times.
✓ Branch 6 (152→153) taken 1 times.
✓ Branch 8 (153→154) taken 1 times.
6 phoenix_assert(fileName3.saveFileContent(content3));
72
6/6
✓ Branch 0 (160→161) taken 1 times.
✓ Branch 2 (161→162) taken 1 times.
✓ Branch 4 (164→165) taken 1 times.
✓ Branch 6 (167→168) taken 1 times.
✓ Branch 8 (170→171) taken 1 times.
✓ Branch 10 (171→172) taken 1 times.
7 phoenix_assert(checkParseSeq(fileName3, "0x124ef", true));
73
6/6
✓ Branch 0 (179→180) taken 1 times.
✓ Branch 2 (180→181) taken 1 times.
✓ Branch 4 (183→184) taken 1 times.
✓ Branch 6 (186→187) taken 1 times.
✓ Branch 8 (189→190) taken 1 times.
✓ Branch 10 (190→191) taken 1 times.
7 phoenix_assert(checkParseSeq(fileName3, "0xa2b5e2f", true));
74
1/1
✓ Branch 0 (198→199) taken 1 times.
1 checkParseSeqFromVec();
75 1 }
76
77 ///Check the ParseCmd
78 1 void checkPParseCmd(){
79
1/1
✓ Branch 0 (2→3) taken 1 times.
1 PParseCmd cmd;
80
5/5
✓ Branch 0 (3→4) taken 1 times.
✓ Branch 2 (6→7) taken 1 times.
✓ Branch 4 (9→10) taken 1 times.
✓ Branch 6 (12→13) taken 1 times.
✓ Branch 8 (13→14) taken 1 times.
6 phoenix_assert(!cmd.getIsMatch());
81
6/6
✓ Branch 0 (20→21) taken 1 times.
✓ Branch 2 (21→22) taken 1 times.
✓ Branch 4 (24→25) taken 1 times.
✓ Branch 6 (27→28) taken 1 times.
✓ Branch 8 (30→31) taken 1 times.
✓ Branch 10 (31→32) taken 1 times.
6 phoenix_assert(cmd.getStr() == "");
82
1/1
✓ Branch 0 (38→39) taken 1 times.
1 PParseCmd cmd2;
83
1/1
✓ Branch 0 (39→40) taken 1 times.
1 cmd2 = cmd;
84 1 }
85
86 ///Check the ParseCmd
87 1 void testPParseStep(){
88
1/1
✓ Branch 0 (2→3) taken 1 times.
1 PParseStep step;
89 1 std::vector<PParseCmd> vecCmd;
90
1/1
✓ Branch 0 (4→5) taken 1 times.
1 step.setVecCmd(vecCmd);
91
92
5/5
✓ Branch 0 (5→6) taken 1 times.
✓ Branch 2 (8→9) taken 1 times.
✓ Branch 4 (11→12) taken 1 times.
✓ Branch 6 (14→15) taken 1 times.
✓ Branch 8 (15→16) taken 1 times.
6 phoenix_assert(!step.getIsOptional());
93
94
1/1
✓ Branch 0 (22→23) taken 1 times.
1 PParseSeq seq;
95 1 std::vector<PParseStep> vecStep;
96
1/1
✓ Branch 0 (24→25) taken 1 times.
1 seq.setVecStep(vecStep);
97 1 }
98
99 1 int main(int argc, char** argv){
100 1 checkTestParseSeq();
101 1 checkPParseCmd();
102 1 testPParseStep();
103 1 return 0;
104 }
105
106
107