From 0d61f52fe31c86936c5b4268effddad7241c811e Mon Sep 17 00:00:00 2001 From: Kane Chen Date: Thu, 5 Dec 2024 15:46:21 +0800 Subject: Add MockVariablePolicyHelperLib Signed-off-by: Kane Chen --- MdeModulePkg/Test/MdeModulePkgHostTest.dsc | 1 + .../Library/MockVariablePolicyHelperLib.h | 81 ++++++++++++++++++++++ .../MockVariablePolicyHelperLib.cpp | 14 ++++ .../MockVariablePolicyHelperLib.inf | 33 +++++++++ 4 files changed, 129 insertions(+) create mode 100644 MdeModulePkg/Test/Mock/Include/GoogleTest/Library/MockVariablePolicyHelperLib.h create mode 100644 MdeModulePkg/Test/Mock/Library/GoogleTest/MockVariablePolicyHelperLib/MockVariablePolicyHelperLib.cpp create mode 100644 MdeModulePkg/Test/Mock/Library/GoogleTest/MockVariablePolicyHelperLib/MockVariablePolicyHelperLib.inf 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 +#include +extern "C" { + #include + #include +} + +// +// 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 + +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 -- cgit