| 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 |