diff options
4 files changed, 129 insertions, 0 deletions
diff --git a/MdeModulePkg/Test/MdeModulePkgHostTest.dsc b/MdeModulePkg/Test/MdeModulePkgHostTest.dsc index 5ee505349f..d8b220cd2b 100644 --- a/MdeModulePkg/Test/MdeModulePkgHostTest.dsc +++ b/MdeModulePkg/Test/MdeModulePkgHostTest.dsc @@ -69,3 +69,4 @@ # Build HOST_APPLICATION Libraries
#
MdeModulePkg/Test/Mock/Library/GoogleTest/MockPciHostBridgeLib/MockPciHostBridgeLib.inf
+ MdeModulePkg/Test/Mock/Library/GoogleTest/MockVariablePolicyHelperLib/MockVariablePolicyHelperLib.inf
diff --git a/MdeModulePkg/Test/Mock/Include/GoogleTest/Library/MockVariablePolicyHelperLib.h b/MdeModulePkg/Test/Mock/Include/GoogleTest/Library/MockVariablePolicyHelperLib.h new file mode 100644 index 0000000000..585b1266bf --- /dev/null +++ b/MdeModulePkg/Test/Mock/Include/GoogleTest/Library/MockVariablePolicyHelperLib.h @@ -0,0 +1,81 @@ +/** @file MockVariablePolicyHelper.h
+ Google Test mocks for VariablePolicyHelper
+
+ Copyright (c) Microsoft Corporation.
+ SPDX-License-Identifier: BSD-2-Clause-Patent
+**/
+
+#ifndef MOCK_VARIABLE_POLICY_HELPER_LIB_H_
+#define MOCK_VARIABLE_POLICY_HELPER_LIB_H_
+
+#include <Library/GoogleTestLib.h>
+#include <Library/FunctionMockLib.h>
+extern "C" {
+ #include <Uefi.h>
+ #include <Protocol/VariablePolicy.h>
+}
+
+//
+// Declarations to handle usage of the VariablePolicyHelperLib by creating mock
+//
+struct MockVariablePolicyHelperLib {
+ MOCK_INTERFACE_DECLARATION (MockVariablePolicyHelperLib);
+
+ MOCK_FUNCTION_DECLARATION (
+ EFI_STATUS,
+ CreateBasicVariablePolicy,
+ (IN CONST EFI_GUID *Namespace,
+ IN CONST CHAR16 *Name OPTIONAL,
+ IN UINT32 MinSize,
+ IN UINT32 MaxSize,
+ IN UINT32 AttributesMustHave,
+ IN UINT32 AttributesCantHave,
+ IN UINT8 LockPolicyType,
+ OUT VARIABLE_POLICY_ENTRY **NewEntry)
+ );
+
+ MOCK_FUNCTION_DECLARATION (
+ EFI_STATUS,
+ CreateVarStateVariablePolicy,
+ (IN CONST EFI_GUID *Namespace,
+ IN CONST CHAR16 *Name OPTIONAL,
+ IN UINT32 MinSize,
+ IN UINT32 MaxSize,
+ IN UINT32 AttributesMustHave,
+ IN UINT32 AttributesCantHave,
+ IN CONST EFI_GUID *VarStateNamespace,
+ IN UINT8 VarStateValue,
+ IN CONST CHAR16 *VarStateName,
+ OUT VARIABLE_POLICY_ENTRY **NewEntry)
+ );
+
+ MOCK_FUNCTION_DECLARATION (
+ EFI_STATUS,
+ RegisterBasicVariablePolicy,
+ (IN EDKII_VARIABLE_POLICY_PROTOCOL *VariablePolicy,
+ IN CONST EFI_GUID *Namespace,
+ IN CONST CHAR16 *Name OPTIONAL,
+ IN UINT32 MinSize,
+ IN UINT32 MaxSize,
+ IN UINT32 AttributesMustHave,
+ IN UINT32 AttributesCantHave,
+ IN UINT8 LockPolicyType)
+ );
+
+ MOCK_FUNCTION_DECLARATION (
+ EFI_STATUS,
+ RegisterVarStateVariablePolicy,
+ (IN EDKII_VARIABLE_POLICY_PROTOCOL *VariablePolicy,
+ IN CONST EFI_GUID *Namespace,
+ IN CONST CHAR16 *Name OPTIONAL,
+ IN UINT32 MinSize,
+ IN UINT32 MaxSize,
+ IN UINT32 AttributesMustHave,
+ IN UINT32 AttributesCantHave,
+ IN CONST EFI_GUID *VarStateNamespace,
+ IN CONST CHAR16 *VarStateName,
+ IN UINT8 VarStateValue)
+ );
+};
+
+#endif
diff --git a/MdeModulePkg/Test/Mock/Library/GoogleTest/MockVariablePolicyHelperLib/MockVariablePolicyHelperLib.cpp b/MdeModulePkg/Test/Mock/Library/GoogleTest/MockVariablePolicyHelperLib/MockVariablePolicyHelperLib.cpp new file mode 100644 index 0000000000..413d7b62e0 --- /dev/null +++ b/MdeModulePkg/Test/Mock/Library/GoogleTest/MockVariablePolicyHelperLib/MockVariablePolicyHelperLib.cpp @@ -0,0 +1,14 @@ +/** @file MockVariablePolicyHelperLib.cpp
+ Google Test mocks for VariablePolicyHelperLib
+
+ Copyright (c) Microsoft Corporation.
+ SPDX-License-Identifier: BSD-2-Clause-Patent
+**/
+
+#include <GoogleTest/Library/MockVariablePolicyHelperLib.h>
+
+MOCK_INTERFACE_DEFINITION (MockVariablePolicyHelperLib);
+MOCK_FUNCTION_DEFINITION (MockVariablePolicyHelperLib, CreateBasicVariablePolicy, 8, EFIAPI);
+MOCK_FUNCTION_DEFINITION (MockVariablePolicyHelperLib, CreateVarStateVariablePolicy, 10, EFIAPI);
+MOCK_FUNCTION_DEFINITION (MockVariablePolicyHelperLib, RegisterBasicVariablePolicy, 8, EFIAPI);
+MOCK_FUNCTION_DEFINITION (MockVariablePolicyHelperLib, RegisterVarStateVariablePolicy, 10, EFIAPI);
diff --git a/MdeModulePkg/Test/Mock/Library/GoogleTest/MockVariablePolicyHelperLib/MockVariablePolicyHelperLib.inf b/MdeModulePkg/Test/Mock/Library/GoogleTest/MockVariablePolicyHelperLib/MockVariablePolicyHelperLib.inf new file mode 100644 index 0000000000..82faba5a23 --- /dev/null +++ b/MdeModulePkg/Test/Mock/Library/GoogleTest/MockVariablePolicyHelperLib/MockVariablePolicyHelperLib.inf @@ -0,0 +1,33 @@ +## @file MockVariablePolicyHelperLib.inf
+# Mock Variable Policy Library implementation.
+#
+# Copyright (c) Microsoft Corporation.
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+##
+
+[Defines]
+ INF_VERSION = 0x00010005
+ BASE_NAME = MockVariablePolicyHelperLib
+ FILE_GUID = 251633CE-1FE7-4500-BF0A-CF3B2B52B9EE
+ MODULE_TYPE = HOST_APPLICATION
+ VERSION_STRING = 1.0
+ LIBRARY_CLASS = VariablePolicyHelperLib
+ PI_SPECIFICATION_VERSION = 0x0001000A
+
+#
+# VALID_ARCHITECTURES = IA32 X64
+#
+
+[Sources]
+ MockVariablePolicyHelperLib.cpp
+
+[Packages]
+ MdePkg/MdePkg.dec
+ MdeModulePkg/MdeModulePkg.dec
+ UnitTestFrameworkPkg/UnitTestFrameworkPkg.dec
+
+[LibraryClasses]
+ GoogleTestLib
+
+[BuildOptions]
+ MSFT:*_*_*_CC_FLAGS = /EHsc
|