Skip to content

Commit b81f9d4

Browse files
committed
MdePkg: Add FdtLib gmock support
Add Google Mock Library for FdtLib Jira TEGRAUEFI-3105 Signed-off-by: Jeff Brasen <[email protected]> Change-Id: I96b74688b50ff555ca77b58f239ecc0f493cb118
1 parent 1063665 commit b81f9d4

File tree

4 files changed

+227
-0
lines changed

4 files changed

+227
-0
lines changed

MdePkg/Test/MdePkgHostTest.dsc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,3 +45,4 @@
4545
MdePkg/Test/Mock/Library/GoogleTest/MockUefiRuntimeServicesTableLib/MockUefiRuntimeServicesTableLib.inf
4646
MdePkg/Test/Mock/Library/GoogleTest/MockPeiServicesLib/MockPeiServicesLib.inf
4747
MdePkg/Test/Mock/Library/GoogleTest/MockHobLib/MockHobLib.inf
48+
MdePkg/Test/Mock/Library/GoogleTest/MockFdtLib/MockFdtLib.inf
Lines changed: 164 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,164 @@
1+
/** @file
2+
Google Test mocks for FdtLib
3+
4+
Copyright (c) 2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
5+
Copyright (c) 2023, Intel Corporation. All rights reserved.
6+
SPDX-License-Identifier: BSD-2-Clause-Patent
7+
**/
8+
9+
#ifndef MOCK_FDT_LIB_H_
10+
#define MOCK_FDT_LIB_H_
11+
12+
#include <Library/GoogleTestLib.h>
13+
#include <Library/FunctionMockLib.h>
14+
extern "C" {
15+
#include <Base.h>
16+
#include <Library/FdtLib.h>
17+
}
18+
19+
struct MockFdtLib {
20+
MOCK_INTERFACE_DECLARATION (MockFdtLib);
21+
22+
MOCK_FUNCTION_DECLARATION (
23+
UINT16,
24+
Fdt16ToCpu,
25+
(IN UINT16 Value)
26+
);
27+
MOCK_FUNCTION_DECLARATION (
28+
UINT16,
29+
CpuToFdt16,
30+
(IN UINT16 Value)
31+
);
32+
MOCK_FUNCTION_DECLARATION (
33+
UINT32,
34+
Fdt32ToCpu,
35+
(IN UINT32 Value)
36+
);
37+
MOCK_FUNCTION_DECLARATION (
38+
UINT32,
39+
CpuToFdt32,
40+
(IN UINT32 Value)
41+
);
42+
MOCK_FUNCTION_DECLARATION (
43+
UINT64,
44+
Fdt64ToCpu,
45+
(IN UINT64 Value)
46+
);
47+
MOCK_FUNCTION_DECLARATION (
48+
UINT64,
49+
CpuToFdt64,
50+
(IN UINT64 Value)
51+
);
52+
MOCK_FUNCTION_DECLARATION (
53+
INT32,
54+
FdtCheckHeader,
55+
(IN CONST VOID *Fdt)
56+
);
57+
MOCK_FUNCTION_DECLARATION (
58+
INT32,
59+
FdtCreateEmptyTree,
60+
(IN VOID *Buffer,
61+
IN UINT32 BufferSize)
62+
);
63+
MOCK_FUNCTION_DECLARATION (
64+
INT32,
65+
FdtNextNode,
66+
(IN CONST VOID *Fdt,
67+
IN INT32 Offset,
68+
IN INT32 *Depth)
69+
);
70+
MOCK_FUNCTION_DECLARATION (
71+
INT32,
72+
FdtFirstSubnode,
73+
(IN CONST VOID *Fdt,
74+
IN INT32 Offset)
75+
);
76+
MOCK_FUNCTION_DECLARATION (
77+
INT32,
78+
FdtNextSubnode,
79+
(IN CONST VOID *Fdt,
80+
IN INT32 Offset)
81+
);
82+
MOCK_FUNCTION_DECLARATION (
83+
INT32,
84+
FdtSubnodeOffsetNameLen,
85+
(IN CONST VOID *Fdt,
86+
IN INT32 ParentOffset,
87+
IN CONST CHAR8 *Name,
88+
IN INT32 NameLength)
89+
);
90+
MOCK_FUNCTION_DECLARATION (
91+
INT32,
92+
FdtNodeOffsetByPropValue,
93+
(IN CONST VOID *Fdt,
94+
IN INT32 StartOffset,
95+
IN CONST CHAR8 *PropertyName,
96+
IN CONST VOID *PropertyValue,
97+
IN INT32 PropertyLength)
98+
);
99+
MOCK_FUNCTION_DECLARATION (
100+
CONST FDT_PROPERTY *,
101+
FdtGetProperty,
102+
(IN CONST VOID *Fdt,
103+
IN INT32 NodeOffset,
104+
IN CONST CHAR8 *Name,
105+
IN INT32 *Length)
106+
);
107+
MOCK_FUNCTION_DECLARATION (
108+
INT32,
109+
FdtFirstPropertyOffset,
110+
(IN CONST VOID *Fdt,
111+
IN INT32 NodeOffset)
112+
);
113+
MOCK_FUNCTION_DECLARATION (
114+
INT32,
115+
FdtNextPropertyOffset,
116+
(IN CONST VOID *Fdt,
117+
IN INT32 NodeOffset)
118+
);
119+
MOCK_FUNCTION_DECLARATION (
120+
CONST FDT_PROPERTY *,
121+
FdtGetPropertyByOffset,
122+
(IN CONST VOID *Fdt,
123+
IN INT32 Offset,
124+
IN INT32 *Length)
125+
);
126+
MOCK_FUNCTION_DECLARATION (
127+
CONST CHAR8 *,
128+
FdtGetString,
129+
(IN CONST VOID *Fdt,
130+
IN INT32 StrOffset,
131+
IN INT32 *Length OPTIONAL)
132+
);
133+
MOCK_FUNCTION_DECLARATION (
134+
INT32,
135+
FdtAddSubnode,
136+
(IN VOID *Fdt,
137+
IN INT32 ParentOffset,
138+
IN CONST CHAR8 *Name)
139+
);
140+
MOCK_FUNCTION_DECLARATION (
141+
INT32,
142+
FdtSetProp,
143+
(IN VOID *Fdt,
144+
IN INT32 NodeOffset,
145+
IN CONST CHAR8 *Name,
146+
IN CONST VOID *Value,
147+
IN UINT32 Length)
148+
);
149+
MOCK_FUNCTION_DECLARATION (
150+
CONST CHAR8 *,
151+
FdtGetName,
152+
(IN VOID *Fdt,
153+
IN INT32 NodeOffset,
154+
IN INT32 *Length)
155+
);
156+
MOCK_FUNCTION_DECLARATION (
157+
INT32,
158+
FdtNodeDepth,
159+
(IN CONST VOID *Fdt,
160+
IN INT32 NodeOffset)
161+
);
162+
};
163+
164+
#endif
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
/** @file
2+
Google Test mocks for FdtLib
3+
4+
Copyright (c) 2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
5+
Copyright (c) 2023, Intel Corporation. All rights reserved.
6+
SPDX-License-Identifier: BSD-2-Clause-Patent
7+
**/
8+
9+
#include <GoogleTest/Library/MockFdtLib.h>
10+
11+
MOCK_INTERFACE_DEFINITION (MockFdtLib);
12+
13+
MOCK_FUNCTION_DEFINITION (MockFdtLib, Fdt16ToCpu, 1, EFIAPI);
14+
MOCK_FUNCTION_DEFINITION (MockFdtLib, CpuToFdt16, 1, EFIAPI);
15+
MOCK_FUNCTION_DEFINITION (MockFdtLib, Fdt32ToCpu, 1, EFIAPI);
16+
MOCK_FUNCTION_DEFINITION (MockFdtLib, CpuToFdt32, 1, EFIAPI);
17+
MOCK_FUNCTION_DEFINITION (MockFdtLib, Fdt64ToCpu, 1, EFIAPI);
18+
MOCK_FUNCTION_DEFINITION (MockFdtLib, CpuToFdt64, 1, EFIAPI);
19+
MOCK_FUNCTION_DEFINITION (MockFdtLib, FdtCheckHeader, 1, EFIAPI);
20+
MOCK_FUNCTION_DEFINITION (MockFdtLib, FdtCreateEmptyTree, 2, EFIAPI);
21+
MOCK_FUNCTION_DEFINITION (MockFdtLib, FdtNextNode, 3, EFIAPI);
22+
MOCK_FUNCTION_DEFINITION (MockFdtLib, FdtFirstSubnode, 2, EFIAPI);
23+
MOCK_FUNCTION_DEFINITION (MockFdtLib, FdtNextSubnode, 2, EFIAPI);
24+
MOCK_FUNCTION_DEFINITION (MockFdtLib, FdtSubnodeOffsetNameLen, 4, EFIAPI);
25+
MOCK_FUNCTION_DEFINITION (MockFdtLib, FdtNodeOffsetByPropValue, 5, EFIAPI);
26+
MOCK_FUNCTION_DEFINITION (MockFdtLib, FdtGetProperty, 4, EFIAPI);
27+
MOCK_FUNCTION_DEFINITION (MockFdtLib, FdtFirstPropertyOffset, 2, EFIAPI);
28+
MOCK_FUNCTION_DEFINITION (MockFdtLib, FdtNextPropertyOffset, 2, EFIAPI);
29+
MOCK_FUNCTION_DEFINITION (MockFdtLib, FdtGetPropertyByOffset, 3, EFIAPI);
30+
MOCK_FUNCTION_DEFINITION (MockFdtLib, FdtGetString, 3, EFIAPI);
31+
MOCK_FUNCTION_DEFINITION (MockFdtLib, FdtAddSubnode, 3, EFIAPI);
32+
MOCK_FUNCTION_DEFINITION (MockFdtLib, FdtSetProp, 5, EFIAPI);
33+
MOCK_FUNCTION_DEFINITION (MockFdtLib, FdtGetName, 3, EFIAPI);
34+
MOCK_FUNCTION_DEFINITION (MockFdtLib, FdtNodeDepth, 2, EFIAPI);
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
## @file
2+
# Google Test mocks for FdtLib
3+
#
4+
# Copyright (c) 2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
5+
# Copyright (c) 2023, Intel Corporation. All rights reserved.
6+
# SPDX-License-Identifier: BSD-2-Clause-Patent
7+
##
8+
9+
[Defines]
10+
INF_VERSION = 0x00010005
11+
BASE_NAME = MockFdtLib
12+
FILE_GUID = 0f5471bc-fc2c-4cf4-b9f7-c1396d32831c
13+
MODULE_TYPE = HOST_APPLICATION
14+
VERSION_STRING = 1.0
15+
LIBRARY_CLASS = FdtLib
16+
17+
[Sources]
18+
MockFdtLib.cpp
19+
20+
[Packages]
21+
MdePkg/MdePkg.dec
22+
UnitTestFrameworkPkg/UnitTestFrameworkPkg.dec
23+
24+
[LibraryClasses]
25+
GoogleTestLib
26+
27+
[BuildOptions]
28+
MSFT:*_*_*_CC_FLAGS = /EHsc /bigobj

0 commit comments

Comments
 (0)