Skip to content

Commit 8b659c6

Browse files
authored
Create mock IpmiCommandLib under IpmiFeaturePkg (#266)
## Description Create mock IpmiCommandLib under IpmiFeaturePkg For details on how to complete these options and their meaning refer to [CONTRIBUTING.md](https://github.com/microsoft/mu/blob/HEAD/CONTRIBUTING.md). - [ ] Impacts functionality? - [ ] Impacts security? - [ ] Breaking change? - [ ] Includes tests? - [ ] Includes documentation? ## How This Was Tested Unit tests component can call these mock functions success ## Integration Instructions N/A
1 parent 54f9c29 commit 8b659c6

4 files changed

Lines changed: 429 additions & 1 deletion

File tree

IpmiFeaturePkg/Test/IpmiFeaturePkgHostTest.dsc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,4 +64,5 @@
6464
#
6565
# Build HOST_APPLICATION Libraries With GoogleTest
6666
#
67-
IpmiFeaturePkg/Test/Mock/Library/GoogleTest/MockIpmiSelLib/MockIpmiSelLib.inf
67+
IpmiFeaturePkg/Test/Mock/Library/GoogleTest/MockIpmiSelLib/MockIpmiSelLib.inf
68+
IpmiFeaturePkg/Test/Mock/Library/GoogleTest/MockIpmiCommandLib/MockIpmiCommandLib.inf
Lines changed: 345 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,345 @@
1+
/** @file MockIpmiCommandLib.h
2+
Google Test mocks for IpmiCommandLib
3+
4+
Copyright (c) Microsoft Corporation.
5+
SPDX-License-Identifier: BSD-2-Clause-Patent
6+
**/
7+
8+
#ifndef MOCK_IPMI_COMMAND_LIB_H_
9+
#define MOCK_IPMI_COMMAND_LIB_H_
10+
11+
#include <Library/GoogleTestLib.h>
12+
#include <Library/FunctionMockLib.h>
13+
extern "C" {
14+
#include <Uefi.h>
15+
#include <Library/IpmiCommandLib.h>
16+
}
17+
18+
struct MockIpmiCommandLib {
19+
MOCK_INTERFACE_DECLARATION (MockIpmiCommandLib);
20+
21+
MOCK_FUNCTION_DECLARATION (
22+
EFI_STATUS,
23+
IpmiGetDeviceId,
24+
(
25+
OUT IPMI_GET_DEVICE_ID_RESPONSE *DeviceId
26+
)
27+
);
28+
29+
MOCK_FUNCTION_DECLARATION (
30+
EFI_STATUS,
31+
IpmiGetSelfTestResult,
32+
(
33+
OUT IPMI_SELF_TEST_RESULT_RESPONSE *SelfTestResult
34+
)
35+
);
36+
37+
MOCK_FUNCTION_DECLARATION (
38+
EFI_STATUS,
39+
IpmiResetWatchdogTimer,
40+
(
41+
OUT UINT8 *CompletionCode
42+
)
43+
);
44+
45+
MOCK_FUNCTION_DECLARATION (
46+
EFI_STATUS,
47+
IpmiSetWatchdogTimer,
48+
(
49+
IN IPMI_SET_WATCHDOG_TIMER_REQUEST *SetWatchdogTimer,
50+
OUT UINT8 *CompletionCode
51+
)
52+
);
53+
54+
MOCK_FUNCTION_DECLARATION (
55+
EFI_STATUS,
56+
IpmiGetWatchdogTimer,
57+
(
58+
OUT IPMI_GET_WATCHDOG_TIMER_RESPONSE *GetWatchdogTimer
59+
)
60+
);
61+
62+
MOCK_FUNCTION_DECLARATION (
63+
EFI_STATUS,
64+
IpmiSetBmcGlobalEnables,
65+
(
66+
IN IPMI_SET_BMC_GLOBAL_ENABLES_REQUEST *SetBmcGlobalEnables,
67+
OUT UINT8 *CompletionCode
68+
)
69+
);
70+
71+
MOCK_FUNCTION_DECLARATION (
72+
EFI_STATUS,
73+
IpmiGetBmcGlobalEnables,
74+
(
75+
OUT IPMI_GET_BMC_GLOBAL_ENABLES_RESPONSE *GetBmcGlobalEnables
76+
)
77+
);
78+
79+
MOCK_FUNCTION_DECLARATION (
80+
EFI_STATUS,
81+
IpmiClearMessageFlags,
82+
(
83+
IN IPMI_CLEAR_MESSAGE_FLAGS_REQUEST *ClearMessageFlagsRequest,
84+
OUT UINT8 *CompletionCode
85+
)
86+
);
87+
88+
MOCK_FUNCTION_DECLARATION (
89+
EFI_STATUS,
90+
IpmiGetMessageFlags,
91+
(
92+
OUT IPMI_GET_MESSAGE_FLAGS_RESPONSE *GetMessageFlagsResponse
93+
)
94+
);
95+
96+
MOCK_FUNCTION_DECLARATION (
97+
EFI_STATUS,
98+
IpmiGetMessage,
99+
(
100+
OUT IPMI_GET_MESSAGE_RESPONSE *GetMessageResponse,
101+
IN OUT UINT32 *GetMessageResponseSize
102+
)
103+
);
104+
105+
MOCK_FUNCTION_DECLARATION (
106+
EFI_STATUS,
107+
IpmiSendMessage,
108+
(
109+
IN IPMI_SEND_MESSAGE_REQUEST *SendMessageRequest,
110+
IN UINT32 SendMessageRequestSize,
111+
OUT IPMI_SEND_MESSAGE_RESPONSE *SendMessageResponse,
112+
IN OUT UINT32 *SendMessageResponseSize
113+
)
114+
);
115+
116+
MOCK_FUNCTION_DECLARATION (
117+
EFI_STATUS,
118+
IpmiGetSystemUuid,
119+
(
120+
OUT EFI_GUID *SystemGuid
121+
)
122+
);
123+
124+
MOCK_FUNCTION_DECLARATION (
125+
EFI_STATUS,
126+
IpmiGetChannelInfo,
127+
(
128+
IN IPMI_GET_CHANNEL_INFO_REQUEST *GetChannelInfoRequest,
129+
OUT IPMI_GET_CHANNEL_INFO_RESPONSE *GetChannelInfoResponse,
130+
OUT UINT32 *GetChannelInfoResponseSize
131+
)
132+
);
133+
134+
MOCK_FUNCTION_DECLARATION (
135+
EFI_STATUS,
136+
IpmiGetSystemInterfaceCapability,
137+
(
138+
IN IPMI_GET_SYSTEM_INTERFACE_CAPABILITIES_REQUEST *InterfaceCapabilityRequest,
139+
OUT IPMI_GET_SYSTEM_INTERFACE_CAPABILITIES_RESPONSE *InterfaceCapabilityResponse
140+
)
141+
);
142+
143+
MOCK_FUNCTION_DECLARATION (
144+
EFI_STATUS,
145+
IpmiSolActivating,
146+
(
147+
IN IPMI_SOL_ACTIVATING_REQUEST *SolActivatingRequest,
148+
OUT UINT8 *CompletionCode
149+
)
150+
);
151+
152+
MOCK_FUNCTION_DECLARATION (
153+
EFI_STATUS,
154+
IpmiSetSolConfigurationParameters,
155+
(
156+
IN IPMI_SET_SOL_CONFIGURATION_PARAMETERS_REQUEST *SetConfigurationParametersRequest,
157+
IN UINT32 SetConfigurationParametersRequestSize,
158+
OUT UINT8 *CompletionCode
159+
)
160+
);
161+
162+
MOCK_FUNCTION_DECLARATION (
163+
EFI_STATUS,
164+
IpmiGetSolConfigurationParameters,
165+
(
166+
IN IPMI_GET_SOL_CONFIGURATION_PARAMETERS_REQUEST *GetConfigurationParametersRequest,
167+
OUT IPMI_GET_SOL_CONFIGURATION_PARAMETERS_RESPONSE *GetConfigurationParametersResponse,
168+
IN OUT UINT32 *GetConfigurationParametersResponseSize
169+
)
170+
);
171+
172+
MOCK_FUNCTION_DECLARATION (
173+
EFI_STATUS,
174+
IpmiGetLanConfigurationParameters,
175+
(
176+
IN IPMI_GET_LAN_CONFIGURATION_PARAMETERS_REQUEST *GetLanConfigurationParametersRequest,
177+
OUT IPMI_GET_LAN_CONFIGURATION_PARAMETERS_RESPONSE *GetLanConfigurationParametersResponse,
178+
IN OUT UINT32 *GetLanConfigurationParametersSize
179+
)
180+
);
181+
182+
MOCK_FUNCTION_DECLARATION (
183+
EFI_STATUS,
184+
IpmiGetChassisCapabilities,
185+
(
186+
OUT IPMI_GET_CHASSIS_CAPABILITIES_RESPONSE *GetChassisCapabilitiesResponse
187+
)
188+
);
189+
190+
MOCK_FUNCTION_DECLARATION (
191+
EFI_STATUS,
192+
IpmiGetChassisStatus,
193+
(
194+
OUT IPMI_GET_CHASSIS_STATUS_RESPONSE *GetChassisStatusResponse
195+
)
196+
);
197+
198+
MOCK_FUNCTION_DECLARATION (
199+
EFI_STATUS,
200+
IpmiChassisControl,
201+
(
202+
IN IPMI_CHASSIS_CONTROL_REQUEST *ChassisControlRequest,
203+
OUT UINT8 *CompletionCode
204+
)
205+
);
206+
207+
MOCK_FUNCTION_DECLARATION (
208+
EFI_STATUS,
209+
IpmiSetPowerRestorePolicy,
210+
(
211+
IN IPMI_SET_POWER_RESTORE_POLICY_REQUEST *SetPowerRestireRequest,
212+
OUT IPMI_SET_POWER_RESTORE_POLICY_RESPONSE *SetPowerRestireResponse
213+
)
214+
);
215+
216+
MOCK_FUNCTION_DECLARATION (
217+
EFI_STATUS,
218+
IpmiSetSystemBootOptions,
219+
(
220+
IN IPMI_SET_BOOT_OPTIONS_REQUEST *BootOptionsRequest,
221+
OUT IPMI_SET_BOOT_OPTIONS_RESPONSE *BootOptionsResponse
222+
)
223+
);
224+
225+
MOCK_FUNCTION_DECLARATION (
226+
EFI_STATUS,
227+
IpmiGetSystemBootOptions,
228+
(
229+
IN IPMI_GET_BOOT_OPTIONS_REQUEST *BootOptionsRequest,
230+
OUT IPMI_GET_BOOT_OPTIONS_RESPONSE *BootOptionsResponse
231+
)
232+
);
233+
234+
MOCK_FUNCTION_DECLARATION (
235+
EFI_STATUS,
236+
IpmiGetFruInventoryAreaInfo,
237+
(
238+
IN IPMI_GET_FRU_INVENTORY_AREA_INFO_REQUEST *GetFruInventoryAreaInfoRequest,
239+
OUT IPMI_GET_FRU_INVENTORY_AREA_INFO_RESPONSE *GetFruInventoryAreaInfoResponse
240+
)
241+
);
242+
243+
MOCK_FUNCTION_DECLARATION (
244+
EFI_STATUS,
245+
IpmiReadFruData,
246+
(
247+
IN IPMI_READ_FRU_DATA_REQUEST *ReadFruDataRequest,
248+
OUT IPMI_READ_FRU_DATA_RESPONSE *ReadFruDataResponse,
249+
IN OUT UINT32 *ReadFruDataResponseSize
250+
)
251+
);
252+
253+
MOCK_FUNCTION_DECLARATION (
254+
EFI_STATUS,
255+
IpmiWriteFruData,
256+
(
257+
IN IPMI_WRITE_FRU_DATA_REQUEST *WriteFruDataRequest,
258+
IN UINT32 WriteFruDataRequestSize,
259+
OUT IPMI_WRITE_FRU_DATA_RESPONSE *WriteFruDataResponse
260+
)
261+
);
262+
263+
MOCK_FUNCTION_DECLARATION (
264+
EFI_STATUS,
265+
IpmiGetSelInfo,
266+
(
267+
OUT IPMI_GET_SEL_INFO_RESPONSE *GetSelInfoResponse
268+
)
269+
);
270+
271+
MOCK_FUNCTION_DECLARATION (
272+
EFI_STATUS,
273+
IpmiGetSelEntry,
274+
(
275+
IN IPMI_GET_SEL_ENTRY_REQUEST *GetSelEntryRequest,
276+
OUT IPMI_GET_SEL_ENTRY_RESPONSE *GetSelEntryResponse,
277+
IN OUT UINT32 *GetSelEntryResponseSize
278+
)
279+
);
280+
281+
MOCK_FUNCTION_DECLARATION (
282+
EFI_STATUS,
283+
IpmiAddSelEntry,
284+
(
285+
IN IPMI_ADD_SEL_ENTRY_REQUEST *AddSelEntryRequest,
286+
OUT IPMI_ADD_SEL_ENTRY_RESPONSE *AddSelEntryResponse
287+
)
288+
);
289+
290+
MOCK_FUNCTION_DECLARATION (
291+
EFI_STATUS,
292+
IpmiPartialAddSelEntry,
293+
(
294+
IN IPMI_PARTIAL_ADD_SEL_ENTRY_REQUEST *PartialAddSelEntryRequest,
295+
IN UINT32 PartialAddSelEntryRequestSize,
296+
OUT IPMI_PARTIAL_ADD_SEL_ENTRY_RESPONSE *PartialAddSelEntryResponse
297+
)
298+
);
299+
300+
MOCK_FUNCTION_DECLARATION (
301+
EFI_STATUS,
302+
IpmiClearSel,
303+
(
304+
IN IPMI_CLEAR_SEL_REQUEST *ClearSelRequest,
305+
OUT IPMI_CLEAR_SEL_RESPONSE *ClearSelResponse
306+
)
307+
);
308+
309+
MOCK_FUNCTION_DECLARATION (
310+
EFI_STATUS,
311+
IpmiGetSelTime,
312+
(
313+
OUT IPMI_GET_SEL_TIME_RESPONSE *GetSelTimeResponse
314+
)
315+
);
316+
317+
MOCK_FUNCTION_DECLARATION (
318+
EFI_STATUS,
319+
IpmiSetSelTime,
320+
(
321+
IN IPMI_SET_SEL_TIME_REQUEST *SetSelTimeRequest,
322+
OUT UINT8 *CompletionCode
323+
)
324+
);
325+
326+
MOCK_FUNCTION_DECLARATION (
327+
EFI_STATUS,
328+
IpmiGetSdrRepositoryInfo,
329+
(
330+
OUT IPMI_GET_SDR_REPOSITORY_INFO_RESPONSE *GetSdrRepositoryInfoResp
331+
)
332+
);
333+
334+
MOCK_FUNCTION_DECLARATION (
335+
EFI_STATUS,
336+
IpmiGetSdr,
337+
(
338+
IN IPMI_GET_SDR_REQUEST *GetSdrRequest,
339+
OUT IPMI_GET_SDR_RESPONSE *GetSdrResponse,
340+
IN OUT UINT32 *GetSdrResponseSize
341+
)
342+
);
343+
};
344+
345+
#endif

0 commit comments

Comments
 (0)