Skip to content

Commit 0d61f52

Browse files
kanechen66mergify[bot]
authored andcommitted
Add MockVariablePolicyHelperLib
Signed-off-by: Kane Chen <[email protected]>
1 parent 2b3ea93 commit 0d61f52

File tree

4 files changed

+129
-0
lines changed

4 files changed

+129
-0
lines changed

MdeModulePkg/Test/MdeModulePkgHostTest.dsc

+1
Original file line numberDiff line numberDiff line change
@@ -69,3 +69,4 @@
6969
# Build HOST_APPLICATION Libraries
7070
#
7171
MdeModulePkg/Test/Mock/Library/GoogleTest/MockPciHostBridgeLib/MockPciHostBridgeLib.inf
72+
MdeModulePkg/Test/Mock/Library/GoogleTest/MockVariablePolicyHelperLib/MockVariablePolicyHelperLib.inf
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
/** @file MockVariablePolicyHelper.h
2+
Google Test mocks for VariablePolicyHelper
3+
4+
Copyright (c) Microsoft Corporation.
5+
SPDX-License-Identifier: BSD-2-Clause-Patent
6+
**/
7+
8+
#ifndef MOCK_VARIABLE_POLICY_HELPER_LIB_H_
9+
#define MOCK_VARIABLE_POLICY_HELPER_LIB_H_
10+
11+
#include <Library/GoogleTestLib.h>
12+
#include <Library/FunctionMockLib.h>
13+
extern "C" {
14+
#include <Uefi.h>
15+
#include <Protocol/VariablePolicy.h>
16+
}
17+
18+
//
19+
// Declarations to handle usage of the VariablePolicyHelperLib by creating mock
20+
//
21+
struct MockVariablePolicyHelperLib {
22+
MOCK_INTERFACE_DECLARATION (MockVariablePolicyHelperLib);
23+
24+
MOCK_FUNCTION_DECLARATION (
25+
EFI_STATUS,
26+
CreateBasicVariablePolicy,
27+
(IN CONST EFI_GUID *Namespace,
28+
IN CONST CHAR16 *Name OPTIONAL,
29+
IN UINT32 MinSize,
30+
IN UINT32 MaxSize,
31+
IN UINT32 AttributesMustHave,
32+
IN UINT32 AttributesCantHave,
33+
IN UINT8 LockPolicyType,
34+
OUT VARIABLE_POLICY_ENTRY **NewEntry)
35+
);
36+
37+
MOCK_FUNCTION_DECLARATION (
38+
EFI_STATUS,
39+
CreateVarStateVariablePolicy,
40+
(IN CONST EFI_GUID *Namespace,
41+
IN CONST CHAR16 *Name OPTIONAL,
42+
IN UINT32 MinSize,
43+
IN UINT32 MaxSize,
44+
IN UINT32 AttributesMustHave,
45+
IN UINT32 AttributesCantHave,
46+
IN CONST EFI_GUID *VarStateNamespace,
47+
IN UINT8 VarStateValue,
48+
IN CONST CHAR16 *VarStateName,
49+
OUT VARIABLE_POLICY_ENTRY **NewEntry)
50+
);
51+
52+
MOCK_FUNCTION_DECLARATION (
53+
EFI_STATUS,
54+
RegisterBasicVariablePolicy,
55+
(IN EDKII_VARIABLE_POLICY_PROTOCOL *VariablePolicy,
56+
IN CONST EFI_GUID *Namespace,
57+
IN CONST CHAR16 *Name OPTIONAL,
58+
IN UINT32 MinSize,
59+
IN UINT32 MaxSize,
60+
IN UINT32 AttributesMustHave,
61+
IN UINT32 AttributesCantHave,
62+
IN UINT8 LockPolicyType)
63+
);
64+
65+
MOCK_FUNCTION_DECLARATION (
66+
EFI_STATUS,
67+
RegisterVarStateVariablePolicy,
68+
(IN EDKII_VARIABLE_POLICY_PROTOCOL *VariablePolicy,
69+
IN CONST EFI_GUID *Namespace,
70+
IN CONST CHAR16 *Name OPTIONAL,
71+
IN UINT32 MinSize,
72+
IN UINT32 MaxSize,
73+
IN UINT32 AttributesMustHave,
74+
IN UINT32 AttributesCantHave,
75+
IN CONST EFI_GUID *VarStateNamespace,
76+
IN CONST CHAR16 *VarStateName,
77+
IN UINT8 VarStateValue)
78+
);
79+
};
80+
81+
#endif
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
/** @file MockVariablePolicyHelperLib.cpp
2+
Google Test mocks for VariablePolicyHelperLib
3+
4+
Copyright (c) Microsoft Corporation.
5+
SPDX-License-Identifier: BSD-2-Clause-Patent
6+
**/
7+
8+
#include <GoogleTest/Library/MockVariablePolicyHelperLib.h>
9+
10+
MOCK_INTERFACE_DEFINITION (MockVariablePolicyHelperLib);
11+
MOCK_FUNCTION_DEFINITION (MockVariablePolicyHelperLib, CreateBasicVariablePolicy, 8, EFIAPI);
12+
MOCK_FUNCTION_DEFINITION (MockVariablePolicyHelperLib, CreateVarStateVariablePolicy, 10, EFIAPI);
13+
MOCK_FUNCTION_DEFINITION (MockVariablePolicyHelperLib, RegisterBasicVariablePolicy, 8, EFIAPI);
14+
MOCK_FUNCTION_DEFINITION (MockVariablePolicyHelperLib, RegisterVarStateVariablePolicy, 10, EFIAPI);
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
## @file MockVariablePolicyHelperLib.inf
2+
# Mock Variable Policy Library implementation.
3+
#
4+
# Copyright (c) Microsoft Corporation.
5+
# SPDX-License-Identifier: BSD-2-Clause-Patent
6+
##
7+
8+
[Defines]
9+
INF_VERSION = 0x00010005
10+
BASE_NAME = MockVariablePolicyHelperLib
11+
FILE_GUID = 251633CE-1FE7-4500-BF0A-CF3B2B52B9EE
12+
MODULE_TYPE = HOST_APPLICATION
13+
VERSION_STRING = 1.0
14+
LIBRARY_CLASS = VariablePolicyHelperLib
15+
PI_SPECIFICATION_VERSION = 0x0001000A
16+
17+
#
18+
# VALID_ARCHITECTURES = IA32 X64
19+
#
20+
21+
[Sources]
22+
MockVariablePolicyHelperLib.cpp
23+
24+
[Packages]
25+
MdePkg/MdePkg.dec
26+
MdeModulePkg/MdeModulePkg.dec
27+
UnitTestFrameworkPkg/UnitTestFrameworkPkg.dec
28+
29+
[LibraryClasses]
30+
GoogleTestLib
31+
32+
[BuildOptions]
33+
MSFT:*_*_*_CC_FLAGS = /EHsc

0 commit comments

Comments
 (0)