GCC Code Coverage Report


Directory: ./
File: TESTS/TEST_SEND_RECEIVE/main_sender.cpp
Date: 2026-01-23 17:10:06
Exec Total Coverage
Lines: 22 24 91.7%
Functions: 2 2 100.0%
Branches: 31 40 77.5%

Line Branch Exec Source
1 #include <fstream>
2 #include <iostream>
3 #include <thread>
4 #include <unistd.h>
5
6 #include "data_stream_assert.h"
7 #include "PGenericSocketManager.h"
8 #include "PZmqBackend.h"
9
10 #include <chrono>
11
12 using Time = std::chrono::steady_clock;
13 using ms = std::chrono::milliseconds;
14
15 typedef PGenericSocketManager<std::string, PZmqBackend, PMockBackend> SocketManager;
16 typedef SocketManager::Backend Backend;
17 typedef SocketManager::Mock Mock;
18
19 1 void SendMessage(SocketManager &manager, size_t nbMessage)
20 {
21 1 size_t nbIsConnected = 0;
22
4/5
✓ Branch 0 (6→7) taken 1 times.
✓ Branch 2 (7→8) taken 1 times.
✓ Branch 4 (8→9) taken 1 times.
✗ Branch 6 (11→3) not taken.
✓ Branch 7 (11→12) taken 1 times.
3 while (!manager.getSocket("Alice")->isConnected())
23 {
24 nbIsConnected++;
25 }
26
3/3
✓ Branch 0 (12→13) taken 1 times.
✓ Branch 2 (13→14) taken 1 times.
✓ Branch 4 (14→15) taken 1 times.
1 std::cout << "SendMessage : nbIsConnected: " << nbIsConnected << std::endl;
27
28
2/2
✓ Branch 0 (15→16) taken 1 times.
✓ Branch 2 (16→17) taken 1 times.
1 std::cout << "SendMessage : send message" << std::endl;
29 1 size_t nbSend = 0;
30 PSendStatus::PSendStatus status;
31 do{
32
2/2
✓ Branch 0 (20→21) taken 182 times.
✓ Branch 2 (21→22) taken 182 times.
182 status = manager.sendData("Alice", nbSend, PSendFlag::NON_BLOCK);
33
2/2
✓ Branch 0 (24→25) taken 10 times.
✓ Branch 1 (24→26) taken 172 times.
182 if(status == PSendStatus::OK){
34 10 nbSend++;
35 }
36
1/2
✓ Branch 0 (26→27) taken 172 times.
✗ Branch 1 (26→30) not taken.
172 else if(status == PSendStatus::SOCKET_NOT_AVAILABLE){
37
1/1
✓ Branch 0 (28→29) taken 172 times.
172 std::this_thread::sleep_for(ms(1)); // Wait and retry
38 }
39 else{
40 data_stream_assert(false);
41 }
42
2/2
✓ Branch 0 (47→18) taken 181 times.
✓ Branch 1 (47→48) taken 1 times.
182 } while (nbSend<nbMessage);
43 1 }
44
45 1 int main(int argc, char **argv)
46 {
47 1 PSocketMode::PSocketMode mode = PSocketMode::NO_MOCK;
48 1 size_t nbMessage(10lu), port(3390);
49
1/1
✓ Branch 0 (4→5) taken 1 times.
1 std::string hostName("localhost");
50
1/1
✓ Branch 0 (6→7) taken 1 times.
1 SocketManager manager(mode);
51
11/14
✓ Branch 0 (9→10) taken 1 times.
✓ Branch 2 (12→13) taken 1 times.
✓ Branch 4 (15→16) taken 1 times.
✓ Branch 6 (16→17) taken 1 times.
✓ Branch 8 (19→20) taken 1 times.
✓ Branch 10 (20→21) taken 1 times.
✓ Branch 12 (21→22) taken 1 times.
✓ Branch 14 (24→25) taken 1 times.
✓ Branch 16 (25→26) taken 1 times.
✓ Branch 18 (26→27) taken 1 times.
✗ Branch 20 (30→31) not taken.
✓ Branch 21 (30→32) taken 1 times.
✗ Branch 22 (56→57) not taken.
✗ Branch 23 (56→58) not taken.
9 data_stream_assert(manager.addServerSocket("Alice", PSocketParam{hostName, port}, Backend::server(), "./", Mock::server()));
52
1/1
✓ Branch 0 (40→41) taken 1 times.
1 SendMessage(manager, nbMessage);
53
54 1 return 0;
55 1 }
56