diff options
Diffstat (limited to 'MdePkg/Test/Mock/Include/GoogleTest/Library')
11 files changed, 1668 insertions, 0 deletions
diff --git a/MdePkg/Test/Mock/Include/GoogleTest/Library/MockCpuLib.h b/MdePkg/Test/Mock/Include/GoogleTest/Library/MockCpuLib.h new file mode 100644 index 000000000000..f4fd0d5941fa --- /dev/null +++ b/MdePkg/Test/Mock/Include/GoogleTest/Library/MockCpuLib.h @@ -0,0 +1,64 @@ +/** @file MockCpuLib.h + Google Test mocks for the CPU Library + + Copyright (c) Microsoft Corporation. + SPDX-License-Identifier: BSD-2-Clause-Patent +**/ + +#ifndef MOCK_CPU_LIB_H_ +#define MOCK_CPU_LIB_H_ + +#include <Library/GoogleTestLib.h> +#include <Library/FunctionMockLib.h> + +extern "C" { + #include <Uefi.h> +} + +struct MockCpuLib { + MOCK_INTERFACE_DECLARATION (MockCpuLib); + + MOCK_FUNCTION_DECLARATION ( + VOID, + CpuSleep, + ( + ) + ); + + MOCK_FUNCTION_DECLARATION ( + VOID, + CpuFlushTlb, + ( + ) + ); + + MOCK_FUNCTION_DECLARATION ( + VOID, + InitializeFloatingPointUnits, + ( + ) + ); + + MOCK_FUNCTION_DECLARATION ( + BOOLEAN, + StandardSignatureIsAuthenticAMD, + ( + ) + ); + + MOCK_FUNCTION_DECLARATION ( + UINT32, + GetCpuFamilyModel, + ( + ) + ); + + MOCK_FUNCTION_DECLARATION ( + UINT8, + GetCpuSteppingId, + ( + ) + ); +}; + +#endif diff --git a/MdePkg/Test/Mock/Include/GoogleTest/Library/MockFdtLib.h b/MdePkg/Test/Mock/Include/GoogleTest/Library/MockFdtLib.h new file mode 100644 index 000000000000..87ba35373990 --- /dev/null +++ b/MdePkg/Test/Mock/Include/GoogleTest/Library/MockFdtLib.h @@ -0,0 +1,164 @@ +/** @file + Google Test mocks for FdtLib + + Copyright (c) 2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved. + Copyright (c) 2023, Intel Corporation. All rights reserved. + SPDX-License-Identifier: BSD-2-Clause-Patent +**/ + +#ifndef MOCK_FDT_LIB_H_ +#define MOCK_FDT_LIB_H_ + +#include <Library/GoogleTestLib.h> +#include <Library/FunctionMockLib.h> +extern "C" { + #include <Base.h> + #include <Library/FdtLib.h> +} + +struct MockFdtLib { + MOCK_INTERFACE_DECLARATION (MockFdtLib); + + MOCK_FUNCTION_DECLARATION ( + UINT16, + Fdt16ToCpu, + (IN UINT16 Value) + ); + MOCK_FUNCTION_DECLARATION ( + UINT16, + CpuToFdt16, + (IN UINT16 Value) + ); + MOCK_FUNCTION_DECLARATION ( + UINT32, + Fdt32ToCpu, + (IN UINT32 Value) + ); + MOCK_FUNCTION_DECLARATION ( + UINT32, + CpuToFdt32, + (IN UINT32 Value) + ); + MOCK_FUNCTION_DECLARATION ( + UINT64, + Fdt64ToCpu, + (IN UINT64 Value) + ); + MOCK_FUNCTION_DECLARATION ( + UINT64, + CpuToFdt64, + (IN UINT64 Value) + ); + MOCK_FUNCTION_DECLARATION ( + INT32, + FdtCheckHeader, + (IN CONST VOID *Fdt) + ); + MOCK_FUNCTION_DECLARATION ( + INT32, + FdtCreateEmptyTree, + (IN VOID *Buffer, + IN UINT32 BufferSize) + ); + MOCK_FUNCTION_DECLARATION ( + INT32, + FdtNextNode, + (IN CONST VOID *Fdt, + IN INT32 Offset, + IN INT32 *Depth) + ); + MOCK_FUNCTION_DECLARATION ( + INT32, + FdtFirstSubnode, + (IN CONST VOID *Fdt, + IN INT32 Offset) + ); + MOCK_FUNCTION_DECLARATION ( + INT32, + FdtNextSubnode, + (IN CONST VOID *Fdt, + IN INT32 Offset) + ); + MOCK_FUNCTION_DECLARATION ( + INT32, + FdtSubnodeOffsetNameLen, + (IN CONST VOID *Fdt, + IN INT32 ParentOffset, + IN CONST CHAR8 *Name, + IN INT32 NameLength) + ); + MOCK_FUNCTION_DECLARATION ( + INT32, + FdtNodeOffsetByPropertyValue, + (IN CONST VOID *Fdt, + IN INT32 StartOffset, + IN CONST CHAR8 *PropertyName, + IN CONST VOID *PropertyValue, + IN INT32 PropertyLength) + ); + MOCK_FUNCTION_DECLARATION ( + CONST FDT_PROPERTY *, + FdtGetProperty, + (IN CONST VOID *Fdt, + IN INT32 NodeOffset, + IN CONST CHAR8 *Name, + IN INT32 *Length) + ); + MOCK_FUNCTION_DECLARATION ( + INT32, + FdtFirstPropertyOffset, + (IN CONST VOID *Fdt, + IN INT32 NodeOffset) + ); + MOCK_FUNCTION_DECLARATION ( + INT32, + FdtNextPropertyOffset, + (IN CONST VOID *Fdt, + IN INT32 NodeOffset) + ); + MOCK_FUNCTION_DECLARATION ( + CONST FDT_PROPERTY *, + FdtGetPropertyByOffset, + (IN CONST VOID *Fdt, + IN INT32 Offset, + IN INT32 *Length) + ); + MOCK_FUNCTION_DECLARATION ( + CONST CHAR8 *, + FdtGetString, + (IN CONST VOID *Fdt, + IN INT32 StrOffset, + IN INT32 *Length OPTIONAL) + ); + MOCK_FUNCTION_DECLARATION ( + INT32, + FdtAddSubnode, + (IN VOID *Fdt, + IN INT32 ParentOffset, + IN CONST CHAR8 *Name) + ); + MOCK_FUNCTION_DECLARATION ( + INT32, + FdtSetProperty, + (IN VOID *Fdt, + IN INT32 NodeOffset, + IN CONST CHAR8 *Name, + IN CONST VOID *Value, + IN UINT32 Length) + ); + MOCK_FUNCTION_DECLARATION ( + CONST CHAR8 *, + FdtGetName, + (IN VOID *Fdt, + IN INT32 NodeOffset, + IN INT32 *Length) + ); + MOCK_FUNCTION_DECLARATION ( + INT32, + FdtNodeDepth, + (IN CONST VOID *Fdt, + IN INT32 NodeOffset) + ); +}; + +#endif diff --git a/MdePkg/Test/Mock/Include/GoogleTest/Library/MockHobLib.h b/MdePkg/Test/Mock/Include/GoogleTest/Library/MockHobLib.h new file mode 100644 index 000000000000..b2177126b814 --- /dev/null +++ b/MdePkg/Test/Mock/Include/GoogleTest/Library/MockHobLib.h @@ -0,0 +1,150 @@ +/** @file + Google Test mocks for HobLib + + Copyright (c) 2023, Intel Corporation. All rights reserved. + SPDX-License-Identifier: BSD-2-Clause-Patent +**/ + +#ifndef MOCK_HOB_LIB_H_ +#define MOCK_HOB_LIB_H_ + +#include <Library/GoogleTestLib.h> +#include <Library/FunctionMockLib.h> +extern "C" { + #include <Pi/PiMultiPhase.h> + #include <Uefi.h> + #include <Library/HobLib.h> +} + +struct MockHobLib { + MOCK_INTERFACE_DECLARATION (MockHobLib); + + MOCK_FUNCTION_DECLARATION ( + VOID *, + GetHobList, + () + ); + MOCK_FUNCTION_DECLARATION ( + VOID *, + GetNextHob, + (IN UINT16 Type, + IN CONST VOID *HobStart) + ); + MOCK_FUNCTION_DECLARATION ( + VOID *, + GetFirstHob, + (IN UINT16 Type) + ); + MOCK_FUNCTION_DECLARATION ( + VOID *, + GetNextGuidHob, + (IN CONST EFI_GUID *Guid, + IN CONST VOID *HobStart) + ); + MOCK_FUNCTION_DECLARATION ( + VOID *, + GetFirstGuidHob, + (IN CONST EFI_GUID *Guid) + ); + MOCK_FUNCTION_DECLARATION ( + EFI_BOOT_MODE, + GetBootModeHob, + () + ); + MOCK_FUNCTION_DECLARATION ( + VOID, + BuildModuleHob, + (IN CONST EFI_GUID *ModuleName, + IN EFI_PHYSICAL_ADDRESS MemoryAllocationModule, + IN UINT64 ModuleLength, + IN EFI_PHYSICAL_ADDRESS EntryPoint) + ); + MOCK_FUNCTION_DECLARATION ( + VOID, + BuildResourceDescriptorWithOwnerHob, + (IN EFI_RESOURCE_TYPE ResourceType, + IN EFI_RESOURCE_ATTRIBUTE_TYPE ResourceAttribute, + IN EFI_PHYSICAL_ADDRESS PhysicalStart, + IN UINT64 NumberOfBytes, + IN EFI_GUID *OwnerGUID) + ); + MOCK_FUNCTION_DECLARATION ( + VOID, + BuildResourceDescriptorHob, + (IN EFI_RESOURCE_TYPE ResourceType, + IN EFI_RESOURCE_ATTRIBUTE_TYPE ResourceAttribute, + IN EFI_PHYSICAL_ADDRESS PhysicalStart, + IN UINT64 NumberOfBytes) + ); + MOCK_FUNCTION_DECLARATION ( + VOID *, + BuildGuidHob, + (IN CONST EFI_GUID *Guid, + IN UINTN DataLength) + ); + MOCK_FUNCTION_DECLARATION ( + VOID *, + BuildGuidDataHob, + (IN CONST EFI_GUID *Guid, + IN VOID *Data, + IN UINTN DataLength) + ); + MOCK_FUNCTION_DECLARATION ( + VOID, + BuildFvHob, + (IN EFI_PHYSICAL_ADDRESS BaseAddress, + IN UINT64 Length) + ); + MOCK_FUNCTION_DECLARATION ( + VOID, + BuildFv2Hob, + (IN EFI_PHYSICAL_ADDRESS BaseAddress, + IN UINT64 Length, + IN CONST EFI_GUID *FvName, + IN CONST EFI_GUID *FileName) + ); + MOCK_FUNCTION_DECLARATION ( + VOID, + BuildFv3Hob, + (IN EFI_PHYSICAL_ADDRESS BaseAddress, + IN UINT64 Length, + IN UINT32 AuthenticationStatus, + IN BOOLEAN ExtractedFv, + IN CONST EFI_GUID *FvName OPTIONAL, + IN CONST EFI_GUID *FileName OPTIONAL) + ); + MOCK_FUNCTION_DECLARATION ( + VOID, + BuildCvHob, + (IN EFI_PHYSICAL_ADDRESS BaseAddress, + IN UINT64 Length) + ); + MOCK_FUNCTION_DECLARATION ( + VOID, + BuildCpuHob, + (IN UINT8 SizeOfMemorySpace, + IN UINT8 SizeOfIoSpace) + ); + MOCK_FUNCTION_DECLARATION ( + VOID, + BuildStackHob, + (IN EFI_PHYSICAL_ADDRESS BaseAddress, + IN UINT64 Length) + ); + MOCK_FUNCTION_DECLARATION ( + VOID, + BuildBspStoreHob, + (IN EFI_PHYSICAL_ADDRESS BaseAddress, + IN UINT64 Length, + IN EFI_MEMORY_TYPE MemoryType) + ); + MOCK_FUNCTION_DECLARATION ( + VOID, + BuildMemoryAllocationHob, + (IN EFI_PHYSICAL_ADDRESS BaseAddress, + IN UINT64 Length, + IN EFI_MEMORY_TYPE MemoryType) + ); +}; + +#endif diff --git a/MdePkg/Test/Mock/Include/GoogleTest/Library/MockPciSegmentLib.h b/MdePkg/Test/Mock/Include/GoogleTest/Library/MockPciSegmentLib.h new file mode 100644 index 000000000000..1859f73864b7 --- /dev/null +++ b/MdePkg/Test/Mock/Include/GoogleTest/Library/MockPciSegmentLib.h @@ -0,0 +1,350 @@ +/** @file MockPciSegmentLib.h + Google Test mocks for PciSegmentLib + + Copyright (c) Microsoft Corporation. + SPDX-License-Identifier: BSD-2-Clause-Patent +**/ + +#ifndef MOCK_PCISEGMENTLIB_H_ +#define MOCK_PCISEGMENTLIB_H_ + +#include <Library/GoogleTestLib.h> +#include <Library/FunctionMockLib.h> + +extern "C" { + #include <Uefi.h> +} + +struct MockPciSegmentLib { + MOCK_INTERFACE_DECLARATION (MockPciSegmentLib); + + MOCK_FUNCTION_DECLARATION ( + RETURN_STATUS, + PciSegmentRegisterForRuntimeAccess, + ( + IN UINTN Address + ) + ); + + MOCK_FUNCTION_DECLARATION ( + UINT8, + PciSegmentRead8, + ( + IN UINT64 Address + ) + ); + + MOCK_FUNCTION_DECLARATION ( + UINT8, + PciSegmentWrite8, + ( + IN UINT64 Address, + IN UINT8 Value + ) + ); + + MOCK_FUNCTION_DECLARATION ( + UINT8, + PciSegmentOr8, + ( + IN UINT64 Address, + IN UINT8 OrData + ) + ); + + MOCK_FUNCTION_DECLARATION ( + UINT8, + PciSegmentAnd8, + ( + IN UINT64 Address, + IN UINT8 AndData + ) + ); + + MOCK_FUNCTION_DECLARATION ( + UINT8, + PciSegmentAndThenOr8, + ( + IN UINT64 Address, + IN UINT8 AndData, + IN UINT8 OrData + ) + ); + + MOCK_FUNCTION_DECLARATION ( + UINT8, + PciSegmentBitFieldRead8, + ( + IN UINT64 Address, + IN UINTN StartBit, + IN UINTN EndBit + ) + ); + + MOCK_FUNCTION_DECLARATION ( + UINT8, + PciSegmentBitFieldWrite8, + ( + IN UINT64 Address, + IN UINTN StartBit, + IN UINTN EndBit, + IN UINT8 Value + ) + ); + + MOCK_FUNCTION_DECLARATION ( + UINT8, + PciSegmentBitFieldOr8, + ( + IN UINT64 Address, + IN UINTN StartBit, + IN UINTN EndBit, + IN UINT8 OrData + ) + ); + + MOCK_FUNCTION_DECLARATION ( + UINT8, + PciSegmentBitFieldAnd8, + ( + IN UINT64 Address, + IN UINTN StartBit, + IN UINTN EndBit, + IN UINT8 AndData + ) + ); + + MOCK_FUNCTION_DECLARATION ( + UINT8, + PciSegmentBitFieldAndThenOr8, + ( + IN UINT64 Address, + IN UINTN StartBit, + IN UINTN EndBit, + IN UINT8 AndData, + IN UINT8 OrData + ) + ); + + MOCK_FUNCTION_DECLARATION ( + UINT16, + PciSegmentRead16, + ( + IN UINT64 Address + ) + ); + + MOCK_FUNCTION_DECLARATION ( + UINT16, + PciSegmentWrite16, + ( + IN UINT64 Address, + IN UINT16 Value + ) + ); + + MOCK_FUNCTION_DECLARATION ( + UINT16, + PciSegmentOr16, + ( + IN UINT64 Address, + IN UINT16 OrData + ) + ); + + MOCK_FUNCTION_DECLARATION ( + UINT16, + PciSegmentAnd16, + ( + IN UINT64 Address, + IN UINT16 AndData + ) + ); + + MOCK_FUNCTION_DECLARATION ( + UINT16, + PciSegmentAndThenOr16, + ( + IN UINT64 Address, + IN UINT16 AndData, + IN UINT16 OrData + ) + ); + + MOCK_FUNCTION_DECLARATION ( + UINT16, + PciSegmentBitFieldRead16, + ( + IN UINT64 Address, + IN UINTN StartBit, + IN UINTN EndBit + ) + ); + + MOCK_FUNCTION_DECLARATION ( + UINT16, + PciSegmentBitFieldWrite16, + ( + IN UINT64 Address, + IN UINTN StartBit, + IN UINTN EndBit, + IN UINT16 Value + ) + ); + + MOCK_FUNCTION_DECLARATION ( + UINT16, + PciSegmentBitFieldOr16, + ( + IN UINT64 Address, + IN UINTN StartBit, + IN UINTN EndBit, + IN UINT16 OrData + ) + ); + + MOCK_FUNCTION_DECLARATION ( + UINT16, + PciSegmentBitFieldAnd16, + ( + IN UINT64 Address, + IN UINTN StartBit, + IN UINTN EndBit, + IN UINT16 AndData + ) + ); + + MOCK_FUNCTION_DECLARATION ( + UINT16, + PciSegmentBitFieldAndThenOr16, + ( + IN UINT64 Address, + IN UINTN StartBit, + IN UINTN EndBit, + IN UINT16 AndData, + IN UINT16 OrData + ) + ); + + MOCK_FUNCTION_DECLARATION ( + UINT32, + PciSegmentRead32, + ( + IN UINT64 Address + ) + ); + + MOCK_FUNCTION_DECLARATION ( + UINT32, + PciSegmentWrite32, + ( + IN UINT64 Address, + IN UINT32 Value + ) + ); + + MOCK_FUNCTION_DECLARATION ( + UINT32, + PciSegmentOr32, + ( + IN UINT64 Address, + IN UINT32 OrData + ) + ); + + MOCK_FUNCTION_DECLARATION ( + UINT32, + PciSegmentAnd32, + ( + IN UINT64 Address, + IN UINT32 AndData + ) + ); + + MOCK_FUNCTION_DECLARATION ( + UINT32, + PciSegmentAndThenOr32, + ( + IN UINT64 Address, + IN UINT32 AndData, + IN UINT32 OrData + ) + ); + + MOCK_FUNCTION_DECLARATION ( + UINT32, + PciSegmentBitFieldRead32, + ( + IN UINT64 Address, + IN UINTN StartBit, + IN UINTN EndBit + ) + ); + + MOCK_FUNCTION_DECLARATION ( + UINT32, + PciSegmentBitFieldWrite32, + ( + IN UINT64 Address, + IN UINTN StartBit, + IN UINTN EndBit, + IN UINT32 Value + ) + ); + + MOCK_FUNCTION_DECLARATION ( + UINT32, + PciSegmentBitFieldOr32, + ( + IN UINT64 Address, + IN UINTN StartBit, + IN UINTN EndBit, + IN UINT32 OrData + ) + ); + + MOCK_FUNCTION_DECLARATION ( + UINT32, + PciSegmentBitFieldAnd32, + ( + IN UINT64 Address, + IN UINTN StartBit, + IN UINTN EndBit, + IN UINT32 AndData + ) + ); + + MOCK_FUNCTION_DECLARATION ( + UINT32, + PciSegmentBitFieldAndThenOr32, + ( + IN UINT64 Address, + IN UINTN StartBit, + IN UINTN EndBit, + IN UINT32 AndData, + IN UINT32 OrData + ) + ); + + MOCK_FUNCTION_DECLARATION ( + UINTN, + PciSegmentReadBuffer, + ( + IN UINT64 StartAddress, + IN UINTN Size, + OUT VOID *Buffer + ) + ); + + MOCK_FUNCTION_DECLARATION ( + UINTN, + PciSegmentWriteBuffer, + ( + IN UINT64 StartAddress, + IN UINTN Size, + IN VOID *Buffer + ) + ); +}; + +#endif diff --git a/MdePkg/Test/Mock/Include/GoogleTest/Library/MockPeiServicesLib.h b/MdePkg/Test/Mock/Include/GoogleTest/Library/MockPeiServicesLib.h new file mode 100644 index 000000000000..ef56e052d7ae --- /dev/null +++ b/MdePkg/Test/Mock/Include/GoogleTest/Library/MockPeiServicesLib.h @@ -0,0 +1,189 @@ +/** @file + Google Test mocks for PeiServicesLib + + Copyright (c) 2023, Intel Corporation. All rights reserved. + SPDX-License-Identifier: BSD-2-Clause-Patent +**/ + +#ifndef MOCK_PEI_SERVICES_LIB_H_ +#define MOCK_PEI_SERVICES_LIB_H_ + +#include <Library/GoogleTestLib.h> +#include <Library/FunctionMockLib.h> +extern "C" { + #include <PiPei.h> + #include <Uefi.h> + #include <Library/PeiServicesLib.h> +} + +struct MockPeiServicesLib { + MOCK_INTERFACE_DECLARATION (MockPeiServicesLib); + + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + PeiServicesInstallPpi, + (IN CONST EFI_PEI_PPI_DESCRIPTOR *PpiList) + ); + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + PeiServicesReInstallPpi, + (IN CONST EFI_PEI_PPI_DESCRIPTOR *OldPpi, + IN CONST EFI_PEI_PPI_DESCRIPTOR *NewPpi) + ); + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + PeiServicesLocatePpi, + (IN CONST EFI_GUID *Guid, + IN UINTN Instance, + IN OUT EFI_PEI_PPI_DESCRIPTOR **PpiDescriptor OPTIONAL, + IN OUT VOID **Ppi) + ); + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + PeiServicesNotifyPpi, + (IN CONST EFI_PEI_NOTIFY_DESCRIPTOR *NotifyList) + ); + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + PeiServicesGetBootMode, + (OUT EFI_BOOT_MODE *BootMode) + ); + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + PeiServicesSetBootMode, + (IN EFI_BOOT_MODE BootMode) + ); + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + PeiServicesGetHobList, + (OUT VOID **HobList) + ); + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + PeiServicesCreateHob, + (IN UINT16 Type, + IN UINT16 Length, + OUT VOID **Hob) + ); + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + PeiServicesFfsFindNextVolume, + (IN UINTN Instance, + IN OUT EFI_PEI_FV_HANDLE *VolumeHandle) + ); + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + PeiServicesFfsFindNextFile, + (IN EFI_FV_FILETYPE SearchType, + IN EFI_PEI_FV_HANDLE VolumeHandle, + IN OUT EFI_PEI_FILE_HANDLE *FileHandle) + ); + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + PeiServicesFfsFindSectionData, + (IN EFI_SECTION_TYPE SectionType, + IN EFI_PEI_FILE_HANDLE FileHandle, + OUT VOID **SectionData) + ); + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + PeiServicesFfsFindSectionData3, + (IN EFI_SECTION_TYPE SectionType, + IN UINTN SectionInstance, + IN EFI_PEI_FILE_HANDLE FileHandle, + OUT VOID **SectionData, + OUT UINT32 *AuthenticationStatus) + ); + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + PeiServicesInstallPeiMemory, + (IN EFI_PHYSICAL_ADDRESS MemoryBegin, + IN UINT64 MemoryLength) + ); + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + PeiServicesAllocatePages, + (IN EFI_MEMORY_TYPE MemoryType, + IN UINTN Pages, + OUT EFI_PHYSICAL_ADDRESS *Memory) + ); + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + PeiServicesFreePages, + (IN EFI_PHYSICAL_ADDRESS Memory, + IN UINTN Pages) + ); + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + PeiServicesAllocatePool, + (IN UINTN Size, + OUT VOID **Buffer) + ); + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + PeiServicesResetSystem, + () + ); + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + PeiServicesFfsFindFileByName, + (IN CONST EFI_GUID *FileName, + IN CONST EFI_PEI_FV_HANDLE VolumeHandle, + OUT EFI_PEI_FILE_HANDLE *FileHandle) + ); + + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + PeiServicesFfsGetFileInfo, + (IN CONST EFI_PEI_FILE_HANDLE FileHandle, + OUT EFI_FV_FILE_INFO *FileInfo) + ); + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + PeiServicesFfsGetFileInfo2, + (IN CONST EFI_PEI_FILE_HANDLE FileHandle, + OUT EFI_FV_FILE_INFO2 *FileInfo) + ); + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + PeiServicesFfsGetVolumeInfo, + (IN EFI_PEI_FV_HANDLE VolumeHandle, + OUT EFI_FV_INFO *VolumeInfo) + ); + + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + PeiServicesRegisterForShadow, + (IN EFI_PEI_FILE_HANDLE FileHandle) + ); + MOCK_FUNCTION_DECLARATION ( + VOID, + PeiServicesInstallFvInfoPpi, + (IN CONST EFI_GUID *FvFormat OPTIONAL, + IN CONST VOID *FvInfo, + IN UINT32 FvInfoSize, + IN CONST EFI_GUID *ParentFvName OPTIONAL, + IN CONST EFI_GUID *ParentFileName OPTIONAL) + ); + + MOCK_FUNCTION_DECLARATION ( + VOID, + PeiServicesInstallFvInfo2Ppi, + (IN CONST EFI_GUID *FvFormat OPTIONAL, + IN CONST VOID *FvInfo, + IN UINT32 FvInfoSize, + IN CONST EFI_GUID *ParentFvName OPTIONAL, + IN CONST EFI_GUID *ParentFileName OPTIONAL, + IN UINT32 AuthenticationStatus) + ); + MOCK_FUNCTION_DECLARATION ( + VOID, + PeiServicesResetSystem2, + (IN EFI_RESET_TYPE ResetType, + IN EFI_STATUS ResetStatus, + IN UINTN DataSize, + IN VOID *ResetData OPTIONAL) + ); +}; + +#endif diff --git a/MdePkg/Test/Mock/Include/GoogleTest/Library/MockPostCodeLib.h b/MdePkg/Test/Mock/Include/GoogleTest/Library/MockPostCodeLib.h new file mode 100644 index 000000000000..aa4b81fba5f1 --- /dev/null +++ b/MdePkg/Test/Mock/Include/GoogleTest/Library/MockPostCodeLib.h @@ -0,0 +1,56 @@ +/** @file MockPostCodeLib.h + Google Test mocks for PostCodeLib + + Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved. + Copyright (c) Microsoft Corporation. + SPDX-License-Identifier: BSD-2-Clause-Patent +**/ + +#ifndef MOCK_POST_CODE_LIB_H_ +#define MOCK_POST_CODE_LIB_H_ + +#include <Library/GoogleTestLib.h> +#include <Library/FunctionMockLib.h> +extern "C" { + #include <Uefi.h> + #include <Library/PostCodeLib.h> +} + +struct MockPostCodeLib { + MOCK_INTERFACE_DECLARATION (MockPostCodeLib); + + MOCK_FUNCTION_DECLARATION ( + UINT32, + PostCode, + ( + IN UINT32 Value + ) + ); + + MOCK_FUNCTION_DECLARATION ( + UINT32, + PostCodeWithDescription, + ( + IN UINT32 Value, + IN CONST CHAR8 *Description OPTIONAL + ) + ); + + MOCK_FUNCTION_DECLARATION ( + BOOLEAN, + PostCodeEnabled, + ( + + ) + ); + + MOCK_FUNCTION_DECLARATION ( + BOOLEAN, + PostCodeDescriptionEnabled, + ( + + ) + ); +}; + +#endif //MOCK_PCI_EXPRESS_LIB_H_ diff --git a/MdePkg/Test/Mock/Include/GoogleTest/Library/MockReportStatusCodeLib.h b/MdePkg/Test/Mock/Include/GoogleTest/Library/MockReportStatusCodeLib.h new file mode 100644 index 000000000000..17156ea7be05 --- /dev/null +++ b/MdePkg/Test/Mock/Include/GoogleTest/Library/MockReportStatusCodeLib.h @@ -0,0 +1,29 @@ +/** @file MockReportStatusCodeLib.h + Google Test mocks for ReportStatusCodeLib + + Copyright (c) Microsoft Corporation. + SPDX-License-Identifier: BSD-2-Clause-Patent +**/ + +#ifndef MOCK_REPORT_STATUS_CODE_LIB_H_ +#define MOCK_REPORT_STATUS_CODE_LIB_H_ + +#include <Library/GoogleTestLib.h> +#include <Library/FunctionMockLib.h> + +extern "C" { + #include <Uefi.h> + #include <Library/ReportStatusCodeLib.h> +} + +struct MockReportStatusCodeLib { + MOCK_INTERFACE_DECLARATION (MockReportStatusCodeLib); + + MOCK_FUNCTION_DECLARATION ( + BOOLEAN, + ReportProgressCodeEnabled, + () + ); +}; + +#endif //MOCK_REPORT_STATUS_CODE_LIB_H_ diff --git a/MdePkg/Test/Mock/Include/GoogleTest/Library/MockSmmServicesTableLib.h b/MdePkg/Test/Mock/Include/GoogleTest/Library/MockSmmServicesTableLib.h new file mode 100644 index 000000000000..74d37d93e886 --- /dev/null +++ b/MdePkg/Test/Mock/Include/GoogleTest/Library/MockSmmServicesTableLib.h @@ -0,0 +1,166 @@ +/** @file MockSmmServicesTableLib.h + Google Test mocks for SmmServicesTableLib + + Copyright (c) Microsoft Corporation. + SPDX-License-Identifier: BSD-2-Clause-Patent +**/ + +#ifndef MOCK_SMM_SERVICES_TABLE_LIB_H_ +#define MOCK_SMM_SERVICES_TABLE_LIB_H_ + +#include <Library/GoogleTestLib.h> +#include <Library/FunctionMockLib.h> +extern "C" { + #include <Uefi.h> + #include <Library/SmmServicesTableLib.h> +} + +// +// Declarations to handle usage of the SmmServicesTableLib by creating mock +// +struct MockSmmServicesTableLib { + MOCK_INTERFACE_DECLARATION (MockSmmServicesTableLib); + + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + gSmst_SmmAllocatePool, + ( + IN EFI_MEMORY_TYPE PoolType, + IN UINTN Size, + OUT VOID **Buffer + ) + ); + + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + gSmst_SmmFreePool, + ( + IN VOID *Buffer + ) + ); + + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + gSmst_SmmAllocatePages, + ( + IN EFI_ALLOCATE_TYPE Type, + IN EFI_MEMORY_TYPE MemoryType, + IN UINTN Pages, + OUT EFI_PHYSICAL_ADDRESS *Memory + ) + ); + + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + gSmst_SmmFreePages, + ( + IN EFI_PHYSICAL_ADDRESS Memory, + IN UINTN Pages + ) + ); + + // MP service + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + gSmst_SmmStartupThisAp, + ( + IN EFI_AP_PROCEDURE Procedure, + IN UINTN CpuNumber, + IN OUT VOID *ProcArguments OPTIONAL + ) + ); + + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + gSmst_SmmInstallProtocolInterface, + ( + IN OUT EFI_HANDLE *Handle, + IN EFI_GUID *Protocol, + IN EFI_INTERFACE_TYPE InterfaceType, + IN VOID *Interface + ) + ); + + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + gSmst_SmmUninstallProtocolInterface, + ( + IN EFI_HANDLE Handle, + IN EFI_GUID *Protocol, + IN VOID *Interface + ) + ); + + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + gSmst_SmmHandleProtocol, + ( + IN EFI_HANDLE Handle, + IN EFI_GUID *Protocol, + OUT VOID **Interface + ) + ); + + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + gSmst_SmmRegisterProtocolNotify, + ( + IN CONST EFI_GUID *Protocol, + IN EFI_MM_NOTIFY_FN Function, + OUT VOID **Registration + ) + ); + + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + gSmst_SmmLocateHandle, + ( + IN EFI_LOCATE_SEARCH_TYPE SearchType, + IN EFI_GUID *Protocol, + IN VOID *SearchKey, + IN OUT UINTN *BufferSize, + OUT EFI_HANDLE *Buffer + ) + ); + + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + gSmst_SmmLocateProtocol, + ( + IN EFI_GUID *Protocol, + IN VOID *Registration OPTIONAL, + OUT VOID **Interface + ) + ); + + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + gSmst_SmiManage, + ( + IN CONST EFI_GUID *HandlerType, + IN CONST VOID *Context, + IN OUT VOID *CommBuffer, + IN OUT UINTN *CommBufferSize + ) + ); + + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + gSmst_SmmInterruptRegister, + ( + IN EFI_SMM_HANDLER_ENTRY_POINT2 Handler, + IN CONST EFI_GUID *HandlerType, + OUT EFI_HANDLE *DispatchHandle + ) + ); + + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + gSmst_SmmInterruptUnRegister, + ( + IN EFI_HANDLE DispatchHandle + ) + ); +}; + +#endif diff --git a/MdePkg/Test/Mock/Include/GoogleTest/Library/MockUefiBootServicesTableLib.h b/MdePkg/Test/Mock/Include/GoogleTest/Library/MockUefiBootServicesTableLib.h new file mode 100644 index 000000000000..dd3276635404 --- /dev/null +++ b/MdePkg/Test/Mock/Include/GoogleTest/Library/MockUefiBootServicesTableLib.h @@ -0,0 +1,78 @@ +/** @file + Google Test mocks for UefiBootServicesTableLib + + Copyright (c) Microsoft Corporation. + SPDX-License-Identifier: BSD-2-Clause-Patent +**/ + +#ifndef MOCK_UEFI_BOOT_SERVICES_TABLE_LIB_H_ +#define MOCK_UEFI_BOOT_SERVICES_TABLE_LIB_H_ + +#include <Library/GoogleTestLib.h> +#include <Library/FunctionMockLib.h> +extern "C" { + #include <Uefi.h> + #include <Library/UefiBootServicesTableLib.h> +} + +// +// Declarations to handle usage of the UefiBootServiceTableLib by creating mock +// +struct MockUefiBootServicesTableLib { + MOCK_INTERFACE_DECLARATION (MockUefiBootServicesTableLib); + + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + gBS_GetMemoryMap, + (IN OUT UINTN *MemoryMapSize, + OUT EFI_MEMORY_DESCRIPTOR *MemoryMap, + OUT UINTN *MapKey, + OUT UINTN *DescriptorSize, + OUT UINT32 *DescriptorVersion) + ); + + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + gBS_CreateEvent, + (IN UINT32 Type, + IN EFI_TPL NotifyTpl, + IN EFI_EVENT_NOTIFY NotifyFunction, + IN VOID *NotifyContext, + OUT EFI_EVENT *Event) + ); + + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + gBS_CloseEvent, + (IN EFI_EVENT Event) + ); + + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + gBS_HandleProtocol, + (IN EFI_HANDLE Handle, + IN EFI_GUID *Protocol, + OUT VOID **Interface) + ); + + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + gBS_LocateProtocol, + (IN EFI_GUID *Protocol, + IN VOID *Registration OPTIONAL, + OUT VOID **Interface) + ); + + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + gBS_CreateEventEx, + (IN UINT32 Type, + IN EFI_TPL NotifyTpl, + IN EFI_EVENT_NOTIFY NotifyFunction OPTIONAL, + IN CONST VOID *NotifyContext OPTIONAL, + IN CONST EFI_GUID *EventGroup OPTIONAL, + OUT EFI_EVENT *Event) + ); +}; + +#endif // MOCK_UEFI_BOOT_SERVICES_TABLE_LIB_H_ diff --git a/MdePkg/Test/Mock/Include/GoogleTest/Library/MockUefiLib.h b/MdePkg/Test/Mock/Include/GoogleTest/Library/MockUefiLib.h new file mode 100644 index 000000000000..5785c6808621 --- /dev/null +++ b/MdePkg/Test/Mock/Include/GoogleTest/Library/MockUefiLib.h @@ -0,0 +1,373 @@ +/** @file + Google Test mocks for UefiLib + + Copyright (c) 2022, Intel Corporation. All rights reserved. + Copyright (c) Microsoft Corporation. + SPDX-License-Identifier: BSD-2-Clause-Patent +**/ + +#ifndef MOCK_UEFI_LIB_H_ +#define MOCK_UEFI_LIB_H_ + +#include <Library/GoogleTestLib.h> +#include <Library/FunctionMockLib.h> +extern "C" { + #include <Uefi.h> + #include <Library/UefiLib.h> +} + +struct MockUefiLib { + MOCK_INTERFACE_DECLARATION (MockUefiLib); + + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + EfiGetSystemConfigurationTable, + (IN EFI_GUID *TableGuid, + OUT VOID **Table) + ); + + MOCK_FUNCTION_DECLARATION ( + EFI_EVENT, + EfiCreateProtocolNotifyEvent, + (IN EFI_GUID *ProtocolGuid, + IN EFI_TPL NotifyTpl, + IN EFI_EVENT_NOTIFY NotifyFunction, + IN VOID *NotifyContext OPTIONAL, + OUT VOID **Registration) + ); + + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + EfiNamedEventListen, + (IN CONST EFI_GUID *Name, + IN EFI_TPL NotifyTpl, + IN EFI_EVENT_NOTIFY NotifyFunction, + IN CONST VOID *NotifyContext OPTIONAL, + OUT VOID *Registration OPTIONAL) + ); + + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + EfiNamedEventSignal, + (IN CONST EFI_GUID *Name) + ); + + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + EfiEventGroupSignal, + (IN CONST EFI_GUID *EventGroup) + ); + + MOCK_FUNCTION_DECLARATION ( + VOID, + EfiEventEmptyFunction, + (IN EFI_EVENT Event, + IN VOID *Context) + ); + + MOCK_FUNCTION_DECLARATION ( + EFI_TPL, + EfiGetCurrentTpl, + () + ); + + MOCK_FUNCTION_DECLARATION ( + EFI_LOCK *, + EfiInitializeLock, + (IN OUT EFI_LOCK *Lock, + IN EFI_TPL Priority) + ); + + MOCK_FUNCTION_DECLARATION ( + VOID, + EfiAcquireLock, + (IN EFI_LOCK *Lock) + ); + + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + EfiAcquireLockOrFail, + (IN EFI_LOCK *Lock) + ); + + MOCK_FUNCTION_DECLARATION ( + VOID, + EfiReleaseLock, + (IN EFI_LOCK *Lock) + ); + + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + EfiTestManagedDevice, + (IN CONST EFI_HANDLE ControllerHandle, + IN CONST EFI_HANDLE DriverBindingHandle, + IN CONST EFI_GUID *ProtocolGuid) + ); + + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + EfiTestChildHandle, + (IN CONST EFI_HANDLE ControllerHandle, + IN CONST EFI_HANDLE ChildHandle, + IN CONST EFI_GUID *ProtocolGuid) + ); + + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + IsLanguageSupported, + (IN CONST CHAR8 *SupportedLanguages, + IN CONST CHAR8 *TargetLanguage) + ); + + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + LookupUnicodeString, + (IN CONST CHAR8 *Language, + IN CONST CHAR8 *SupportedLanguages, + IN CONST EFI_UNICODE_STRING_TABLE *UnicodeStringTable, + OUT CHAR16 **UnicodeString) + ); + + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + LookupUnicodeString2, + (IN CONST CHAR8 *Language, + IN CONST CHAR8 *SupportedLanguages, + IN CONST EFI_UNICODE_STRING_TABLE *UnicodeStringTable, + OUT CHAR16 **UnicodeString, + IN BOOLEAN Iso639Language) + ); + + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + AddUnicodeString, + (IN CONST CHAR8 *Language, + IN CONST CHAR8 *SupportedLanguages, + IN OUT EFI_UNICODE_STRING_TABLE **UnicodeStringTable, + IN CONST CHAR16 *UnicodeString) + ); + + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + AddUnicodeString2, + (IN CONST CHAR8 *Language, + IN CONST CHAR8 *SupportedLanguages, + IN OUT EFI_UNICODE_STRING_TABLE **UnicodeStringTable, + IN CONST CHAR16 *UnicodeString, + IN BOOLEAN Iso639Language) + ); + + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + FreeUnicodeStringTable, + (IN EFI_UNICODE_STRING_TABLE *UnicodeStringTable) + ); + + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + GetVariable2, + (IN CONST CHAR16 *Name, + IN CONST EFI_GUID *Guid, + OUT VOID **Value, + OUT UINTN *Size OPTIONAL) + ); + + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + GetEfiGlobalVariable2, + (IN CONST CHAR16 *Name, + OUT VOID **Value, + OUT UINTN *Size OPTIONAL) + ); + + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + GetVariable3, + (IN CONST CHAR16 *Name, + IN CONST EFI_GUID *Guid, + OUT VOID **Value, + OUT UINTN *Size OPTIONAL, + OUT UINT32 *Attr OPTIONAL) + ); + + MOCK_FUNCTION_DECLARATION ( + UINTN, + GetGlyphWidth, + (IN CHAR16 UnicodeChar) + ); + + MOCK_FUNCTION_DECLARATION ( + UINTN, + UnicodeStringDisplayLength, + (IN CONST CHAR16 *String) + ); + + MOCK_FUNCTION_DECLARATION ( + VOID, + EfiSignalEventReadyToBoot, + () + ); + + MOCK_FUNCTION_DECLARATION ( + VOID, + EfiSignalEventLegacyBoot, + () + ); + + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + EfiCreateEventLegacyBoot, + (OUT EFI_EVENT *LegacyBootEvent) + ); + + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + EfiCreateEventLegacyBootEx, + (IN EFI_TPL NotifyTpl, + IN EFI_EVENT_NOTIFY NotifyFunction OPTIONAL, + IN VOID *NotifyContext OPTIONAL, + OUT EFI_EVENT *LegacyBootEvent) + ); + + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + EfiCreateEventReadyToBoot, + (OUT EFI_EVENT *ReadyToBootEvent) + ); + + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + EfiCreateEventReadyToBootEx, + (IN EFI_TPL NotifyTpl, + IN EFI_EVENT_NOTIFY NotifyFunction OPTIONAL, + IN VOID *NotifyContext OPTIONAL, + OUT EFI_EVENT *ReadyToBootEvent) + ); + + MOCK_FUNCTION_DECLARATION ( + VOID, + EfiInitializeFwVolDevicepathNode, + (IN OUT MEDIA_FW_VOL_FILEPATH_DEVICE_PATH *FvDevicePathNode, + IN CONST EFI_GUID *NameGuid) + ); + + MOCK_FUNCTION_DECLARATION ( + EFI_GUID *, + EfiGetNameGuidFromFwVolDevicePathNode, + (IN CONST MEDIA_FW_VOL_FILEPATH_DEVICE_PATH *FvDevicePathNode) + ); + + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + EfiLibInstallDriverBinding, + (IN CONST EFI_HANDLE ImageHandle, + IN CONST EFI_SYSTEM_TABLE *SystemTable, + IN EFI_DRIVER_BINDING_PROTOCOL *DriverBinding, + IN EFI_HANDLE DriverBindingHandle) + ); + + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + EfiLibUninstallDriverBinding, + (IN EFI_DRIVER_BINDING_PROTOCOL *DriverBinding) + ); + + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + EfiLibInstallAllDriverProtocols, + (IN CONST EFI_HANDLE ImageHandle, + IN CONST EFI_SYSTEM_TABLE *SystemTable, + IN EFI_DRIVER_BINDING_PROTOCOL *DriverBinding, + IN EFI_HANDLE DriverBindingHandle, + IN CONST EFI_COMPONENT_NAME_PROTOCOL *ComponentName OPTIONAL, + IN CONST EFI_DRIVER_CONFIGURATION_PROTOCOL *DriverConfiguration OPTIONAL, + IN CONST EFI_DRIVER_DIAGNOSTICS_PROTOCOL *DriverDiagnostics OPTIONAL) + ); + + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + EfiLibUninstallAllDriverProtocols, + (IN EFI_DRIVER_BINDING_PROTOCOL *DriverBinding, + IN CONST EFI_COMPONENT_NAME_PROTOCOL *ComponentName OPTIONAL, + IN CONST EFI_DRIVER_CONFIGURATION_PROTOCOL *DriverConfiguration OPTIONAL, + IN CONST EFI_DRIVER_DIAGNOSTICS_PROTOCOL *DriverDiagnostics OPTIONAL) + ); + + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + EfiLibInstallDriverBindingComponentName2, + (IN CONST EFI_HANDLE ImageHandle, + IN CONST EFI_SYSTEM_TABLE *SystemTable, + IN EFI_DRIVER_BINDING_PROTOCOL *DriverBinding, + IN EFI_HANDLE DriverBindingHandle, + IN CONST EFI_COMPONENT_NAME_PROTOCOL *ComponentName OPTIONAL, + IN CONST EFI_COMPONENT_NAME2_PROTOCOL *ComponentName2 OPTIONAL) + ); + + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + EfiLibUninstallDriverBindingComponentName2, + (IN EFI_DRIVER_BINDING_PROTOCOL *DriverBinding, + IN CONST EFI_COMPONENT_NAME_PROTOCOL *ComponentName OPTIONAL, + IN CONST EFI_COMPONENT_NAME2_PROTOCOL *ComponentName2 OPTIONAL) + ); + + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + EfiLibInstallAllDriverProtocols2, + (IN CONST EFI_HANDLE ImageHandle, + IN CONST EFI_SYSTEM_TABLE *SystemTable, + IN EFI_DRIVER_BINDING_PROTOCOL *DriverBinding, + IN EFI_HANDLE DriverBindingHandle, + IN CONST EFI_COMPONENT_NAME_PROTOCOL *ComponentName OPTIONAL, + IN CONST EFI_COMPONENT_NAME2_PROTOCOL *ComponentName2 OPTIONAL, + IN CONST EFI_DRIVER_CONFIGURATION_PROTOCOL *DriverConfiguration OPTIONAL, + IN CONST EFI_DRIVER_CONFIGURATION2_PROTOCOL *DriverConfiguration2 OPTIONAL, + IN CONST EFI_DRIVER_DIAGNOSTICS_PROTOCOL *DriverDiagnostics OPTIONAL, + IN CONST EFI_DRIVER_DIAGNOSTICS2_PROTOCOL *DriverDiagnostics2 OPTIONAL) + ); + + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + EfiLibUninstallAllDriverProtocols2, + (IN EFI_DRIVER_BINDING_PROTOCOL *DriverBinding, + IN CONST EFI_COMPONENT_NAME_PROTOCOL *ComponentName OPTIONAL, + IN CONST EFI_COMPONENT_NAME2_PROTOCOL *ComponentName2 OPTIONAL, + IN CONST EFI_DRIVER_CONFIGURATION_PROTOCOL *DriverConfiguration OPTIONAL, + IN CONST EFI_DRIVER_CONFIGURATION2_PROTOCOL *DriverConfiguration2 OPTIONAL, + IN CONST EFI_DRIVER_DIAGNOSTICS_PROTOCOL *DriverDiagnostics OPTIONAL, + IN CONST EFI_DRIVER_DIAGNOSTICS2_PROTOCOL *DriverDiagnostics2 OPTIONAL) + ); + + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + EfiLocateProtocolBuffer, + (IN EFI_GUID *Protocol, + OUT UINTN *NoProtocols, + OUT VOID ***Buffer) + ); + + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + EfiOpenFileByDevicePath, + (IN OUT EFI_DEVICE_PATH_PROTOCOL **FilePath, + OUT EFI_FILE_PROTOCOL **File, + IN UINT64 OpenMode, + IN UINT64 Attributes) + ); + + MOCK_FUNCTION_DECLARATION ( + EFI_ACPI_COMMON_HEADER *, + EfiLocateNextAcpiTable, + (IN UINT32 Signature, + IN EFI_ACPI_COMMON_HEADER *PreviousTable OPTIONAL) + ); + + MOCK_FUNCTION_DECLARATION ( + EFI_ACPI_COMMON_HEADER *, + EfiLocateFirstAcpiTable, + (IN UINT32 Signature) + ); +}; + +#endif diff --git a/MdePkg/Test/Mock/Include/GoogleTest/Library/MockUefiRuntimeServicesTableLib.h b/MdePkg/Test/Mock/Include/GoogleTest/Library/MockUefiRuntimeServicesTableLib.h new file mode 100644 index 000000000000..818fa3ea071d --- /dev/null +++ b/MdePkg/Test/Mock/Include/GoogleTest/Library/MockUefiRuntimeServicesTableLib.h @@ -0,0 +1,49 @@ +/** @file + Google Test mocks for UefiRuntimeServicesTableLib + + Copyright (c) 2022, Intel Corporation. All rights reserved. + SPDX-License-Identifier: BSD-2-Clause-Patent +**/ + +#ifndef MOCK_UEFI_RUNTIME_SERVICES_TABLE_LIB_H_ +#define MOCK_UEFI_RUNTIME_SERVICES_TABLE_LIB_H_ + +#include <Library/GoogleTestLib.h> +#include <Library/FunctionMockLib.h> +extern "C" { + #include <Uefi.h> + #include <Library/UefiRuntimeServicesTableLib.h> +} + +struct MockUefiRuntimeServicesTableLib { + MOCK_INTERFACE_DECLARATION (MockUefiRuntimeServicesTableLib); + + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + gRT_GetVariable, + (IN CHAR16 *VariableName, + IN EFI_GUID *VendorGuid, + OUT UINT32 *Attributes OPTIONAL, + IN OUT UINTN *DataSize, + OUT VOID *Data) + ); + + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + gRT_SetVariable, + (IN CHAR16 *VariableName, + IN EFI_GUID *VendorGuid, + IN UINT32 Attributes, + IN UINTN DataSize, + IN VOID *Data) + ); + + MOCK_FUNCTION_DECLARATION ( + EFI_STATUS, + gRT_GetTime, + (OUT EFI_TIME *Time, + OUT EFI_TIME_CAPABILITIES *Capabilities OPTIONAL) + ); +}; + +#endif |
