| Line | Branch | Exec | Source |
|---|---|---|---|
| 1 | |||
| 2 | /*************************************** | ||
| 3 | Auteur : Pierre Aubert | ||
| 4 | Mail : pierre.aubert@lapp.in2p3.fr | ||
| 5 | Licence : CeCILL-C | ||
| 6 | ****************************************/ | ||
| 7 | |||
| 8 | #include <iostream> | ||
| 9 | |||
| 10 | #include "phoenix_assert.h" | ||
| 11 | #include "Daemon.h" | ||
| 12 | #include "Monitoring.h" | ||
| 13 | #include "DaemonEmptyBackend.h" | ||
| 14 | |||
| 15 | typedef Daemon<DaemonEmptyBackend> TestDaemon; | ||
| 16 | |||
| 17 | ///Test if the load functions for the daemons work correctly | ||
| 18 | 1 | void test_load_daemon_config(const PPath & filename){ | |
| 19 |
1/1✓ Branch 0 (2→3) taken 1 times.
|
1 | TestDaemon daemon; |
| 20 |
6/6✓ Branch 0 (3→4) taken 1 times.
✓ Branch 2 (4→5) taken 1 times.
✓ Branch 4 (7→8) taken 1 times.
✓ Branch 6 (10→11) taken 1 times.
✓ Branch 8 (13→14) taken 1 times.
✓ Branch 10 (14→15) taken 1 times.
|
7 | phoenix_assert(daemon.load(filename, "Daemon1")); |
| 21 |
1/1✓ Branch 0 (22→23) taken 1 times.
|
1 | DaemonConfig & config = daemon.getConfig(); |
| 22 |
1/1✓ Branch 0 (23→24) taken 1 times.
|
1 | MapDaemonConfig & mapConfig = daemon.getMapDaemonConfig(); |
| 23 |
1/1✓ Branch 0 (24→25) taken 1 times.
|
1 | DaemonMainConfig & mainConfig = daemon.getMainConfig(); |
| 24 |
1/1✓ Branch 0 (25→26) taken 1 times.
|
1 | PLog & log = daemon.getLogger(); |
| 25 | |||
| 26 | //Generic tests for config loading | ||
| 27 |
5/5✓ Branch 0 (26→27) taken 1 times.
✓ Branch 2 (30→31) taken 1 times.
✓ Branch 4 (33→34) taken 1 times.
✓ Branch 6 (36→37) taken 1 times.
✓ Branch 8 (37→38) taken 1 times.
|
6 | phoenix_assert(config.getMapTimeout().size() == 3); |
| 28 | |||
| 29 | //Test that the main configuration is correctly loaded | ||
| 30 |
4/4✓ Branch 0 (46→47) taken 1 times.
✓ Branch 2 (49→50) taken 1 times.
✓ Branch 4 (52→53) taken 1 times.
✓ Branch 6 (53→54) taken 1 times.
|
6 | phoenix_assert(mainConfig.sendFlag == PSendFlag::NON_BLOCK); |
| 31 |
4/4✓ Branch 0 (62→63) taken 1 times.
✓ Branch 2 (65→66) taken 1 times.
✓ Branch 4 (68→69) taken 1 times.
✓ Branch 6 (69→70) taken 1 times.
|
6 | phoenix_assert(mainConfig.sendTimeoutMs == -1); |
| 32 |
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 (85→86) taken 1 times.
|
6 | phoenix_assert(mainConfig.recvFlag == PRecvFlag::BLOCK); |
| 33 |
4/4✓ Branch 0 (94→95) taken 1 times.
✓ Branch 2 (97→98) taken 1 times.
✓ Branch 4 (100→101) taken 1 times.
✓ Branch 6 (101→102) taken 1 times.
|
6 | phoenix_assert(mainConfig.recvTimeoutMs == 2100); |
| 34 | |||
| 35 | //Test that the stat daemon is correctly named | ||
| 36 |
6/6✓ Branch 0 (108→109) taken 1 times.
✓ Branch 2 (109→110) taken 1 times.
✓ Branch 4 (112→113) taken 1 times.
✓ Branch 6 (115→116) taken 1 times.
✓ Branch 8 (118→119) taken 1 times.
✓ Branch 10 (119→120) taken 1 times.
|
6 | phoenix_assert(config.getStatDaemonName() == "StatManager"); |
| 37 | |||
| 38 | //Test that the map of timeout is correctly loaded | ||
| 39 |
5/5✓ Branch 0 (126→127) taken 1 times.
✓ Branch 2 (130→131) taken 1 times.
✓ Branch 4 (133→134) taken 1 times.
✓ Branch 6 (136→137) taken 1 times.
✓ Branch 8 (137→138) taken 1 times.
|
6 | phoenix_assert(config.getMapTimeout().size() == 3); |
| 40 |
7/7✓ Branch 0 (144→145) taken 1 times.
✓ Branch 2 (145→146) taken 1 times.
✓ Branch 4 (146→147) taken 1 times.
✓ Branch 6 (149→150) taken 1 times.
✓ Branch 8 (152→153) taken 1 times.
✓ Branch 10 (155→156) taken 1 times.
✓ Branch 12 (156→157) taken 1 times.
|
7 | phoenix_assert(config.getMapTimeout()["Daemon1"] == 2000); |
| 41 |
7/7✓ Branch 0 (164→165) taken 1 times.
✓ Branch 2 (165→166) taken 1 times.
✓ Branch 4 (166→167) taken 1 times.
✓ Branch 6 (169→170) taken 1 times.
✓ Branch 8 (172→173) taken 1 times.
✓ Branch 10 (175→176) taken 1 times.
✓ Branch 12 (176→177) taken 1 times.
|
7 | phoenix_assert(config.getMapTimeout()["StatManager"] == 1000); |
| 42 |
7/7✓ Branch 0 (184→185) taken 1 times.
✓ Branch 2 (185→186) taken 1 times.
✓ Branch 4 (186→187) taken 1 times.
✓ Branch 6 (189→190) taken 1 times.
✓ Branch 8 (192→193) taken 1 times.
✓ Branch 10 (195→196) taken 1 times.
✓ Branch 12 (196→197) taken 1 times.
|
7 | phoenix_assert(config.getMapTimeout()["Daemon2"] == 2001); |
| 43 | |||
| 44 | //Test that the Daemon1 configuration is correctly loaded | ||
| 45 |
6/6✓ Branch 0 (204→205) taken 1 times.
✓ Branch 2 (205→206) taken 1 times.
✓ Branch 4 (208→209) taken 1 times.
✓ Branch 6 (211→212) taken 1 times.
✓ Branch 8 (214→215) taken 1 times.
✓ Branch 10 (215→216) taken 1 times.
|
6 | phoenix_assert(config.getName() == "Daemon1"); |
| 46 |
6/6✓ Branch 0 (222→223) taken 1 times.
✓ Branch 2 (223→224) taken 1 times.
✓ Branch 4 (226→227) taken 1 times.
✓ Branch 6 (229→230) taken 1 times.
✓ Branch 8 (232→233) taken 1 times.
✓ Branch 10 (233→234) taken 1 times.
|
6 | phoenix_assert(config.getDescription() == "First daemon of the swarm"); |
| 47 |
6/6✓ Branch 0 (240→241) taken 1 times.
✓ Branch 2 (241→242) taken 1 times.
✓ Branch 4 (244→245) taken 1 times.
✓ Branch 6 (247→248) taken 1 times.
✓ Branch 8 (250→251) taken 1 times.
✓ Branch 10 (251→252) taken 1 times.
|
6 | phoenix_assert(log.getFileName() == "daemon1_test_0.log"); |
| 48 |
5/5✓ Branch 0 (258→259) taken 1 times.
✓ Branch 2 (261→262) taken 1 times.
✓ Branch 4 (264→265) taken 1 times.
✓ Branch 6 (267→268) taken 1 times.
✓ Branch 8 (268→269) taken 1 times.
|
6 | phoenix_assert(log.getLogLevel() == PLog::DEBUG); |
| 49 |
6/6✓ Branch 0 (275→276) taken 1 times.
✓ Branch 2 (276→277) taken 1 times.
✓ Branch 4 (279→280) taken 1 times.
✓ Branch 6 (282→283) taken 1 times.
✓ Branch 8 (285→286) taken 1 times.
✓ Branch 10 (286→287) taken 1 times.
|
6 | phoenix_assert(config.getHostName() == "localhost"); |
| 50 |
5/5✓ Branch 0 (293→294) taken 1 times.
✓ Branch 2 (296→297) taken 1 times.
✓ Branch 4 (299→300) taken 1 times.
✓ Branch 6 (302→303) taken 1 times.
✓ Branch 8 (303→304) taken 1 times.
|
6 | phoenix_assert(config.getReceivingPort() == 3391); |
| 51 |
5/5✓ Branch 0 (310→311) taken 1 times.
✓ Branch 2 (313→314) taken 1 times.
✓ Branch 4 (316→317) taken 1 times.
✓ Branch 6 (319→320) taken 1 times.
✓ Branch 8 (320→321) taken 1 times.
|
6 | phoenix_assert(config.getStatNbBin() == 50); |
| 52 |
5/5✓ Branch 0 (327→328) taken 1 times.
✓ Branch 2 (330→331) taken 1 times.
✓ Branch 4 (333→334) taken 1 times.
✓ Branch 6 (336→337) taken 1 times.
✓ Branch 8 (337→338) taken 1 times.
|
6 | phoenix_assert(config.getStatHistLowerBound() == 0.0f); |
| 53 |
5/5✓ Branch 0 (344→345) taken 1 times.
✓ Branch 2 (347→348) taken 1 times.
✓ Branch 4 (350→351) taken 1 times.
✓ Branch 6 (353→354) taken 1 times.
✓ Branch 8 (354→355) taken 1 times.
|
6 | phoenix_assert(config.getStatHistUpperBound() == 100.0f); |
| 54 | |||
| 55 | //Test that the other daemon are loaded in the map of daemons (not in the current config) | ||
| 56 |
4/4✓ Branch 0 (364→365) taken 1 times.
✓ Branch 2 (367→368) taken 1 times.
✓ Branch 4 (370→371) taken 1 times.
✓ Branch 6 (371→372) taken 1 times.
|
6 | phoenix_assert(mapConfig.size() == 2); |
| 57 | |||
| 58 |
6/6✓ Branch 0 (378→379) taken 1 times.
✓ Branch 2 (379→380) taken 1 times.
✓ Branch 4 (384→385) taken 1 times.
✓ Branch 6 (387→388) taken 1 times.
✓ Branch 8 (390→391) taken 1 times.
✓ Branch 10 (391→392) taken 1 times.
|
7 | phoenix_assert(mapConfig.find("StatManager") != mapConfig.end()); |
| 59 |
2/2✓ Branch 0 (399→400) taken 1 times.
✓ Branch 2 (400→401) taken 1 times.
|
1 | DaemonConfig & statConfig = mapConfig["StatManager"]; |
| 60 |
6/6✓ Branch 0 (402→403) taken 1 times.
✓ Branch 2 (403→404) taken 1 times.
✓ Branch 4 (406→407) taken 1 times.
✓ Branch 6 (409→410) taken 1 times.
✓ Branch 8 (412→413) taken 1 times.
✓ Branch 10 (413→414) taken 1 times.
|
6 | phoenix_assert(statConfig.getName() == "StatManager"); |
| 61 |
6/6✓ Branch 0 (420→421) taken 1 times.
✓ Branch 2 (421→422) taken 1 times.
✓ Branch 4 (424→425) taken 1 times.
✓ Branch 6 (427→428) taken 1 times.
✓ Branch 8 (430→431) taken 1 times.
✓ Branch 10 (431→432) taken 1 times.
|
6 | phoenix_assert(statConfig.getDescription() == "One daemon of the swarm with statistics"); |
| 62 |
6/6✓ Branch 0 (438→439) taken 1 times.
✓ Branch 2 (439→440) taken 1 times.
✓ Branch 4 (442→443) taken 1 times.
✓ Branch 6 (445→446) taken 1 times.
✓ Branch 8 (448→449) taken 1 times.
✓ Branch 10 (449→450) taken 1 times.
|
6 | phoenix_assert(statConfig.getHostName() == "localhost"); |
| 63 |
5/5✓ Branch 0 (456→457) taken 1 times.
✓ Branch 2 (459→460) taken 1 times.
✓ Branch 4 (462→463) taken 1 times.
✓ Branch 6 (465→466) taken 1 times.
✓ Branch 8 (466→467) taken 1 times.
|
6 | phoenix_assert(statConfig.getReceivingPort() == 3390); |
| 64 |
5/5✓ Branch 0 (473→474) taken 1 times.
✓ Branch 2 (476→477) taken 1 times.
✓ Branch 4 (479→480) taken 1 times.
✓ Branch 6 (482→483) taken 1 times.
✓ Branch 8 (483→484) taken 1 times.
|
6 | phoenix_assert(statConfig.getStatNbBin() == 25); |
| 65 |
5/5✓ Branch 0 (490→491) taken 1 times.
✓ Branch 2 (493→494) taken 1 times.
✓ Branch 4 (496→497) taken 1 times.
✓ Branch 6 (499→500) taken 1 times.
✓ Branch 8 (500→501) taken 1 times.
|
6 | phoenix_assert(statConfig.getStatHistLowerBound() == 0.0f); |
| 66 |
5/5✓ Branch 0 (507→508) taken 1 times.
✓ Branch 2 (510→511) taken 1 times.
✓ Branch 4 (513→514) taken 1 times.
✓ Branch 6 (516→517) taken 1 times.
✓ Branch 8 (517→518) taken 1 times.
|
6 | phoenix_assert(statConfig.getStatHistUpperBound() == 100.0f); |
| 67 | |||
| 68 |
6/6✓ Branch 0 (524→525) taken 1 times.
✓ Branch 2 (525→526) taken 1 times.
✓ Branch 4 (530→531) taken 1 times.
✓ Branch 6 (533→534) taken 1 times.
✓ Branch 8 (536→537) taken 1 times.
✓ Branch 10 (537→538) taken 1 times.
|
7 | phoenix_assert(mapConfig.find("Daemon2") != mapConfig.end()); |
| 69 |
2/2✓ Branch 0 (545→546) taken 1 times.
✓ Branch 2 (546→547) taken 1 times.
|
1 | DaemonConfig & daemon2Config = mapConfig["Daemon2"]; |
| 70 |
6/6✓ Branch 0 (548→549) taken 1 times.
✓ Branch 2 (549→550) taken 1 times.
✓ Branch 4 (552→553) taken 1 times.
✓ Branch 6 (555→556) taken 1 times.
✓ Branch 8 (558→559) taken 1 times.
✓ Branch 10 (559→560) taken 1 times.
|
6 | phoenix_assert(daemon2Config.getName() == "Daemon2"); |
| 71 |
6/6✓ Branch 0 (566→567) taken 1 times.
✓ Branch 2 (567→568) taken 1 times.
✓ Branch 4 (570→571) taken 1 times.
✓ Branch 6 (573→574) taken 1 times.
✓ Branch 8 (576→577) taken 1 times.
✓ Branch 10 (577→578) taken 1 times.
|
6 | phoenix_assert(daemon2Config.getDescription() == "Second daemon of the swarm"); |
| 72 |
6/6✓ Branch 0 (584→585) taken 1 times.
✓ Branch 2 (585→586) taken 1 times.
✓ Branch 4 (588→589) taken 1 times.
✓ Branch 6 (591→592) taken 1 times.
✓ Branch 8 (594→595) taken 1 times.
✓ Branch 10 (595→596) taken 1 times.
|
6 | phoenix_assert(daemon2Config.getHostName() == "localhost"); |
| 73 |
5/5✓ Branch 0 (602→603) taken 1 times.
✓ Branch 2 (605→606) taken 1 times.
✓ Branch 4 (608→609) taken 1 times.
✓ Branch 6 (611→612) taken 1 times.
✓ Branch 8 (612→613) taken 1 times.
|
6 | phoenix_assert(daemon2Config.getReceivingPort() == 3395); |
| 74 |
5/5✓ Branch 0 (619→620) taken 1 times.
✓ Branch 2 (622→623) taken 1 times.
✓ Branch 4 (625→626) taken 1 times.
✓ Branch 6 (628→629) taken 1 times.
✓ Branch 8 (629→630) taken 1 times.
|
6 | phoenix_assert(daemon2Config.getStatNbBin() == 75); |
| 75 |
5/5✓ Branch 0 (636→637) taken 1 times.
✓ Branch 2 (639→640) taken 1 times.
✓ Branch 4 (642→643) taken 1 times.
✓ Branch 6 (645→646) taken 1 times.
✓ Branch 8 (646→647) taken 1 times.
|
6 | phoenix_assert(daemon2Config.getStatHistLowerBound() == 2.0f); |
| 76 |
5/5✓ Branch 0 (653→654) taken 1 times.
✓ Branch 2 (656→657) taken 1 times.
✓ Branch 4 (659→660) taken 1 times.
✓ Branch 6 (662→663) taken 1 times.
✓ Branch 8 (663→664) taken 1 times.
|
6 | phoenix_assert(daemon2Config.getStatHistUpperBound() == 101.0f); |
| 77 | 1 | } | |
| 78 | |||
| 79 | ///Test that the Monitoring daemon correctly loads statistics-specific parameters from [statistics] section | ||
| 80 | 1 | void test_load_monitoring_config(const PPath & filename){ | |
| 81 |
1/1✓ Branch 0 (2→3) taken 1 times.
|
1 | Monitoring<DaemonEmptyBackend> monitoring; |
| 82 |
4/4✓ 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.
|
6 | phoenix_assert(monitoring.getStatBinDurationSecond() == 0lu); |
| 83 |
4/4✓ Branch 0 (23→24) taken 1 times.
✓ Branch 2 (26→27) taken 1 times.
✓ Branch 4 (29→30) taken 1 times.
✓ Branch 6 (30→31) taken 1 times.
|
6 | phoenix_assert(monitoring.getStatBufferDurationSecond() == 0lu); |
| 84 |
6/6✓ Branch 0 (37→38) taken 1 times.
✓ Branch 2 (38→39) taken 1 times.
✓ Branch 4 (41→42) taken 1 times.
✓ Branch 6 (44→45) taken 1 times.
✓ Branch 8 (47→48) taken 1 times.
✓ Branch 10 (48→49) taken 1 times.
|
7 | phoenix_assert(monitoring.load(filename, "StatManager")); |
| 85 |
4/4✓ Branch 0 (59→60) taken 1 times.
✓ Branch 2 (62→63) taken 1 times.
✓ Branch 4 (65→66) taken 1 times.
✓ Branch 6 (66→67) taken 1 times.
|
6 | phoenix_assert(monitoring.getStatBufferDurationSecond() == 60lu); |
| 86 |
4/4✓ Branch 0 (76→77) taken 1 times.
✓ Branch 2 (79→80) taken 1 times.
✓ Branch 4 (82→83) taken 1 times.
✓ Branch 6 (83→84) taken 1 times.
|
6 | phoenix_assert(monitoring.getStatBinDurationSecond() == 10lu); |
| 87 | 1 | } | |
| 88 | |||
| 89 | ///Test error cases for daemon config loading | ||
| 90 | 1 | void test_load_daemon_config_errors(){ | |
| 91 |
1/1✓ Branch 0 (2→3) taken 1 times.
|
1 | TestDaemon daemon; |
| 92 |
1/1✓ Branch 0 (3→4) taken 1 times.
|
1 | PLog log; |
| 93 |
1/1✓ Branch 0 (4→5) taken 1 times.
|
1 | ConfigNode dico; |
| 94 | |||
| 95 |
7/9✓ Branch 0 (5→6) taken 1 times.
✗ Branch 2 (6→7) not taken.
✓ Branch 4 (11→12) taken 1 times.
✓ Branch 6 (14→15) taken 1 times.
✓ Branch 8 (17→18) taken 1 times.
✓ Branch 10 (18→19) taken 1 times.
✗ Branch 12 (92→93) not taken.
✓ Branch 13 (92→94) taken 1 times.
✓ Branch 14 (95→9) taken 1 times.
|
7 | PHOENIX_EXCEPTION_TYPE_ASSERT(Phoenix::ParserException, daemon_load_config(log, dico, "", ConfigFormat::JSON)); |
| 96 |
7/9✓ Branch 0 (25→26) taken 1 times.
✗ Branch 2 (26→27) not taken.
✓ Branch 4 (31→32) taken 1 times.
✓ Branch 6 (34→35) taken 1 times.
✓ Branch 8 (37→38) taken 1 times.
✓ Branch 10 (38→39) taken 1 times.
✗ Branch 12 (117→118) not taken.
✓ Branch 13 (117→119) taken 1 times.
✓ Branch 14 (120→29) taken 1 times.
|
7 | PHOENIX_EXCEPTION_TYPE_ASSERT(Phoenix::ParserException, daemon_load_config(log, dico, "value1", ConfigFormat::TOML)); |
| 97 |
7/9✓ Branch 0 (45→46) taken 1 times.
✗ Branch 2 (46→47) not taken.
✓ Branch 4 (51→52) taken 1 times.
✓ Branch 6 (54→55) taken 1 times.
✓ Branch 8 (57→58) taken 1 times.
✓ Branch 10 (58→59) taken 1 times.
✗ Branch 12 (142→143) not taken.
✓ Branch 13 (142→144) taken 1 times.
✓ Branch 14 (145→49) taken 1 times.
|
7 | PHOENIX_EXCEPTION_TYPE_ASSERT(Phoenix::ParserException, daemon_load_config(log, dico, "key: [value", ConfigFormat::YAML)); |
| 98 |
7/9✓ Branch 0 (65→66) taken 1 times.
✗ Branch 2 (66→67) not taken.
✓ Branch 4 (71→72) taken 1 times.
✓ Branch 6 (74→75) taken 1 times.
✓ Branch 8 (77→78) taken 1 times.
✓ Branch 10 (78→79) taken 1 times.
✗ Branch 12 (167→168) not taken.
✓ Branch 13 (167→169) taken 1 times.
✓ Branch 14 (170→69) taken 1 times.
|
7 | PHOENIX_EXCEPTION_TYPE_ASSERT(Phoenix::ParserException, daemon_load_config(log, dico, "test", static_cast<ConfigFormat::ConfigFormat>(999))); |
| 99 | 1 | } | |
| 100 | |||
| 101 | ///Test error cases for set_daemon_config_from_node | ||
| 102 | 1 | void test_set_daemon_config_from_node_errors(){ | |
| 103 |
1/1✓ Branch 0 (2→3) taken 1 times.
|
1 | ConfigNode nodeDict; |
| 104 |
1/1✓ Branch 0 (3→4) taken 1 times.
|
1 | DaemonConfig config; |
| 105 |
1/1✓ Branch 0 (4→5) taken 1 times.
|
1 | PLog log; |
| 106 | 1 | MapTimeout mapTimeout; | |
| 107 | |||
| 108 |
2/2✓ Branch 0 (6→7) taken 1 times.
✓ Branch 2 (7→8) taken 1 times.
|
1 | ConfigNode* nameNode = nodeDict.addChild("name"); |
| 109 |
2/2✓ Branch 0 (9→10) taken 1 times.
✓ Branch 2 (10→11) taken 1 times.
|
1 | nameNode->setValue("TestDaemon"); |
| 110 |
2/2✓ Branch 0 (12→13) taken 1 times.
✓ Branch 2 (13→14) taken 1 times.
|
1 | ConfigNode* portNode = nodeDict.addChild("receiving_port"); |
| 111 |
2/2✓ Branch 0 (15→16) taken 1 times.
✓ Branch 2 (16→17) taken 1 times.
|
1 | portNode->setValue("70000"); // Invalid port |
| 112 | |||
| 113 |
6/8✗ Branch 0 (18→19) not taken.
✓ Branch 2 (21→22) taken 1 times.
✓ Branch 4 (24→25) taken 1 times.
✓ Branch 6 (27→28) taken 1 times.
✓ Branch 8 (28→29) taken 1 times.
✗ Branch 10 (52→53) not taken.
✓ Branch 11 (52→54) taken 1 times.
✓ Branch 12 (55→19) taken 1 times.
|
6 | PHOENIX_EXCEPTION_TYPE_ASSERT(Phoenix::ConfigException, set_daemon_config_from_node(config, log, mapTimeout, nodeDict, true)); |
| 114 | 1 | } | |
| 115 | |||
| 116 | ///Test missing daemon section error | ||
| 117 | 1 | void test_missing_daemon_section(){ | |
| 118 | |||
| 119 | //Initialize daemonConfig | ||
| 120 |
1/1✓ Branch 0 (2→3) taken 1 times.
|
1 | DaemonConfig daemonConfig; |
| 121 |
2/2✓ Branch 0 (3→4) taken 1 times.
✓ Branch 2 (4→5) taken 1 times.
|
1 | daemonConfig.setName("TestDaemon"); |
| 122 |
2/2✓ Branch 0 (6→7) taken 1 times.
✓ Branch 2 (7→8) taken 1 times.
|
1 | daemonConfig.setHostName("localhost"); |
| 123 | |||
| 124 | 1 | MapDaemonConfig mapDaemon; | |
| 125 |
1/1✓ Branch 0 (10→11) taken 1 times.
|
1 | PLog log; |
| 126 | 1 | MapTimeout mapTimeout; | |
| 127 | 1 | const ConfigNode* extraConfigParam = nullptr; | |
| 128 | |||
| 129 |
1/1✓ Branch 0 (12→13) taken 1 times.
|
1 | ConfigNode dico; |
| 130 | |||
| 131 |
7/9✓ Branch 0 (13→14) taken 1 times.
✗ Branch 2 (14→15) not taken.
✓ Branch 4 (19→20) taken 1 times.
✓ Branch 6 (22→23) taken 1 times.
✓ Branch 8 (25→26) taken 1 times.
✓ Branch 10 (26→27) taken 1 times.
✗ Branch 12 (48→49) not taken.
✓ Branch 13 (48→50) taken 1 times.
✓ Branch 14 (51→17) taken 1 times.
|
7 | PHOENIX_EXCEPTION_TYPE_ASSERT(Phoenix::ConfigException, daemon_read_configNode(daemonConfig, mapDaemon, log, mapTimeout, extraConfigParam, dico, "TestDaemon")); |
| 132 | 1 | } | |
| 133 | |||
| 134 | ///Test daemon not found error | ||
| 135 | 1 | void test_daemon_not_found(){ | |
| 136 | |||
| 137 | //Initialize daemonConfig | ||
| 138 |
1/1✓ Branch 0 (2→3) taken 1 times.
|
1 | DaemonConfig daemonConfig; |
| 139 |
2/2✓ Branch 0 (3→4) taken 1 times.
✓ Branch 2 (4→5) taken 1 times.
|
1 | daemonConfig.setName("TestDaemon"); |
| 140 |
2/2✓ Branch 0 (6→7) taken 1 times.
✓ Branch 2 (7→8) taken 1 times.
|
1 | daemonConfig.setHostName("localhost"); |
| 141 | |||
| 142 | 1 | MapDaemonConfig mapDaemon; | |
| 143 |
1/1✓ Branch 0 (10→11) taken 1 times.
|
1 | PLog log; |
| 144 | 1 | MapTimeout mapTimeout; | |
| 145 | 1 | const ConfigNode* extraConfigParam = nullptr; | |
| 146 | |||
| 147 | // Add a daemon section but not the target daemon | ||
| 148 |
1/1✓ Branch 0 (12→13) taken 1 times.
|
1 | ConfigNode dico; |
| 149 |
2/2✓ Branch 0 (13→14) taken 1 times.
✓ Branch 2 (14→15) taken 1 times.
|
1 | ConfigNode* daemonSection = dico.addChild("daemon"); |
| 150 |
2/2✓ Branch 0 (16→17) taken 1 times.
✓ Branch 2 (17→18) taken 1 times.
|
1 | ConfigNode* daemon = daemonSection->addChild(""); |
| 151 |
2/2✓ Branch 0 (19→20) taken 1 times.
✓ Branch 2 (20→21) taken 1 times.
|
1 | ConfigNode * daemonName = daemon->addChild("name"); |
| 152 |
2/2✓ Branch 0 (22→23) taken 1 times.
✓ Branch 2 (23→24) taken 1 times.
|
1 | daemonName->setValue("OtherDaemon"); |
| 153 | |||
| 154 |
7/9✓ Branch 0 (25→26) taken 1 times.
✗ Branch 2 (26→27) not taken.
✓ Branch 4 (31→32) taken 1 times.
✓ Branch 6 (34→35) taken 1 times.
✓ Branch 8 (37→38) taken 1 times.
✓ Branch 10 (38→39) taken 1 times.
✗ Branch 12 (72→73) not taken.
✓ Branch 13 (72→74) taken 1 times.
✓ Branch 14 (75→29) taken 1 times.
|
7 | PHOENIX_EXCEPTION_TYPE_ASSERT(Phoenix::ConfigException, daemon_read_configNode(daemonConfig, mapDaemon, log, mapTimeout, extraConfigParam, dico, "TestDaemon")); |
| 155 | 1 | } | |
| 156 | |||
| 157 | ///Helper function to fill a ConfigNode with a daemon configuration | ||
| 158 | /// @param[out] dico : ConfigNode to be filled | ||
| 159 | /// @param[in] name : name of the daemon | ||
| 160 | /// @param[in] host: hostname of the daemon | ||
| 161 | /// @param[in] port : receiving port of the daemon | ||
| 162 | 3 | void fillConfigNode(ConfigNode & dico, const PString & name, const PString & host, const PString & port){ | |
| 163 | // Add a daemon section for current daemon | ||
| 164 |
2/2✓ Branch 0 (2→3) taken 3 times.
✓ Branch 2 (3→4) taken 3 times.
|
3 | ConfigNode* daemonSection = dico.getChild("daemon"); |
| 165 |
2/2✓ Branch 0 (5→6) taken 1 times.
✓ Branch 1 (5→10) taken 2 times.
|
3 | if(daemonSection == nullptr){ |
| 166 |
2/2✓ Branch 0 (6→7) taken 1 times.
✓ Branch 2 (7→8) taken 1 times.
|
1 | daemonSection = dico.addChild("daemon"); |
| 167 | } | ||
| 168 |
2/2✓ Branch 0 (10→11) taken 3 times.
✓ Branch 2 (11→12) taken 3 times.
|
3 | ConfigNode* daemon = daemonSection->addChild(""); |
| 169 |
2/2✓ Branch 0 (13→14) taken 3 times.
✓ Branch 2 (14→15) taken 3 times.
|
3 | ConfigNode * daemonName = daemon->addChild("name"); |
| 170 | 3 | daemonName->setValue(name); | |
| 171 |
2/2✓ Branch 0 (17→18) taken 3 times.
✓ Branch 2 (18→19) taken 3 times.
|
3 | ConfigNode * daemonDesc = daemon->addChild("description"); |
| 172 |
2/2✓ Branch 0 (20→21) taken 3 times.
✓ Branch 2 (21→22) taken 3 times.
|
3 | daemonDesc->setValue("Test daemon"); |
| 173 |
2/2✓ Branch 0 (23→24) taken 3 times.
✓ Branch 2 (24→25) taken 3 times.
|
3 | ConfigNode * logFile = daemon->addChild("log_file"); |
| 174 |
2/2✓ Branch 0 (26→27) taken 3 times.
✓ Branch 2 (27→28) taken 3 times.
|
3 | logFile->setValue("test.log"); |
| 175 |
2/2✓ Branch 0 (29→30) taken 3 times.
✓ Branch 2 (30→31) taken 3 times.
|
3 | ConfigNode * hostName = daemon->addChild("hostname"); |
| 176 | 3 | hostName->setValue(host); | |
| 177 |
2/2✓ Branch 0 (33→34) taken 3 times.
✓ Branch 2 (34→35) taken 3 times.
|
3 | ConfigNode * receivingPort = daemon->addChild("receiving_port"); |
| 178 | 3 | receivingPort->setValue(port); | |
| 179 | 3 | } | |
| 180 | |||
| 181 | ///Test duplicate daemon configuration | ||
| 182 | 1 | void test_duplicate_daemon_config(){ | |
| 183 | |||
| 184 | //Initialize daemonConfig | ||
| 185 |
1/1✓ Branch 0 (2→3) taken 1 times.
|
1 | DaemonConfig daemonConfig; |
| 186 |
2/2✓ Branch 0 (3→4) taken 1 times.
✓ Branch 2 (4→5) taken 1 times.
|
1 | daemonConfig.setName("TestDaemon"); |
| 187 |
2/2✓ Branch 0 (6→7) taken 1 times.
✓ Branch 2 (7→8) taken 1 times.
|
1 | daemonConfig.setHostName("localhost"); |
| 188 | |||
| 189 | 1 | MapDaemonConfig mapDaemon; | |
| 190 |
1/1✓ Branch 0 (10→11) taken 1 times.
|
1 | PLog log; |
| 191 | 1 | MapTimeout mapTimeout; | |
| 192 | 1 | const ConfigNode* extraConfigParam = nullptr; | |
| 193 | |||
| 194 | // Add daemons to the config node, including duplicates | ||
| 195 |
1/1✓ Branch 0 (12→13) taken 1 times.
|
1 | ConfigNode dico; |
| 196 |
4/4✓ Branch 0 (13→14) taken 1 times.
✓ Branch 2 (14→15) taken 1 times.
✓ Branch 4 (15→16) taken 1 times.
✓ Branch 6 (16→17) taken 1 times.
|
1 | fillConfigNode(dico, "TestDaemon", "localhost", "3391"); |
| 197 |
4/4✓ Branch 0 (20→21) taken 1 times.
✓ Branch 2 (21→22) taken 1 times.
✓ Branch 4 (22→23) taken 1 times.
✓ Branch 6 (23→24) taken 1 times.
|
1 | fillConfigNode(dico, "TestDaemon", "localhost", "3392"); // Duplicate |
| 198 |
4/4✓ Branch 0 (27→28) taken 1 times.
✓ Branch 2 (28→29) taken 1 times.
✓ Branch 4 (29→30) taken 1 times.
✓ Branch 6 (30→31) taken 1 times.
|
1 | fillConfigNode(dico, "OtherDaemon", "localhost", "3393"); |
| 199 | |||
| 200 |
7/9✓ Branch 0 (34→35) taken 1 times.
✗ Branch 2 (35→36) not taken.
✓ Branch 4 (40→41) taken 1 times.
✓ Branch 6 (43→44) taken 1 times.
✓ Branch 8 (46→47) taken 1 times.
✓ Branch 10 (47→48) taken 1 times.
✗ Branch 12 (96→97) not taken.
✓ Branch 13 (96→98) taken 1 times.
✓ Branch 14 (99→38) taken 1 times.
|
7 | PHOENIX_EXCEPTION_TYPE_ASSERT(Phoenix::ConfigException, daemon_read_configNode(daemonConfig, mapDaemon, log, mapTimeout, extraConfigParam, dico, "TestDaemon")); |
| 201 | 1 | } | |
| 202 | |||
| 203 | 1 | int main(int argc, char** argv){ | |
| 204 |
3/3✓ Branch 0 (2→3) taken 1 times.
✓ Branch 2 (3→4) taken 1 times.
✓ Branch 4 (4→5) taken 1 times.
|
1 | test_load_daemon_config(PPath(DAEMON_CONFIG_OK)); |
| 205 |
3/3✓ Branch 0 (7→8) taken 1 times.
✓ Branch 2 (8→9) taken 1 times.
✓ Branch 4 (9→10) taken 1 times.
|
1 | test_load_monitoring_config(PPath(DAEMON_CONFIG_OK)); |
| 206 | 1 | test_load_daemon_config_errors(); | |
| 207 | 1 | test_set_daemon_config_from_node_errors(); | |
| 208 | 1 | test_missing_daemon_section(); | |
| 209 | 1 | test_daemon_not_found(); | |
| 210 | 1 | test_duplicate_daemon_config(); | |
| 211 | 1 | return 0; | |
| 212 | } | ||
| 213 | |||
| 214 | |||
| 215 |