| Line | Branch | Exec | Source |
|---|---|---|---|
| 1 | /*************************************** | ||
| 2 | Auteur : Pierre Aubert | ||
| 3 | Mail : pierre.aubert@lapp.in2p3.fr | ||
| 4 | Licence : CeCILL-C | ||
| 5 | ****************************************/ | ||
| 6 | |||
| 7 | #include "phoenix_assert.h" | ||
| 8 | #include "phoenix_check.h" | ||
| 9 | #include "data_all.h" | ||
| 10 | #include "FieldParser.h" | ||
| 11 | |||
| 12 | typedef std::vector<char> Message; | ||
| 13 | typedef std::vector<Message > VecMessage; | ||
| 14 | |||
| 15 | |||
| 16 | ///Dump all the messages bytes | ||
| 17 | /** @param fileNameData : input file name | ||
| 18 | * @param fileNameYml : configuration file yml | ||
| 19 | * @param isFinishedSooner : true if the parse yml function will fail, false otherwise | ||
| 20 | */ | ||
| 21 | 2 | void testSubMessageParsing(const std::string & fileNameData, const std::string & fileNameYml, bool isFinishedSooner){ | |
| 22 | 2 | VecMessage vecInMessage; | |
| 23 |
5/5✓ Branch 0 (5→6) taken 2 times.
✓ Branch 2 (8→9) taken 2 times.
✓ Branch 4 (11→12) taken 2 times.
✓ Branch 6 (12→13) taken 2 times.
✓ Branch 8 (13→14) taken 2 times.
|
10 | phoenix_assert(data_load(fileNameData, vecInMessage)); |
| 24 |
1/1✓ Branch 0 (20→21) taken 2 times.
|
2 | FieldConfig config; |
| 25 |
4/4✓ Branch 0 (21→22) taken 2 times.
✓ Branch 2 (22→23) taken 2 times.
✓ Branch 4 (23→24) taken 2 times.
✓ Branch 6 (24→25) taken 2 times.
|
2 | bool b(phoenix_parseFieldConfig(config, PPath(fileNameYml))); |
| 26 |
3/4✓ Branch 0 (28→29) taken 1 times.
✓ Branch 1 (28→31) taken 1 times.
✓ Branch 2 (29→30) taken 1 times.
✗ Branch 3 (29→31) not taken.
|
2 | if(!b && isFinishedSooner){ |
| 27 | 1 | return; | |
| 28 | } | ||
| 29 |
4/4✓ Branch 0 (33→34) taken 1 times.
✓ Branch 2 (36→37) taken 1 times.
✓ Branch 4 (39→40) taken 1 times.
✓ Branch 6 (40→41) taken 1 times.
|
5 | phoenix_assert(b); |
| 30 | |||
| 31 |
1/1✓ Branch 0 (47→48) taken 1 times.
|
1 | FieldParser parser; |
| 32 | 1 | size_t field1(0lu), configurationId(0lu), eventId(0lu), telEventId(0lu); | |
| 33 | 1 | unsigned int field3(0), triggerTimeS(0), triggerTimeQns(0), triggerType(0); | |
| 34 |
6/6✓ Branch 0 (50→51) taken 1 times.
✓ Branch 2 (53→54) taken 1 times.
✓ Branch 4 (56→57) taken 1 times.
✓ Branch 6 (57→58) taken 1 times.
✓ Branch 8 (58→59) taken 1 times.
✓ Branch 10 (59→60) taken 1 times.
|
6 | phoenix_assert(parser.addParseFieldEnum(&field1, config, "Field1")); |
| 35 |
6/6✓ Branch 0 (69→70) taken 1 times.
✓ Branch 2 (72→73) taken 1 times.
✓ Branch 4 (75→76) taken 1 times.
✓ Branch 6 (76→77) taken 1 times.
✓ Branch 8 (77→78) taken 1 times.
✓ Branch 10 (78→79) taken 1 times.
|
5 | phoenix_assert(parser.addParseFieldValue(&field3, config, "Field3")); |
| 36 | |||
| 37 |
1/1✓ Branch 0 (86→87) taken 1 times.
|
1 | FieldConfig fieldEvent; |
| 38 |
2/2✓ Branch 0 (87→88) taken 1 times.
✓ Branch 2 (88→89) taken 1 times.
|
1 | FieldParser* eventParser = parser.addSubMessage(fieldEvent, config, "Event"); |
| 39 |
6/6✓ Branch 0 (92→93) taken 1 times.
✓ Branch 2 (95→96) taken 1 times.
✓ Branch 4 (98→99) taken 1 times.
✓ Branch 6 (99→100) taken 1 times.
✓ Branch 8 (100→101) taken 1 times.
✓ Branch 10 (101→102) taken 1 times.
|
6 | phoenix_assert(eventParser->addParseFieldValue(&configurationId, fieldEvent, "configuration_id")); |
| 40 |
6/6✓ Branch 0 (111→112) taken 1 times.
✓ Branch 2 (114→115) taken 1 times.
✓ Branch 4 (117→118) taken 1 times.
✓ Branch 6 (118→119) taken 1 times.
✓ Branch 8 (119→120) taken 1 times.
✓ Branch 10 (120→121) taken 1 times.
|
6 | phoenix_assert(eventParser->addParseFieldValue(&eventId, fieldEvent, "event_id")); |
| 41 |
6/6✓ Branch 0 (130→131) taken 1 times.
✓ Branch 2 (133→134) taken 1 times.
✓ Branch 4 (136→137) taken 1 times.
✓ Branch 6 (137→138) taken 1 times.
✓ Branch 8 (138→139) taken 1 times.
✓ Branch 10 (139→140) taken 1 times.
|
6 | phoenix_assert(eventParser->addParseFieldValue(&telEventId, fieldEvent, "tel_event_id")); |
| 42 |
6/6✓ Branch 0 (149→150) taken 1 times.
✓ Branch 2 (152→153) taken 1 times.
✓ Branch 4 (155→156) taken 1 times.
✓ Branch 6 (156→157) taken 1 times.
✓ Branch 8 (157→158) taken 1 times.
✓ Branch 10 (158→159) taken 1 times.
|
6 | phoenix_assert(eventParser->addParseFieldValue(&triggerTimeS, fieldEvent, "trigger_time_s")); |
| 43 |
6/6✓ Branch 0 (168→169) taken 1 times.
✓ Branch 2 (171→172) taken 1 times.
✓ Branch 4 (174→175) taken 1 times.
✓ Branch 6 (175→176) taken 1 times.
✓ Branch 8 (176→177) taken 1 times.
✓ Branch 10 (177→178) taken 1 times.
|
5 | phoenix_assert(eventParser->addParseFieldValue(&triggerTimeQns, fieldEvent, "trigger_time_qns")); |
| 44 |
1/2✗ Branch 0 (185→186) not taken.
✓ Branch 1 (185→206) taken 1 times.
|
1 | if(isFinishedSooner){ |
| 45 | ✗ | phoenix_assert(!eventParser->addParseFieldValue(&triggerType, fieldEvent, "unexisting_trigger_type")); | |
| 46 | } | ||
| 47 |
6/6✓ Branch 0 (208→209) taken 1 times.
✓ Branch 2 (211→212) taken 1 times.
✓ Branch 4 (214→215) taken 1 times.
✓ Branch 6 (215→216) taken 1 times.
✓ Branch 8 (216→217) taken 1 times.
✓ Branch 10 (217→218) taken 1 times.
|
5 | phoenix_assert(eventParser->addParseFieldValue(&triggerType, fieldEvent, "trigger_type")); |
| 48 | |||
| 49 |
1/2✗ Branch 0 (225→226) not taken.
✓ Branch 1 (225→227) taken 1 times.
|
1 | if(isFinishedSooner){ |
| 50 | ✗ | return; | |
| 51 | } | ||
| 52 | |||
| 53 | 1 | unsigned short* tabWaveform = NULL; | |
| 54 | 1 | size_t nbPixelSliceGain(0lu); | |
| 55 |
3/3✓ Branch 0 (227→228) taken 1 times.
✓ Branch 2 (228→229) taken 1 times.
✓ Branch 4 (229→230) taken 1 times.
|
1 | FieldConfig & fieldWaveform = fieldEvent.getVecChildren()["waveform"]; |
| 56 |
1/1✓ Branch 0 (231→232) taken 1 times.
|
1 | FieldParser * waveformParser = eventParser->addSubMessage(fieldWaveform); |
| 57 |
7/7✓ Branch 0 (234→235) taken 1 times.
✓ Branch 2 (237→238) taken 1 times.
✓ Branch 4 (240→241) taken 1 times.
✓ Branch 6 (241→242) taken 1 times.
✓ Branch 8 (242→243) taken 1 times.
✓ Branch 10 (243→244) taken 1 times.
✓ Branch 12 (251→252) taken 1 times.
|
6 | phoenix_assert(waveformParser->addParseFieldArray(&tabWaveform, &nbPixelSliceGain, fieldWaveform, "data")); |
| 58 | |||
| 59 |
1/1✓ Branch 0 (252→253) taken 1 times.
|
1 | parser.print(); |
| 60 | |||
| 61 | //Expected values of field 3 | ||
| 62 |
1/1✓ Branch 0 (256→257) taken 1 times.
|
2 | std::vector<unsigned int> vecExpectedField3 = {628325 ,628326, 628327,628328,628329,628330,628331,628332,628333,628334}; |
| 63 | |||
| 64 | 1 | size_t i(0lu); | |
| 65 | 1 | std::vector<unsigned int>::iterator itCheckField3 = vecExpectedField3.begin(); | |
| 66 |
2/2✓ Branch 0 (482→260) taken 10 times.
✓ Branch 1 (482→483) taken 1 times.
|
22 | for(VecMessage::iterator it(vecInMessage.begin()); it != vecInMessage.end(); ++it){ |
| 67 |
5/5✓ Branch 0 (262→263) taken 10 times.
✓ Branch 2 (265→266) taken 10 times.
✓ Branch 4 (268→269) taken 10 times.
✓ Branch 6 (271→272) taken 10 times.
✓ Branch 8 (272→273) taken 10 times.
|
60 | phoenix_assert(parser.load(*it)); |
| 68 |
3/3✓ Branch 0 (279→280) taken 10 times.
✓ Branch 2 (280→281) taken 10 times.
✓ Branch 4 (281→282) taken 10 times.
|
10 | std::cout << "Parse Event " << i << std::endl; |
| 69 |
5/5✓ Branch 0 (282→283) taken 10 times.
✓ Branch 2 (283→284) taken 10 times.
✓ Branch 4 (284→285) taken 10 times.
✓ Branch 6 (285→286) taken 10 times.
✓ Branch 8 (286→287) taken 10 times.
|
10 | std::cout << "testSubMessageParsing("<<i<<") : field 1 = " << field1 << std::endl; |
| 70 |
4/4✓ Branch 0 (289→290) taken 10 times.
✓ Branch 2 (292→293) taken 10 times.
✓ Branch 4 (295→296) taken 10 times.
✓ Branch 6 (296→297) taken 10 times.
|
50 | phoenix_assert(field1 == 16lu); |
| 71 |
5/5✓ Branch 0 (303→304) taken 10 times.
✓ Branch 2 (304→305) taken 10 times.
✓ Branch 4 (305→306) taken 10 times.
✓ Branch 6 (306→307) taken 10 times.
✓ Branch 8 (307→308) taken 10 times.
|
10 | std::cout << "testSubMessageParsing("<<i<<") : field 3 = " << field3 << std::endl; |
| 72 |
4/4✓ Branch 0 (310→311) taken 10 times.
✓ Branch 2 (313→314) taken 10 times.
✓ Branch 4 (316→317) taken 10 times.
✓ Branch 6 (319→320) taken 10 times.
|
60 | phoenix_assert(*itCheckField3 == field3); |
| 73 | |||
| 74 |
5/5✓ Branch 0 (326→327) taken 10 times.
✓ Branch 2 (327→328) taken 10 times.
✓ Branch 4 (328→329) taken 10 times.
✓ Branch 6 (329→330) taken 10 times.
✓ Branch 8 (330→331) taken 10 times.
|
10 | std::cout << "testSubMessageParsing("<<i<<") : configuration_id = " << configurationId << std::endl; |
| 75 |
4/4✓ Branch 0 (333→334) taken 10 times.
✓ Branch 2 (336→337) taken 10 times.
✓ Branch 4 (339→340) taken 10 times.
✓ Branch 6 (340→341) taken 10 times.
|
50 | phoenix_assert(configurationId == 0); |
| 76 | 10 | size_t expectedEventId = 2417265 + 4lu*i; | |
| 77 |
5/5✓ Branch 0 (347→348) taken 10 times.
✓ Branch 2 (348→349) taken 10 times.
✓ Branch 4 (349→350) taken 10 times.
✓ Branch 6 (350→351) taken 10 times.
✓ Branch 8 (351→352) taken 10 times.
|
10 | std::cout << "testSubMessageParsing("<<i<<") : event_id = " << eventId << std::endl; |
| 78 |
4/4✓ Branch 0 (354→355) taken 10 times.
✓ Branch 2 (357→358) taken 10 times.
✓ Branch 4 (360→361) taken 10 times.
✓ Branch 6 (361→362) taken 10 times.
|
50 | phoenix_assert(eventId == expectedEventId); |
| 79 |
5/5✓ Branch 0 (368→369) taken 10 times.
✓ Branch 2 (369→370) taken 10 times.
✓ Branch 4 (370→371) taken 10 times.
✓ Branch 6 (371→372) taken 10 times.
✓ Branch 8 (372→373) taken 10 times.
|
10 | std::cout << "testSubMessageParsing("<<i<<") : tel_event_id = " << telEventId << std::endl; |
| 80 |
4/4✓ Branch 0 (375→376) taken 10 times.
✓ Branch 2 (378→379) taken 10 times.
✓ Branch 4 (381→382) taken 10 times.
✓ Branch 6 (382→383) taken 10 times.
|
50 | phoenix_assert(eventId == telEventId); |
| 81 |
5/5✓ Branch 0 (389→390) taken 10 times.
✓ Branch 2 (390→391) taken 10 times.
✓ Branch 4 (391→392) taken 10 times.
✓ Branch 6 (392→393) taken 10 times.
✓ Branch 8 (393→394) taken 10 times.
|
10 | std::cout << "testSubMessageParsing("<<i<<") : trigger_time_s = " << triggerTimeS << std::endl; |
| 82 |
4/4✓ Branch 0 (396→397) taken 10 times.
✓ Branch 2 (399→400) taken 10 times.
✓ Branch 4 (402→403) taken 10 times.
✓ Branch 6 (403→404) taken 10 times.
|
50 | phoenix_assert(triggerTimeS == 1625787312u); |
| 83 |
5/5✓ Branch 0 (410→411) taken 10 times.
✓ Branch 2 (411→412) taken 10 times.
✓ Branch 4 (412→413) taken 10 times.
✓ Branch 6 (413→414) taken 10 times.
✓ Branch 8 (414→415) taken 10 times.
|
10 | std::cout << "testSubMessageParsing("<<i<<") : trigger_time_qns = " << triggerTimeQns << std::endl; |
| 84 |
5/5✓ Branch 0 (415→416) taken 10 times.
✓ Branch 2 (416→417) taken 10 times.
✓ Branch 4 (417→418) taken 10 times.
✓ Branch 6 (418→419) taken 10 times.
✓ Branch 8 (419→420) taken 10 times.
|
10 | std::cout << "testSubMessageParsing("<<i<<") : trigger_type = " << triggerType << std::endl; |
| 85 | |||
| 86 |
6/6✓ Branch 0 (420→421) taken 10 times.
✓ Branch 2 (421→422) taken 10 times.
✓ Branch 4 (422→423) taken 10 times.
✓ Branch 6 (423→424) taken 10 times.
✓ Branch 8 (424→425) taken 10 times.
✓ Branch 10 (425→426) taken 10 times.
|
10 | std::cout << "testSubMessageParsing("<<i<<") : nbValue = "<<nbPixelSliceGain<<", waveform = " << tabWaveform; |
| 87 |
6/6✓ Branch 0 (428→429) taken 10 times.
✓ Branch 2 (431→432) taken 10 times.
✓ Branch 4 (434→435) taken 10 times.
✓ Branch 6 (437→438) taken 10 times.
✓ Branch 8 (438→439) taken 10 times.
✓ Branch 10 (439→440) taken 10 times.
|
70 | phoenix_assert(phoenix_check("Check nbPixelSliceGain", nbPixelSliceGain, 148400lu)); |
| 88 |
2/2✓ Branch 0 (452→449) taken 100 times.
✓ Branch 1 (452→453) taken 10 times.
|
110 | for(size_t j(0lu); j < 10lu; ++j){ |
| 89 |
2/2✓ Branch 0 (449→450) taken 100 times.
✓ Branch 2 (450→451) taken 100 times.
|
100 | std::cout << ", " << tabWaveform[j]; |
| 90 | } | ||
| 91 |
1/1✓ Branch 0 (453→454) taken 10 times.
|
10 | std::cout << std::endl; |
| 92 | |||
| 93 |
4/4✓ Branch 0 (456→457) taken 10 times.
✓ Branch 2 (459→460) taken 10 times.
✓ Branch 4 (462→463) taken 10 times.
✓ Branch 6 (463→464) taken 10 times.
|
60 | phoenix_assert(triggerType == 1); |
| 94 | ++itCheckField3; | ||
| 95 | 10 | ++i; | |
| 96 | } | ||
| 97 |
1/1✓ Branch 0 (484→485) taken 1 times.
|
1 | parser.print(); |
| 98 |
2/2✓ Branch 0 (486→487) taken 1 times.
✓ Branch 2 (487→488) taken 1 times.
|
1 | std::cout << "testSubMessageParsing : Let's reset the offsets :" << std::endl; |
| 99 |
1/1✓ Branch 0 (488→489) taken 1 times.
|
1 | parser.resetOffset(); |
| 100 |
1/1✓ Branch 0 (490→491) taken 1 times.
|
1 | parser.print(); |
| 101 | 3 | } | |
| 102 | |||
| 103 | 2 | int main(int argc, char** argv){ | |
| 104 |
2/2✓ Branch 0 (4→5) taken 2 times.
✓ Branch 2 (8→9) taken 2 times.
|
6 | std::string fileNameData(STREAM_DATA_CUT), fileNameYml(""); |
| 105 | 2 | bool isFinishedSooner(false); | |
| 106 |
1/2✓ Branch 0 (10→11) taken 2 times.
✗ Branch 1 (10→15) not taken.
|
2 | if(argc >= 2){ |
| 107 |
1/1✓ Branch 0 (11→12) taken 2 times.
|
2 | fileNameYml = phoenix_charToString(argv[1]); |
| 108 | } | ||
| 109 |
2/2✓ Branch 0 (15→16) taken 1 times.
✓ Branch 1 (15→20) taken 1 times.
|
2 | if(argc >= 3){ |
| 110 |
2/2✓ Branch 0 (16→17) taken 1 times.
✓ Branch 2 (17→18) taken 1 times.
|
1 | isFinishedSooner = phoenix_charToString(argv[2]) == "true"; |
| 111 | } | ||
| 112 |
1/1✓ Branch 0 (20→21) taken 2 times.
|
2 | testSubMessageParsing(fileNameData, fileNameYml, isFinishedSooner); |
| 113 | 2 | return 0; | |
| 114 | 2 | } | |
| 115 |