GCC Code Coverage Report


Directory: ./
Coverage: low: ≥ 0% medium: ≥ 75.0% high: ≥ 90.0%
Coverage Exec / Excl / Total
Lines: 85.7% 12 / 0 / 14
Functions: 100.0% 1 / 0 / 1
Branches: 43.0% 49 / 0 / 114

src/iguana/services/Deprecated.cc
Line Branch Exec Source
1 #include "Deprecated.h"
2
3 #include <algorithm>
4 #include <map>
5 #include <stdexcept>
6 #include <vector>
7
8 namespace iguana::deprecated {
9
10 34 void CheckSetOptionKey(std::string const& algo_class_name, std::string const& key) noexcept(false)
11 {
12 // handle options which shouldn't be used with `SetOption`
13 // clang-format off
14 std::map<std::string,std::vector<std::string>> avoids = {
15 {
16
1/2
✓ Branch 2 → 3 taken 34 times.
✗ Branch 2 → 145 not taken.
34 "clas12::ZVertexFilter",
17 {
18 "electron_vz",
19 }
20 },
21 {
22
1/2
✓ Branch 5 → 6 taken 34 times.
✗ Branch 5 → 137 not taken.
34 "physics::InclusiveKinematics",
23 {
24 "beam_direction",
25 "target_particle",
26 }
27 },
28
9/20
✓ Branch 3 → 4 taken 34 times.
✗ Branch 3 → 139 not taken.
✓ Branch 6 → 7 taken 34 times.
✗ Branch 6 → 131 not taken.
✗ Branch 8 → 9 not taken.
✓ Branch 8 → 10 taken 34 times.
✓ Branch 11 → 12 taken 68 times.
✓ Branch 11 → 13 taken 34 times.
✗ Branch 14 → 15 not taken.
✓ Branch 14 → 17 taken 34 times.
✗ Branch 20 → 21 not taken.
✓ Branch 20 → 23 taken 34 times.
✓ Branch 25 → 26 taken 7 times.
✓ Branch 25 → 47 taken 27 times.
✗ Branch 126 → 127 not taken.
✗ Branch 126 → 128 not taken.
✗ Branch 131 → 132 not taken.
✗ Branch 131 → 134 not taken.
✗ Branch 139 → 140 not taken.
✗ Branch 139 → 142 not taken.
238 };
29 //clang-format on
30
2/2
✓ Branch 25 → 26 taken 7 times.
✓ Branch 25 → 47 taken 27 times.
34 if(auto algo_it{avoids.find(algo_class_name)}; algo_it != avoids.end()) {
31
1/2
✗ Branch 30 → 31 not taken.
✓ Branch 30 → 47 taken 7 times.
7 if(std::find(algo_it->second.begin(), algo_it->second.end(), key) != algo_it->second.end()) {
32 throw std::runtime_error("Called 'SetOption' with deprecated key '" + key + "'; use a configuration YAML file instead");
33 }
34 }
35
36 // handle renamed options
37 // clang-format off
38 std::map<std::string,std::map<std::string,std::string>> renames = {
39 {
40
1/2
✓ Branch 47 → 48 taken 34 times.
✗ Branch 47 → 198 not taken.
34 "clas12::rga::FiducialFilterPass2",
41 {
42 { "calorimeter.strictness", "calorimeter/strictness" },
43 { "forward_tagger.radius", "forward_tagger/radius" },
44 { "forward_tagger.holes_flat", "forward_tagger/holes_flat" },
45 { "cvt.edge_layers", "cvt/edge_layers" },
46 { "cvt.edge_min", "cvt/edge_min" },
47 { "cvt.phi_forbidden_deg", "cvt/phi_forbidden_deg" },
48 { "dc.theta_small_deg", "dc/theta_small_deg" },
49 { "dc.thresholds_out", "dc/thresholds_out" },
50 { "dc.thresholds_in_smallTheta", "dc/thresholds_in_smallTheta" },
51 { "dc.thresholds_in_largeTheta", "dc/thresholds_in_largeTheta" },
52 }
53 },
54 {
55
1/2
✓ Branch 60 → 61 taken 34 times.
✗ Branch 60 → 182 not taken.
68 "physics::InclusiveKinematics",
56 {
57 { "reconstruction", "method/reconstruction" },
58 { "lepton_finder", "method/lepton_finder" },
59 { "beam_particle", "method/beam_particle" },
60 }
61 },
62
13/28
✓ Branch 58 → 59 taken 34 times.
✗ Branch 58 → 184 not taken.
✓ Branch 64 → 65 taken 34 times.
✗ Branch 64 → 168 not taken.
✗ Branch 66 → 67 not taken.
✓ Branch 66 → 68 taken 34 times.
✓ Branch 69 → 70 taken 68 times.
✓ Branch 69 → 71 taken 34 times.
✓ Branch 73 → 74 taken 102 times.
✓ Branch 73 → 75 taken 34 times.
✗ Branch 75 → 76 not taken.
✓ Branch 75 → 78 taken 34 times.
✓ Branch 82 → 83 taken 340 times.
✓ Branch 82 → 84 taken 34 times.
✗ Branch 84 → 85 not taken.
✓ Branch 84 → 87 taken 34 times.
✓ Branch 89 → 90 taken 1 time.
✓ Branch 89 → 123 taken 33 times.
✗ Branch 163 → 164 not taken.
✗ Branch 163 → 165 not taken.
✗ Branch 169 → 170 not taken.
✗ Branch 169 → 171 not taken.
✗ Branch 176 → 177 not taken.
✗ Branch 176 → 179 not taken.
✗ Branch 185 → 186 not taken.
✗ Branch 185 → 187 not taken.
✗ Branch 192 → 193 not taken.
✗ Branch 192 → 195 not taken.
714 };
63 // clang-format on
64
2/2
✓ Branch 89 → 90 taken 1 time.
✓ Branch 89 → 123 taken 33 times.
34 if(auto algo_it{renames.find(algo_class_name)}; algo_it != renames.end()) {
65
1/2
✗ Branch 90 → 91 not taken.
✓ Branch 90 → 123 taken 1 time.
1 if(auto rename_it{algo_it->second.find(key)}; rename_it != algo_it->second.end()) {
66 throw std::runtime_error("Called 'SetOption' with deprecated key '" + key + "'; it has been renamed to '" + rename_it->second + "'");
67 }
68 }
69
17/42
✓ Branch 4 → 5 taken 34 times.
✗ Branch 4 → 137 not taken.
✓ Branch 7 → 8 taken 34 times.
✗ Branch 7 → 129 not taken.
✓ Branch 48 → 49 taken 34 times.
✗ Branch 48 → 188 not taken.
✓ Branch 49 → 50 taken 34 times.
✗ Branch 49 → 188 not taken.
✓ Branch 50 → 51 taken 34 times.
✗ Branch 50 → 188 not taken.
✓ Branch 51 → 52 taken 34 times.
✗ Branch 51 → 188 not taken.
✓ Branch 52 → 53 taken 34 times.
✗ Branch 52 → 188 not taken.
✓ Branch 53 → 54 taken 34 times.
✗ Branch 53 → 188 not taken.
✓ Branch 54 → 55 taken 34 times.
✗ Branch 54 → 188 not taken.
✓ Branch 55 → 56 taken 34 times.
✗ Branch 55 → 188 not taken.
✓ Branch 56 → 57 taken 34 times.
✗ Branch 56 → 188 not taken.
✓ Branch 57 → 58 taken 34 times.
✗ Branch 57 → 188 not taken.
✓ Branch 59 → 60 taken 34 times.
✗ Branch 59 → 182 not taken.
✓ Branch 61 → 62 taken 34 times.
✗ Branch 61 → 172 not taken.
✓ Branch 62 → 63 taken 34 times.
✗ Branch 62 → 172 not taken.
✓ Branch 63 → 64 taken 34 times.
✗ Branch 63 → 172 not taken.
✓ Branch 65 → 66 taken 34 times.
✗ Branch 65 → 166 not taken.
✗ Branch 146 → 147 not taken.
✗ Branch 146 → 148 not taken.
✗ Branch 173 → 174 not taken.
✗ Branch 173 → 175 not taken.
✗ Branch 189 → 190 not taken.
✗ Branch 189 → 191 not taken.
✗ Branch 199 → 200 not taken.
✗ Branch 199 → 201 not taken.
238 }
70
71 }
72