| Line | Branch | Exec | Source |
|---|---|---|---|
| 1 | /*************************************** | ||
| 2 | Auteur : Pierre Aubert | ||
| 3 | Mail : pierre.aubert@lapp.in2p3.fr | ||
| 4 | Licence : CeCILL-C | ||
| 5 | ****************************************/ | ||
| 6 | |||
| 7 | #include <iostream> | ||
| 8 | #include "data_stream_assert.h" | ||
| 9 | #include "data_stream_check_value.h" | ||
| 10 | #include "PMockBackend.h" | ||
| 11 | #include "PMockBackendFile.h" | ||
| 12 | |||
| 13 | ///Check msgSize and msgData | ||
| 14 | 1 | void testMsgUtilityFunctions(){ | |
| 15 | // Test msgResize and msgSize | ||
| 16 | 1 | PMockBackend::Message msg; | |
| 17 |
1/1✓ Branch 0 (3→4) taken 1 times.
|
1 | PMockBackend::msgResize(msg, 4); |
| 18 |
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 (13→14) taken 1 times.
✓ Branch 8 (14→15) taken 1 times.
|
5 | data_stream_assert(PMockBackend::msgSize(msg) == 4); |
| 19 | |||
| 20 |
1/1✓ Branch 0 (21→22) taken 1 times.
|
1 | DataStreamIter data = PMockBackend::msgData(msg); |
| 21 |
4/4✓ Branch 0 (24→25) taken 1 times.
✓ Branch 2 (27→28) taken 1 times.
✓ Branch 4 (30→31) taken 1 times.
✓ Branch 6 (31→32) taken 1 times.
|
5 | data_stream_assert(data != nullptr); |
| 22 | 1 | data[0] = 1lu; | |
| 23 | 1 | data[1] = 2lu; | |
| 24 | 1 | data[2] = 3lu; | |
| 25 | 1 | data[3] = 4lu; | |
| 26 | |||
| 27 | 1 | const PMockBackend::Message& constMsg = msg; | |
| 28 |
1/1✓ Branch 0 (38→39) taken 1 times.
|
1 | const DataStreamIter constData = PMockBackend::msgData(constMsg); |
| 29 |
4/4✓ Branch 0 (41→42) taken 1 times.
✓ Branch 2 (44→45) taken 1 times.
✓ Branch 4 (47→48) taken 1 times.
✓ Branch 6 (48→49) taken 1 times.
|
6 | data_stream_assert(constData[0] == 1lu); |
| 30 |
4/4✓ Branch 0 (57→58) taken 1 times.
✓ Branch 2 (60→61) taken 1 times.
✓ Branch 4 (63→64) taken 1 times.
✓ Branch 6 (64→65) taken 1 times.
|
6 | data_stream_assert(constData[1] == 2lu); |
| 31 |
4/4✓ Branch 0 (73→74) taken 1 times.
✓ Branch 2 (76→77) taken 1 times.
✓ Branch 4 (79→80) taken 1 times.
✓ Branch 6 (80→81) taken 1 times.
|
6 | data_stream_assert(constData[2] == 3lu); |
| 32 |
4/4✓ Branch 0 (89→90) taken 1 times.
✓ Branch 2 (92→93) taken 1 times.
✓ Branch 4 (95→96) taken 1 times.
✓ Branch 6 (96→97) taken 1 times.
|
5 | data_stream_assert(constData[3] == 4lu); |
| 33 | 1 | } | |
| 34 | |||
| 35 | ///Test conversion | ||
| 36 | 1 | void testMsgConversionFunctions(){ | |
| 37 |
1/1✓ Branch 0 (2→3) taken 1 times.
|
1 | PMockBackend backend; |
| 38 | // Test msgToMock | ||
| 39 | 1 | PMockBackend::Message backendMsg; | |
| 40 |
1/1✓ Branch 0 (4→5) taken 1 times.
|
1 | PMockBackend::msgResize(backendMsg, 6); |
| 41 |
1/1✓ Branch 0 (5→6) taken 1 times.
|
1 | DataStreamIter data = PMockBackend::msgData(backendMsg); |
| 42 | 1 | data[0] = 1lu; | |
| 43 | 1 | data[1] = 2lu; | |
| 44 | 1 | data[2] = 3lu; | |
| 45 | 1 | data[3] = 4lu; | |
| 46 | 1 | data[4] = 5lu; | |
| 47 | 1 | data[5] = 6lu; | |
| 48 | |||
| 49 | 1 | DataStreamMsg mockMsg; | |
| 50 |
1/1✓ Branch 0 (7→8) taken 1 times.
|
1 | PMockBackend::msgToMock(mockMsg, backendMsg); |
| 51 | |||
| 52 | // Check conversion | ||
| 53 |
4/4✓ Branch 0 (10→11) taken 1 times.
✓ Branch 2 (13→14) taken 1 times.
✓ Branch 4 (16→17) taken 1 times.
✓ Branch 6 (18→19) taken 1 times.
|
6 | data_stream_assert(mockMsg.size() == 6); |
| 54 |
4/4✓ Branch 0 (27→28) taken 1 times.
✓ Branch 2 (30→31) taken 1 times.
✓ Branch 4 (33→34) taken 1 times.
✓ Branch 6 (35→36) taken 1 times.
|
6 | data_stream_assert(mockMsg[0] == 1lu); |
| 55 |
4/4✓ Branch 0 (44→45) taken 1 times.
✓ Branch 2 (47→48) taken 1 times.
✓ Branch 4 (50→51) taken 1 times.
✓ Branch 6 (52→53) taken 1 times.
|
6 | data_stream_assert(mockMsg[1] == 2lu); |
| 56 |
4/4✓ Branch 0 (61→62) taken 1 times.
✓ Branch 2 (64→65) taken 1 times.
✓ Branch 4 (67→68) taken 1 times.
✓ Branch 6 (69→70) taken 1 times.
|
6 | data_stream_assert(mockMsg[2] == 3lu); |
| 57 |
4/4✓ Branch 0 (78→79) taken 1 times.
✓ Branch 2 (81→82) taken 1 times.
✓ Branch 4 (84→85) taken 1 times.
✓ Branch 6 (86→87) taken 1 times.
|
6 | data_stream_assert(mockMsg[3] == 4lu); |
| 58 |
4/4✓ Branch 0 (95→96) taken 1 times.
✓ Branch 2 (98→99) taken 1 times.
✓ Branch 4 (101→102) taken 1 times.
✓ Branch 6 (103→104) taken 1 times.
|
6 | data_stream_assert(mockMsg[4] == 5lu); |
| 59 |
4/4✓ Branch 0 (112→113) taken 1 times.
✓ Branch 2 (115→116) taken 1 times.
✓ Branch 4 (118→119) taken 1 times.
✓ Branch 6 (120→121) taken 1 times.
|
5 | data_stream_assert(mockMsg[5] == 6lu); |
| 60 | |||
| 61 | // Test mockToMsg | ||
| 62 | 1 | PMockBackend::Message convertedMsg; | |
| 63 |
1/1✓ Branch 0 (128→129) taken 1 times.
|
1 | PMockBackend::mockToMsg(convertedMsg, mockMsg); |
| 64 | |||
| 65 | // Check inverse conversion | ||
| 66 |
5/5✓ Branch 0 (131→132) taken 1 times.
✓ Branch 2 (134→135) taken 1 times.
✓ Branch 4 (137→138) taken 1 times.
✓ Branch 6 (138→139) taken 1 times.
✓ Branch 8 (139→140) taken 1 times.
|
5 | data_stream_assert(PMockBackend::msgSize(convertedMsg) == 6); |
| 67 |
1/1✓ Branch 0 (146→147) taken 1 times.
|
1 | const DataStreamIter convertedData = PMockBackend::msgData(convertedMsg); |
| 68 |
4/4✓ 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.
|
6 | data_stream_assert(convertedData[0] == 1lu); |
| 69 |
4/4✓ Branch 0 (165→166) taken 1 times.
✓ Branch 2 (168→169) taken 1 times.
✓ Branch 4 (171→172) taken 1 times.
✓ Branch 6 (172→173) taken 1 times.
|
6 | data_stream_assert(convertedData[1] == 2lu); |
| 70 |
4/4✓ Branch 0 (181→182) taken 1 times.
✓ Branch 2 (184→185) taken 1 times.
✓ Branch 4 (187→188) taken 1 times.
✓ Branch 6 (188→189) taken 1 times.
|
6 | data_stream_assert(convertedData[2] == 3lu); |
| 71 |
4/4✓ Branch 0 (197→198) taken 1 times.
✓ Branch 2 (200→201) taken 1 times.
✓ Branch 4 (203→204) taken 1 times.
✓ Branch 6 (204→205) taken 1 times.
|
6 | data_stream_assert(convertedData[3] == 4lu); |
| 72 |
4/4✓ Branch 0 (213→214) taken 1 times.
✓ Branch 2 (216→217) taken 1 times.
✓ Branch 4 (219→220) taken 1 times.
✓ Branch 6 (220→221) taken 1 times.
|
6 | data_stream_assert(convertedData[4] == 5lu); |
| 73 |
4/4✓ Branch 0 (229→230) taken 1 times.
✓ Branch 2 (232→233) taken 1 times.
✓ Branch 4 (235→236) taken 1 times.
✓ Branch 6 (236→237) taken 1 times.
|
5 | data_stream_assert(convertedData[5] == 6lu); |
| 74 | 1 | } | |
| 75 | |||
| 76 | ///Test mock backend function | ||
| 77 | 1 | void testPMockBackendServerFunctions(){ | |
| 78 |
1/1✓ Branch 0 (2→3) taken 1 times.
|
1 | PMockBackend backend; |
| 79 |
1/1✓ Branch 0 (3→4) taken 1 times.
|
1 | PMockBackend::Param clientParam = PMockBackend::client(); |
| 80 |
1/1✓ Branch 0 (4→5) taken 1 times.
|
1 | PMockBackend::Param serverParam = PMockBackend::server(); |
| 81 | |||
| 82 | // Test createServerSocket | ||
| 83 |
2/2✓ Branch 0 (5→6) taken 1 times.
✓ Branch 2 (6→7) taken 1 times.
|
1 | PMockBackend::Socket serverSocket, clientSocket; |
| 84 |
7/10✓ Branch 0 (9→10) taken 1 times.
✓ Branch 2 (12→13) taken 1 times.
✓ Branch 4 (15→16) taken 1 times.
✓ Branch 6 (18→19) taken 1 times.
✓ Branch 8 (19→20) taken 1 times.
✓ Branch 10 (20→21) taken 1 times.
✗ Branch 12 (22→23) not taken.
✓ Branch 13 (22→24) taken 1 times.
✗ Branch 14 (148→149) not taken.
✗ Branch 15 (148→150) not taken.
|
8 | data_stream_assert(backend.createServerSocket(serverSocket, PSocketParam{"localhost", 7777}, serverParam)); |
| 85 |
2/2✓ Branch 0 (33→34) taken 1 times.
✓ Branch 2 (34→35) taken 1 times.
|
1 | serverSocket.setMockPrefix("server_test_"); |
| 86 |
1/1✓ Branch 0 (37→38) taken 1 times.
|
1 | serverSocket.setIsMockRecord(true); |
| 87 |
5/5✓ Branch 0 (40→41) taken 1 times.
✓ Branch 2 (43→44) taken 1 times.
✓ Branch 4 (46→47) taken 1 times.
✓ Branch 6 (47→48) taken 1 times.
✓ Branch 8 (48→49) taken 1 times.
|
6 | data_stream_assert(serverSocket.isConnected()); |
| 88 | |||
| 89 |
7/10✓ Branch 0 (57→58) taken 1 times.
✓ Branch 2 (60→61) taken 1 times.
✓ Branch 4 (63→64) taken 1 times.
✓ Branch 6 (66→67) taken 1 times.
✓ Branch 8 (67→68) taken 1 times.
✓ Branch 10 (68→69) taken 1 times.
✗ Branch 12 (70→71) not taken.
✓ Branch 13 (70→72) taken 1 times.
✗ Branch 14 (199→200) not taken.
✗ Branch 15 (199→201) not taken.
|
8 | data_stream_assert(backend.createServerSocket(clientSocket, PSocketParam{"localhost", 7777}, clientParam)); |
| 90 |
2/2✓ Branch 0 (81→82) taken 1 times.
✓ Branch 2 (82→83) taken 1 times.
|
1 | clientSocket.setMockPrefix("client_test_"); |
| 91 |
1/1✓ Branch 0 (85→86) taken 1 times.
|
1 | clientSocket.setIsMockRecord(true); |
| 92 |
5/5✓ Branch 0 (88→89) taken 1 times.
✓ Branch 2 (91→92) taken 1 times.
✓ Branch 4 (94→95) taken 1 times.
✓ Branch 6 (95→96) taken 1 times.
✓ Branch 8 (96→97) taken 1 times.
|
5 | data_stream_assert(clientSocket.isConnected()); |
| 93 | |||
| 94 | 1 | PMockBackend::Message testMsg; | |
| 95 |
1/1✓ Branch 0 (104→105) taken 1 times.
|
1 | PMockBackend::msgResize(testMsg, 3); |
| 96 |
1/1✓ Branch 0 (105→106) taken 1 times.
|
1 | DataStreamIter data = PMockBackend::msgData(testMsg); |
| 97 | 1 | data[0] = 1lu; | |
| 98 | 1 | data[1] = 2lu; | |
| 99 | 1 | data[2] = 3lu; | |
| 100 | |||
| 101 |
5/5✓ Branch 0 (108→109) taken 1 times.
✓ Branch 2 (111→112) taken 1 times.
✓ Branch 4 (114→115) taken 1 times.
✓ Branch 6 (115→116) taken 1 times.
✓ Branch 8 (116→117) taken 1 times.
|
5 | data_stream_assert(serverSocket.sendMsg(testMsg, PSendFlag::BLOCK) == PSendStatus::OK); |
| 102 |
1/1✓ Branch 0 (123→124) taken 1 times.
|
1 | serverSocket.close(); |
| 103 |
5/5✓ Branch 0 (126→127) taken 1 times.
✓ Branch 2 (129→130) taken 1 times.
✓ Branch 4 (132→133) taken 1 times.
✓ Branch 6 (133→134) taken 1 times.
✓ Branch 8 (134→135) taken 1 times.
|
5 | data_stream_assert(clientSocket.recvMsg(testMsg, PRecvFlag::BLOCK) == PRecvStatus::OK); |
| 104 |
1/1✓ Branch 0 (141→142) taken 1 times.
|
1 | clientSocket.close(); |
| 105 | 1 | } | |
| 106 | |||
| 107 | ///Test msgResize and msgSize pour PMockBackendFile | ||
| 108 | 1 | void testFileBackendUtilityFunctions(){ | |
| 109 | 1 | PMockBackendFile::Message fileMsg; | |
| 110 |
1/1✓ Branch 0 (3→4) taken 1 times.
|
1 | PMockBackendFile::msgResize(fileMsg, 4); |
| 111 |
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 (13→14) taken 1 times.
✓ Branch 8 (14→15) taken 1 times.
|
5 | data_stream_assert(PMockBackendFile::msgSize(fileMsg) == 4); |
| 112 | |||
| 113 |
1/1✓ Branch 0 (21→22) taken 1 times.
|
1 | DataStreamIter fileData = PMockBackendFile::msgData(fileMsg); |
| 114 |
4/4✓ Branch 0 (24→25) taken 1 times.
✓ Branch 2 (27→28) taken 1 times.
✓ Branch 4 (30→31) taken 1 times.
✓ Branch 6 (31→32) taken 1 times.
|
5 | data_stream_assert(fileData != nullptr); |
| 115 | 1 | fileData[0] = 1lu; | |
| 116 | 1 | fileData[1] = 2lu; | |
| 117 | 1 | fileData[2] = 3lu; | |
| 118 | 1 | fileData[3] = 4lu; | |
| 119 | |||
| 120 | 1 | const PMockBackendFile::Message& constFileMsg = fileMsg; | |
| 121 |
1/1✓ Branch 0 (38→39) taken 1 times.
|
1 | const DataStreamIter constFileData = PMockBackendFile::msgData(constFileMsg); |
| 122 |
4/4✓ Branch 0 (41→42) taken 1 times.
✓ Branch 2 (44→45) taken 1 times.
✓ Branch 4 (47→48) taken 1 times.
✓ Branch 6 (48→49) taken 1 times.
|
6 | data_stream_assert(constFileData[0] == 1lu); |
| 123 |
4/4✓ Branch 0 (57→58) taken 1 times.
✓ Branch 2 (60→61) taken 1 times.
✓ Branch 4 (63→64) taken 1 times.
✓ Branch 6 (64→65) taken 1 times.
|
6 | data_stream_assert(constFileData[1] == 2lu); |
| 124 |
4/4✓ Branch 0 (73→74) taken 1 times.
✓ Branch 2 (76→77) taken 1 times.
✓ Branch 4 (79→80) taken 1 times.
✓ Branch 6 (80→81) taken 1 times.
|
6 | data_stream_assert(constFileData[2] == 3lu); |
| 125 |
4/4✓ Branch 0 (89→90) taken 1 times.
✓ Branch 2 (92→93) taken 1 times.
✓ Branch 4 (95→96) taken 1 times.
✓ Branch 6 (96→97) taken 1 times.
|
5 | data_stream_assert(constFileData[3] == 4lu); |
| 126 | 1 | } | |
| 127 | |||
| 128 | ///Test backend conversion function | ||
| 129 | 1 | void testFileBackendConversionFunctions(){ | |
| 130 | 1 | PMockBackendFile::Message fileMsg; | |
| 131 |
1/1✓ Branch 0 (3→4) taken 1 times.
|
1 | PMockBackendFile::msgResize(fileMsg, 4); |
| 132 |
1/1✓ Branch 0 (4→5) taken 1 times.
|
1 | DataStreamIter fileData = PMockBackendFile::msgData(fileMsg); |
| 133 | 1 | fileData[0] = 1lu; | |
| 134 | 1 | fileData[1] = 2lu; | |
| 135 | 1 | fileData[2] = 3lu; | |
| 136 | 1 | fileData[3] = 4lu; | |
| 137 | |||
| 138 | 1 | DataStreamMsg fileMockMsg; | |
| 139 |
1/1✓ Branch 0 (6→7) taken 1 times.
|
1 | PMockBackendFile::msgToMock(fileMockMsg, fileMsg); |
| 140 | |||
| 141 |
4/4✓ Branch 0 (9→10) taken 1 times.
✓ Branch 2 (12→13) taken 1 times.
✓ Branch 4 (15→16) taken 1 times.
✓ Branch 6 (17→18) taken 1 times.
|
6 | data_stream_assert(fileMockMsg.size() == 4); |
| 142 |
4/4✓ Branch 0 (26→27) taken 1 times.
✓ Branch 2 (29→30) taken 1 times.
✓ Branch 4 (32→33) taken 1 times.
✓ Branch 6 (34→35) taken 1 times.
|
6 | data_stream_assert(fileMockMsg[0] == 1lu); |
| 143 |
4/4✓ Branch 0 (43→44) taken 1 times.
✓ Branch 2 (46→47) taken 1 times.
✓ Branch 4 (49→50) taken 1 times.
✓ Branch 6 (51→52) taken 1 times.
|
6 | data_stream_assert(fileMockMsg[1] == 2lu); |
| 144 |
4/4✓ Branch 0 (60→61) taken 1 times.
✓ Branch 2 (63→64) taken 1 times.
✓ Branch 4 (66→67) taken 1 times.
✓ Branch 6 (68→69) taken 1 times.
|
6 | data_stream_assert(fileMockMsg[2] == 3lu); |
| 145 |
4/4✓ Branch 0 (77→78) taken 1 times.
✓ Branch 2 (80→81) taken 1 times.
✓ Branch 4 (83→84) taken 1 times.
✓ Branch 6 (85→86) taken 1 times.
|
5 | data_stream_assert(fileMockMsg[3] == 4lu); |
| 146 | |||
| 147 | // Test mockToMsg pour PMockBackendFile | ||
| 148 | 1 | PMockBackendFile::Message convertedFileMsg; | |
| 149 |
1/1✓ Branch 0 (93→94) taken 1 times.
|
1 | PMockBackendFile::mockToMsg(convertedFileMsg, fileMockMsg); |
| 150 | |||
| 151 | // Vérification | ||
| 152 |
5/5✓ Branch 0 (96→97) taken 1 times.
✓ Branch 2 (99→100) taken 1 times.
✓ Branch 4 (102→103) taken 1 times.
✓ Branch 6 (103→104) taken 1 times.
✓ Branch 8 (104→105) taken 1 times.
|
5 | data_stream_assert(PMockBackendFile::msgSize(convertedFileMsg) == 4); |
| 153 |
1/1✓ Branch 0 (111→112) taken 1 times.
|
1 | const DataStreamIter convertedFileData = PMockBackendFile::msgData(convertedFileMsg); |
| 154 |
4/4✓ Branch 0 (114→115) taken 1 times.
✓ Branch 2 (117→118) taken 1 times.
✓ Branch 4 (120→121) taken 1 times.
✓ Branch 6 (121→122) taken 1 times.
|
6 | data_stream_assert(convertedFileData[0] == 1lu); |
| 155 |
4/4✓ 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.
|
6 | data_stream_assert(convertedFileData[1] == 2lu); |
| 156 |
4/4✓ Branch 0 (146→147) taken 1 times.
✓ Branch 2 (149→150) taken 1 times.
✓ Branch 4 (152→153) taken 1 times.
✓ Branch 6 (153→154) taken 1 times.
|
6 | data_stream_assert(convertedFileData[2] == 3lu); |
| 157 |
4/4✓ Branch 0 (162→163) taken 1 times.
✓ Branch 2 (165→166) taken 1 times.
✓ Branch 4 (168→169) taken 1 times.
✓ Branch 6 (169→170) taken 1 times.
|
5 | data_stream_assert(convertedFileData[3] == 4lu); |
| 158 | 1 | } | |
| 159 | |||
| 160 | 1 | int main(int argc, char **argv){ | |
| 161 | 1 | testMsgUtilityFunctions(); | |
| 162 | 1 | testMsgConversionFunctions(); | |
| 163 | 1 | testPMockBackendServerFunctions(); | |
| 164 | 1 | testFileBackendUtilityFunctions(); | |
| 165 | 1 | testFileBackendConversionFunctions(); | |
| 166 | 1 | return 0; | |
| 167 | } | ||
| 168 | |||
| 169 |