GCC Code Coverage Report


Directory: ./
File: TESTS/TEST_CALL_CONNECTOR_MANAGER/main.cpp
Date: 2024-12-09 11:00:39
Exec Total Coverage
Lines: 36 38 94.7%
Branches: 105 105 100.0%

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_control.h"
9
10 typedef PAbstractControlManager<std::string, PMockControlBackend, PMockControlBackend> ConnectorManager;
11
12 //Some very interesting function to call
13 /** @param val : some very important value
14 * @return some very important result
15 */
16 bool pompe(int val){
17 return val > 0;
18 }
19
20 ///Basic test of a PAbstractConnectorManager for call
21 1 void testBaseAbtractConnectorManagerServerSimpleCall(){
22
1/1
✓ Branch 1 taken 1 times.
1 PFunctionPrototype prototype;
23
2/2
✓ Branch 2 taken 1 times.
✓ Branch 5 taken 1 times.
1 prototype.setName("pompe");
24
3/3
✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
✓ Branch 7 taken 1 times.
1 prototype.getVecReturnType().push_back(phoenix_getComposeType<bool>());
25
3/3
✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
✓ Branch 7 taken 1 times.
1 prototype.getVecParam().push_back(phoenix_getComposeType<int>());
26
5/5
✓ Branch 1 taken 1 times.
✓ Branch 4 taken 1 times.
✓ Branch 7 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
1 std::cout << "testBaseAbtractConnectorManagerServerSimpleCall : prototype : '" << ts_protoTypeToStr(prototype) << "'" << std::endl;
27 //Let's create the mock file
28
1/1
✓ Branch 1 taken 1 times.
1 PMockConnectorCall mock;
29
5/5
✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
1 phoenix_mockCreate(mock, phoenix_getControlMockFileMethod("mock_call", "localhost", "pompe"), prototype);
30 // mock_call/mock_localhost_pompe.pmockmethod
31
2/2
✓ Branch 0 taken 10 times.
✓ Branch 1 taken 1 times.
11 for(size_t i(0lu); i < 10lu; ++i){ //Let's push 10 values
32 10 int value((int)i);
33
5/5
✓ Branch 2 taken 10 times.
✓ Branch 6 taken 10 times.
✓ Branch 10 taken 10 times.
✓ Branch 13 taken 10 times.
✓ Branch 16 taken 10 times.
10 phoenix_assert(phoenix_mockCallAppendData(i, mock, (int)value));
34 }
35
5/5
✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
1 phoenix_assert(phoenix_mockSave(mock));
36
37 //Let's use it
38
9/9
✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 9 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
✓ Branch 20 taken 1 times.
✓ Branch 24 taken 1 times.
✓ Branch 27 taken 1 times.
✓ Branch 30 taken 1 times.
2 ConnectorManager manager;
39
5/5
✓ Branch 2 taken 1 times.
✓ Branch 5 taken 1 times.
✓ Branch 9 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
1 manager.addClientConnector("Alice", "localhost", phoenix_mockControlParam(false, "mock_call", PLog::DEBUG));
40
4/4
✓ Branch 2 taken 1 times.
✓ Branch 5 taken 1 times.
✓ Branch 9 taken 1 times.
✓ Branch 12 taken 1 times.
1 manager.registerCall("Alice", phoenix_getPrototype("pompe", pompe));
41
42
2/2
✓ Branch 0 taken 10 times.
✓ Branch 1 taken 1 times.
11 for(size_t i(0lu); i < 10lu; ++i){ //Let's push 10 values
43
7/7
✓ Branch 2 taken 10 times.
✓ Branch 6 taken 10 times.
✓ Branch 10 taken 10 times.
✓ Branch 14 taken 10 times.
✓ Branch 18 taken 10 times.
✓ Branch 21 taken 10 times.
✓ Branch 24 taken 10 times.
10 phoenix_assert(manager.call("Alice", "pompe", i));
44 }
45 1 }
46
47 ///Basic test of a PAbstractConnectorManager for Pull in record mode
48 1 void testBaseAbtractConnectorManagerServerSimpleCallRecord(){
49 //Let's create the mock file
50
1/1
✓ Branch 1 taken 1 times.
1 PMockConnectorCall mock;
51
5/5
✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
1 phoenix_mockCreate(mock, phoenix_getControlMockFileMethod("mock_call_for_record", "localhost", "pompe"),
52
2/2
✓ Branch 2 taken 1 times.
✓ Branch 5 taken 1 times.
2 phoenix_getPrototype("pompe", pompe));
53
54
2/2
✓ Branch 0 taken 10 times.
✓ Branch 1 taken 1 times.
11 for(size_t i(0lu); i < 10lu; ++i){ //Let's push 10 values
55 10 int value((int)i);
56
5/5
✓ Branch 2 taken 10 times.
✓ Branch 6 taken 10 times.
✓ Branch 10 taken 10 times.
✓ Branch 13 taken 10 times.
✓ Branch 16 taken 10 times.
10 phoenix_assert(phoenix_mockCallAppendData(i, mock, (int)value));
57 }
58
5/5
✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 10 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
1 phoenix_assert(phoenix_mockSave(mock));
59
60 //Let's use it
61
9/9
✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 9 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
✓ Branch 20 taken 1 times.
✓ Branch 24 taken 1 times.
✓ Branch 27 taken 1 times.
✓ Branch 30 taken 1 times.
2 ConnectorManager manager(ConnectorMode::MOCK_RECORD, PMockControlBackend::defaultMgrParam(), phoenix_mockControlParam(true, "mock_call_recorded", PLog::DEBUG));
62
5/5
✓ Branch 2 taken 1 times.
✓ Branch 5 taken 1 times.
✓ Branch 9 taken 1 times.
✓ Branch 13 taken 1 times.
✓ Branch 16 taken 1 times.
1 manager.addClientConnector("Alice", "localhost", phoenix_mockControlParam(false, "mock_call_for_record", PLog::DEBUG));
63
3/3
✓ Branch 2 taken 1 times.
✓ Branch 6 taken 1 times.
✓ Branch 9 taken 1 times.
1 manager.registerCall("Alice", "pompe", pompe);
64
65
2/2
✓ Branch 0 taken 10 times.
✓ Branch 1 taken 1 times.
11 for(size_t i(0lu); i < 10lu; ++i){ //Let's push 10 values
66
7/7
✓ Branch 2 taken 10 times.
✓ Branch 6 taken 10 times.
✓ Branch 10 taken 10 times.
✓ Branch 14 taken 10 times.
✓ Branch 18 taken 10 times.
✓ Branch 21 taken 10 times.
✓ Branch 24 taken 10 times.
10 phoenix_assert(manager.call("Alice", "pompe", i));
67 }
68 1 }
69
70
71 1 int main(int argc, char** argv){
72 1 testBaseAbtractConnectorManagerServerSimpleCall();
73 1 testBaseAbtractConnectorManagerServerSimpleCallRecord();
74 1 return 0;
75 }
76
77
78