xref: /openbmc/phosphor-led-manager/test/led-test-map.hpp (revision f204403778e9ab245016285d10c5aeeed72172a2)
1 #include "ledlayout.hpp"
2 
3 #include <set>
4 #include <string>
5 #include <unordered_map>
6 
7 static const std::unordered_map<std::string,
8                                 std::set<phosphor::led::Layout::LedAction>>
9     singleLedOn = {
10         {"/xyz/openbmc_project/ledmanager/groups/SingleLed",
11          {
12              {"One", phosphor::led::Layout::Action::On, 0, 0,
13               phosphor::led::Layout::Action::Blink},
14          }},
15 };
16 
17 static const std::unordered_map<std::string,
18                                 std::set<phosphor::led::Layout::LedAction>>
19     singleLedBlink = {
20         {"/xyz/openbmc_project/ledmanager/groups/SingleLed",
21          {
22              {"One", phosphor::led::Layout::Action::Blink, 0, 0,
23               phosphor::led::Layout::Action::Blink},
24          }},
25 };
26 
27 static const std::unordered_map<std::string,
28                                 std::set<phosphor::led::Layout::LedAction>>
29     singleLedBlinkOverrideOn = {
30         {"/xyz/openbmc_project/ledmanager/groups/SingleLed",
31          {
32              {"One", phosphor::led::Layout::Action::Blink, 0, 0,
33               phosphor::led::Layout::Action::On},
34          }},
35 };
36 
37 static const std::unordered_map<std::string,
38                                 std::set<phosphor::led::Layout::LedAction>>
39     multipleLedsOn = {
40         {"/xyz/openbmc_project/ledmanager/groups/MultipleLeds",
41          {
42              {"One", phosphor::led::Layout::Action::On, 0, 0,
43               phosphor::led::Layout::Action::On},
44              {"Two", phosphor::led::Layout::Action::On, 0, 0,
45               phosphor::led::Layout::Action::On},
46              {"Three", phosphor::led::Layout::Action::On, 0, 0,
47               phosphor::led::Layout::Action::On},
48          }},
49 };
50 
51 static const std::unordered_map<std::string,
52                                 std::set<phosphor::led::Layout::LedAction>>
53     multipleLedsBlink = {
54         {"/xyz/openbmc_project/ledmanager/groups/MultipleLeds",
55          {
56              {"One", phosphor::led::Layout::Action::Blink, 0, 0,
57               phosphor::led::Layout::Action::Blink},
58              {"Two", phosphor::led::Layout::Action::Blink, 0, 0,
59               phosphor::led::Layout::Action::Blink},
60              {"Three", phosphor::led::Layout::Action::Blink, 0, 0,
61               phosphor::led::Layout::Action::Blink},
62          }},
63 };
64 
65 static const std::unordered_map<std::string,
66                                 std::set<phosphor::led::Layout::LedAction>>
67     multipleLedsOnAndBlink = {
68         {"/xyz/openbmc_project/ledmanager/groups/MultipleLedsMix",
69          {
70              {"One", phosphor::led::Layout::Action::Blink, 0, 0,
71               phosphor::led::Layout::Action::Blink},
72              {"Two", phosphor::led::Layout::Action::On, 0, 0,
73               phosphor::led::Layout::Action::Blink},
74              {"Three", phosphor::led::Layout::Action::Blink, 0, 0,
75               phosphor::led::Layout::Action::On},
76              {"Four", phosphor::led::Layout::Action::On, 0, 0,
77               phosphor::led::Layout::Action::Blink},
78              {"Five", phosphor::led::Layout::Action::On, 0, 0,
79               phosphor::led::Layout::Action::Blink},
80          }},
81 };
82 
83 static const std::unordered_map<std::string,
84                                 std::set<phosphor::led::Layout::LedAction>>
85     twoGroupsWithDistinctLEDsOn = {
86         {"/xyz/openbmc_project/ledmanager/groups/MultipleLedsASet",
87          {
88              {"One", phosphor::led::Layout::Action::On, 0, 0,
89               phosphor::led::Layout::Action::Blink},
90              {"Two", phosphor::led::Layout::Action::On, 0, 0,
91               phosphor::led::Layout::Action::On},
92              {"Three", phosphor::led::Layout::Action::On, 0, 0,
93               phosphor::led::Layout::Action::Blink},
94          }},
95         {"/xyz/openbmc_project/ledmanager/groups/MultipleLedsBSet",
96          {
97              {"Four", phosphor::led::Layout::Action::On, 0, 0,
98               phosphor::led::Layout::Action::Blink},
99              {"Five", phosphor::led::Layout::Action::On, 0, 0,
100               phosphor::led::Layout::Action::Blink},
101              {"Six", phosphor::led::Layout::Action::On, 0, 0,
102               phosphor::led::Layout::Action::On},
103          }},
104 };
105 
106 static const std::unordered_map<std::string,
107                                 std::set<phosphor::led::Layout::LedAction>>
108     twoGroupsWithOneComonLEDOn = {
109         {"/xyz/openbmc_project/ledmanager/groups/MultipleLedsASet",
110          {
111              {"One", phosphor::led::Layout::Action::On, 0, 0,
112               phosphor::led::Layout::Action::On},
113              {"Two", phosphor::led::Layout::Action::On, 0, 0,
114               phosphor::led::Layout::Action::On},
115              {"Three", phosphor::led::Layout::Action::On, 0, 0,
116               phosphor::led::Layout::Action::On},
117          }},
118         {"/xyz/openbmc_project/ledmanager/groups/MultipleLedsBSet",
119          {
120              {"Four", phosphor::led::Layout::Action::On, 0, 0,
121               phosphor::led::Layout::Action::On},
122              {"Three", phosphor::led::Layout::Action::On, 0, 0,
123               phosphor::led::Layout::Action::On},
124              {"Six", phosphor::led::Layout::Action::On, 0, 0,
125               phosphor::led::Layout::Action::On},
126          }},
127 };
128 
129 static const std::unordered_map<std::string,
130                                 std::set<phosphor::led::Layout::LedAction>>
131     twoGroupsWithOneComonLEDOnOneLEDBlinkPriority = {
132         {"/xyz/openbmc_project/ledmanager/groups/MultipleLedsASet",
133          {
134              {"One", phosphor::led::Layout::Action::On, 0, 0,
135               phosphor::led::Layout::Action::On},
136              {"Two", phosphor::led::Layout::Action::On, 0, 0,
137               phosphor::led::Layout::Action::On},
138              {"Three", phosphor::led::Layout::Action::Blink, 0, 0,
139               phosphor::led::Layout::Action::Blink},
140          }},
141         {"/xyz/openbmc_project/ledmanager/groups/MultipleLedsBSet",
142          {
143              {"Four", phosphor::led::Layout::Action::On, 0, 0,
144               phosphor::led::Layout::Action::On},
145              {"Three", phosphor::led::Layout::Action::On, 0, 0,
146               phosphor::led::Layout::Action::Blink},
147              {"Six", phosphor::led::Layout::Action::On, 0, 0,
148               phosphor::led::Layout::Action::On},
149          }},
150 };
151 
152 static const std::unordered_map<std::string,
153                                 std::set<phosphor::led::Layout::LedAction>>
154     twoGroupsWithOneComonLEDOnPriority = {
155         {"/xyz/openbmc_project/ledmanager/groups/MultipleLedsASet",
156          {
157              {"One", phosphor::led::Layout::Action::On, 0, 0,
158               phosphor::led::Layout::Action::On},
159              {"Two", phosphor::led::Layout::Action::On, 0, 0,
160               phosphor::led::Layout::Action::On},
161              {"Three", phosphor::led::Layout::Action::Blink, 0, 0,
162               phosphor::led::Layout::Action::On},
163          }},
164         {"/xyz/openbmc_project/ledmanager/groups/MultipleLedsBSet",
165          {
166              {"Four", phosphor::led::Layout::Action::On, 0, 0,
167               phosphor::led::Layout::Action::On},
168              {"Three", phosphor::led::Layout::Action::On, 0, 0,
169               phosphor::led::Layout::Action::On},
170              {"Six", phosphor::led::Layout::Action::On, 0, 0,
171               phosphor::led::Layout::Action::On},
172          }},
173 };
174 
175 static const std::unordered_map<std::string,
176                                 std::set<phosphor::led::Layout::LedAction>>
177     twoGroupsWithMultiplComonLEDOn = {
178         {"/xyz/openbmc_project/ledmanager/groups/MultipleLedsASet",
179          {
180              {"One", phosphor::led::Layout::Action::On, 0, 0,
181               phosphor::led::Layout::Action::On},
182              {"Two", phosphor::led::Layout::Action::On, 0, 0,
183               phosphor::led::Layout::Action::On},
184              {"Three", phosphor::led::Layout::Action::On, 0, 0,
185               phosphor::led::Layout::Action::On},
186          }},
187         {"/xyz/openbmc_project/ledmanager/groups/MultipleLedsBSet",
188          {
189              {"Two", phosphor::led::Layout::Action::On, 0, 0,
190               phosphor::led::Layout::Action::On},
191              {"Six", phosphor::led::Layout::Action::On, 0, 0,
192               phosphor::led::Layout::Action::On},
193              {"Three", phosphor::led::Layout::Action::On, 0, 0,
194               phosphor::led::Layout::Action::On},
195              {"Seven", phosphor::led::Layout::Action::On, 0, 0,
196               phosphor::led::Layout::Action::On},
197          }},
198 };
199 
200 static const std::unordered_map<std::string,
201                                 std::set<phosphor::led::Layout::LedAction>>
202     twoGroupsWithMultipleComonLEDInDifferentState = {
203         {"/xyz/openbmc_project/ledmanager/groups/MultipleLedsASet",
204          {
205              {"One", phosphor::led::Layout::Action::On, 0, 0,
206               phosphor::led::Layout::Action::On},
207              {"Two", phosphor::led::Layout::Action::Blink, 0, 0,
208               phosphor::led::Layout::Action::On},
209              {"Three", phosphor::led::Layout::Action::Blink, 0, 0,
210               phosphor::led::Layout::Action::On},
211              {"Four", phosphor::led::Layout::Action::On, 0, 0,
212               phosphor::led::Layout::Action::On},
213          }},
214         {"/xyz/openbmc_project/ledmanager/groups/MultipleLedsBSet",
215          {
216              {"Two", phosphor::led::Layout::Action::On, 0, 0,
217               phosphor::led::Layout::Action::On},
218              {"Three", phosphor::led::Layout::Action::Blink, 0, 0,
219               phosphor::led::Layout::Action::On},
220              {"Five", phosphor::led::Layout::Action::On, 0, 0,
221               phosphor::led::Layout::Action::On},
222              {"Six", phosphor::led::Layout::Action::On, 0, 0,
223               phosphor::led::Layout::Action::On},
224          }},
225 };
226 
227 static const std::unordered_map<std::string,
228                                 std::set<phosphor::led::Layout::LedAction>>
229     twoGroupsWithMultipleComonLEDInDifferentStateDiffPriority = {
230         {"/xyz/openbmc_project/ledmanager/groups/MultipleLedsASet",
231          {
232              {"One", phosphor::led::Layout::Action::On, 0, 0,
233               phosphor::led::Layout::Action::On},
234              {"Two", phosphor::led::Layout::Action::Blink, 0, 0,
235               phosphor::led::Layout::Action::On},
236              {"Three", phosphor::led::Layout::Action::On, 0, 0,
237               phosphor::led::Layout::Action::Blink},
238              {"Four", phosphor::led::Layout::Action::On, 0, 0,
239               phosphor::led::Layout::Action::On},
240              {"Ten", phosphor::led::Layout::Action::Blink, 0, 0,
241               phosphor::led::Layout::Action::Blink},
242          }},
243         {"/xyz/openbmc_project/ledmanager/groups/MultipleLedsBSet",
244          {
245              {"Two", phosphor::led::Layout::Action::On, 0, 0,
246               phosphor::led::Layout::Action::On},
247              {"Three", phosphor::led::Layout::Action::On, 0, 0,
248               phosphor::led::Layout::Action::Blink},
249              {"Five", phosphor::led::Layout::Action::On, 0, 0,
250               phosphor::led::Layout::Action::On},
251              {"Six", phosphor::led::Layout::Action::On, 0, 0,
252               phosphor::led::Layout::Action::On},
253              {"Ten", phosphor::led::Layout::Action::On, 0, 0,
254               phosphor::led::Layout::Action::Blink},
255          }},
256 };
257