mirror of
https://github.com/acidanthera/audk.git
synced 2025-04-08 17:05:09 +02:00
MdePkg: Add Google Test Library and Protocol
Mock Libraries: MdePkg\Test\Mock\Library\GoogleTest\MockCpuLib MdePkg\Test\Mock\Library\GoogleTest\MockPciSegmentLib MdePkg\Test\Mock\Library\GoogleTest\MockReportStatusCodeLib MdePkg\Test\Mock\Library\GoogleTest\MockSmmServicesTableLib Mock Protocol: MdePkg\Test\Mock\Include\GoogleTest\Protocol\MockMpService.h Signed-off-by: jack Hsieh <v-chhsieh@microsoft.com> Cc: Maintainer Shruti Gupta <shrugupt@microsoft.com> Cc: Reviewer Shruti Gupta <shrugupt@microsoft.com>
This commit is contained in:
parent
866abb2338
commit
6e197a8ba5
@ -47,5 +47,9 @@
|
||||
MdePkg/Test/Mock/Library/GoogleTest/MockPeiServicesLib/MockPeiServicesLib.inf
|
||||
MdePkg/Test/Mock/Library/GoogleTest/MockHobLib/MockHobLib.inf
|
||||
MdePkg/Test/Mock/Library/GoogleTest/MockFdtLib/MockFdtLib.inf
|
||||
MdePkg/Test/Mock/Library/GoogleTest/MockSmmServicesTableLib/MockSmmServicesTableLib.inf
|
||||
MdePkg/Test/Mock/Library/GoogleTest/MockCpuLib/MockCpuLib.inf
|
||||
MdePkg/Test/Mock/Library/GoogleTest/MockPciSegmentLib/MockPciSegmentLib.inf
|
||||
MdePkg/Test/Mock/Library/GoogleTest/MockReportStatusCodeLib/MockReportStatusCodeLib.inf
|
||||
|
||||
MdePkg/Library/StackCheckLibNull/StackCheckLibNullHostApplication.inf
|
||||
|
64
MdePkg/Test/Mock/Include/GoogleTest/Library/MockCpuLib.h
Normal file
64
MdePkg/Test/Mock/Include/GoogleTest/Library/MockCpuLib.h
Normal file
@ -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
|
350
MdePkg/Test/Mock/Include/GoogleTest/Library/MockPciSegmentLib.h
Normal file
350
MdePkg/Test/Mock/Include/GoogleTest/Library/MockPciSegmentLib.h
Normal file
@ -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
|
@ -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_
|
@ -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
|
124
MdePkg/Test/Mock/Include/GoogleTest/Protocol/MockMpService.h
Normal file
124
MdePkg/Test/Mock/Include/GoogleTest/Protocol/MockMpService.h
Normal file
@ -0,0 +1,124 @@
|
||||
/** @file MockMpService.h
|
||||
This file declares a mock of MP service Protocol.
|
||||
|
||||
Copyright (c) Microsoft Corporation.
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
**/
|
||||
|
||||
#ifndef MOCK_MP_SERVICE_H_
|
||||
#define MOCK_MP_SERVICE_H_
|
||||
|
||||
#include <Library/GoogleTestLib.h>
|
||||
#include <Library/FunctionMockLib.h>
|
||||
|
||||
extern "C" {
|
||||
#include <Uefi.h>
|
||||
#include <Protocol/MpService.h>
|
||||
}
|
||||
|
||||
struct MockMpService {
|
||||
MOCK_INTERFACE_DECLARATION (MockMpService);
|
||||
|
||||
MOCK_FUNCTION_DECLARATION (
|
||||
EFI_STATUS,
|
||||
GetNumberOfProcessors,
|
||||
(
|
||||
IN EFI_MP_SERVICES_PROTOCOL *This,
|
||||
OUT UINTN *NumberOfProcessors,
|
||||
OUT UINTN *NumberOfEnabledProcessors
|
||||
)
|
||||
);
|
||||
|
||||
MOCK_FUNCTION_DECLARATION (
|
||||
EFI_STATUS,
|
||||
GetProcessorInfo,
|
||||
(
|
||||
IN EFI_MP_SERVICES_PROTOCOL *This,
|
||||
IN UINTN ProcessorNumber,
|
||||
OUT EFI_PROCESSOR_INFORMATION *ProcessorInfoBuffer
|
||||
)
|
||||
);
|
||||
|
||||
MOCK_FUNCTION_DECLARATION (
|
||||
EFI_STATUS,
|
||||
StartupAllAPs,
|
||||
(
|
||||
IN EFI_MP_SERVICES_PROTOCOL *This,
|
||||
IN EFI_AP_PROCEDURE Procedure,
|
||||
IN BOOLEAN SingleThread,
|
||||
IN EFI_EVENT WaitEvent OPTIONAL,
|
||||
IN UINTN TimeoutInMicroSeconds,
|
||||
IN VOID *ProcedureArgument OPTIONAL,
|
||||
OUT UINTN **FailedCpuList OPTIONAL
|
||||
)
|
||||
);
|
||||
|
||||
MOCK_FUNCTION_DECLARATION (
|
||||
EFI_STATUS,
|
||||
StartupThisAP,
|
||||
(
|
||||
IN EFI_MP_SERVICES_PROTOCOL *This,
|
||||
IN EFI_AP_PROCEDURE Procedure,
|
||||
IN UINTN ProcessorNumber,
|
||||
IN EFI_EVENT WaitEvent OPTIONAL,
|
||||
IN UINTN TimeoutInMicroseconds,
|
||||
IN VOID *ProcedureArgument OPTIONAL,
|
||||
OUT BOOLEAN *Finished OPTIONAL
|
||||
)
|
||||
);
|
||||
|
||||
MOCK_FUNCTION_DECLARATION (
|
||||
EFI_STATUS,
|
||||
SwitchBSP,
|
||||
(
|
||||
IN EFI_MP_SERVICES_PROTOCOL *This,
|
||||
IN UINTN ProcessorNumber,
|
||||
IN BOOLEAN EnableOldBSP
|
||||
)
|
||||
);
|
||||
|
||||
MOCK_FUNCTION_DECLARATION (
|
||||
EFI_STATUS,
|
||||
EnableDisableAP,
|
||||
(
|
||||
IN EFI_MP_SERVICES_PROTOCOL *This,
|
||||
IN UINTN ProcessorNumber,
|
||||
IN BOOLEAN EnableAP,
|
||||
IN UINT32 *HealthFlag OPTIONAL
|
||||
)
|
||||
);
|
||||
|
||||
MOCK_FUNCTION_DECLARATION (
|
||||
EFI_STATUS,
|
||||
WhoAmI,
|
||||
(
|
||||
IN EFI_MP_SERVICES_PROTOCOL *This,
|
||||
OUT UINTN *ProcessorNumber
|
||||
)
|
||||
);
|
||||
};
|
||||
|
||||
MOCK_INTERFACE_DEFINITION (MockMpService);
|
||||
MOCK_FUNCTION_DEFINITION (MockMpService, GetNumberOfProcessors, 3, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockMpService, GetProcessorInfo, 3, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockMpService, StartupAllAPs, 7, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockMpService, StartupThisAP, 7, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockMpService, SwitchBSP, 3, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockMpService, EnableDisableAP, 4, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockMpService, WhoAmI, 2, EFIAPI);
|
||||
|
||||
static EFI_MP_SERVICES_PROTOCOL MP_SERVICE_PROTOCOL_INSTANCE = {
|
||||
GetNumberOfProcessors,
|
||||
GetProcessorInfo,
|
||||
StartupAllAPs,
|
||||
StartupThisAP,
|
||||
SwitchBSP,
|
||||
EnableDisableAP,
|
||||
WhoAmI
|
||||
};
|
||||
|
||||
extern "C" {
|
||||
EFI_MP_SERVICES_PROTOCOL *gMpServiceProtocol = &MP_SERVICE_PROTOCOL_INSTANCE;
|
||||
}
|
||||
|
||||
#endif // MOCK_MP_SERVICE_H_
|
@ -0,0 +1,17 @@
|
||||
/** @file MockCpuLib.cpp
|
||||
Google Test mocks for BaseLib
|
||||
|
||||
Copyright (c) Microsoft Corporation.
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
**/
|
||||
|
||||
#include <GoogleTest/Library/MockCpuLib.h>
|
||||
|
||||
MOCK_INTERFACE_DEFINITION (MockCpuLib);
|
||||
|
||||
MOCK_FUNCTION_DEFINITION (MockCpuLib, CpuSleep, 0, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockCpuLib, CpuFlushTlb, 0, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockCpuLib, InitializeFloatingPointUnits, 0, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockCpuLib, StandardSignatureIsAuthenticAMD, 0, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockCpuLib, GetCpuFamilyModel, 0, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockCpuLib, GetCpuSteppingId, 0, EFIAPI);
|
@ -0,0 +1,33 @@
|
||||
## @file MockCpuLib.inf
|
||||
# Mock implementation of the CPU library
|
||||
#
|
||||
# Copyright (c) Microsoft Corporation.
|
||||
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
#
|
||||
##
|
||||
|
||||
[Defines]
|
||||
INF_VERSION = 0x00010005
|
||||
BASE_NAME = MockCpuLib
|
||||
FILE_GUID = 8544B3FE-D1A8-4037-A8A9-43DC8D07077C
|
||||
MODULE_TYPE = HOST_APPLICATION
|
||||
VERSION_STRING = 1.0
|
||||
LIBRARY_CLASS = CpuLib
|
||||
PI_SPECIFICATION_VERSION = 0x0001000A
|
||||
|
||||
#
|
||||
# VALID_ARCHITECTURES = IA32 X64
|
||||
#
|
||||
|
||||
[Sources]
|
||||
MockCpuLib.cpp
|
||||
|
||||
[Packages]
|
||||
MdePkg/MdePkg.dec
|
||||
UnitTestFrameworkPkg/UnitTestFrameworkPkg.dec
|
||||
|
||||
[LibraryClasses]
|
||||
GoogleTestLib
|
||||
|
||||
[BuildOptions]
|
||||
MSFT:*_*_*_CC_FLAGS = /EHsc
|
@ -0,0 +1,43 @@
|
||||
/** @file MockPciSegmentLib.cpp
|
||||
Google Test mocks for PciSegmentLib
|
||||
|
||||
Copyright (c) Microsoft Corporation.
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
**/
|
||||
|
||||
#include <GoogleTest/Library/MockPciSegmentLib.h>
|
||||
|
||||
MOCK_INTERFACE_DEFINITION (MockPciSegmentLib);
|
||||
MOCK_FUNCTION_DEFINITION (MockPciSegmentLib, PciSegmentRegisterForRuntimeAccess, 1, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockPciSegmentLib, PciSegmentRead8, 1, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockPciSegmentLib, PciSegmentWrite8, 2, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockPciSegmentLib, PciSegmentOr8, 2, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockPciSegmentLib, PciSegmentAnd8, 2, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockPciSegmentLib, PciSegmentAndThenOr8, 3, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockPciSegmentLib, PciSegmentBitFieldRead8, 3, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockPciSegmentLib, PciSegmentBitFieldWrite8, 4, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockPciSegmentLib, PciSegmentBitFieldOr8, 4, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockPciSegmentLib, PciSegmentBitFieldAnd8, 4, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockPciSegmentLib, PciSegmentBitFieldAndThenOr8, 5, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockPciSegmentLib, PciSegmentRead16, 1, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockPciSegmentLib, PciSegmentWrite16, 2, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockPciSegmentLib, PciSegmentOr16, 2, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockPciSegmentLib, PciSegmentAnd16, 2, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockPciSegmentLib, PciSegmentAndThenOr16, 3, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockPciSegmentLib, PciSegmentBitFieldRead16, 3, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockPciSegmentLib, PciSegmentBitFieldWrite16, 4, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockPciSegmentLib, PciSegmentBitFieldOr16, 4, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockPciSegmentLib, PciSegmentBitFieldAnd16, 4, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockPciSegmentLib, PciSegmentBitFieldAndThenOr16, 5, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockPciSegmentLib, PciSegmentRead32, 1, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockPciSegmentLib, PciSegmentWrite32, 2, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockPciSegmentLib, PciSegmentOr32, 2, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockPciSegmentLib, PciSegmentAnd32, 2, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockPciSegmentLib, PciSegmentAndThenOr32, 3, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockPciSegmentLib, PciSegmentBitFieldRead32, 3, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockPciSegmentLib, PciSegmentBitFieldWrite32, 4, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockPciSegmentLib, PciSegmentBitFieldOr32, 4, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockPciSegmentLib, PciSegmentBitFieldAnd32, 4, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockPciSegmentLib, PciSegmentBitFieldAndThenOr32, 5, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockPciSegmentLib, PciSegmentReadBuffer, 3, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockPciSegmentLib, PciSegmentWriteBuffer, 3, EFIAPI);
|
@ -0,0 +1,33 @@
|
||||
## @file MockPciSegmentLib.inf
|
||||
# Mock implementation of the PCI Segment Library
|
||||
#
|
||||
# Copyright (c) Microsoft Corporation.
|
||||
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
#
|
||||
##
|
||||
|
||||
[Defines]
|
||||
INF_VERSION = 0x00010005
|
||||
BASE_NAME = MockPciSegmentLib
|
||||
FILE_GUID = 0C5E46F6-82DF-45DF-9750-E231110681D1
|
||||
MODULE_TYPE = HOST_APPLICATION
|
||||
VERSION_STRING = 1.0
|
||||
LIBRARY_CLASS = PciSegmentLib
|
||||
PI_SPECIFICATION_VERSION = 0x0001000A
|
||||
|
||||
#
|
||||
# VALID_ARCHITECTURES = IA32 X64
|
||||
#
|
||||
|
||||
[Sources]
|
||||
MockPciSegmentLib.cpp
|
||||
|
||||
[Packages]
|
||||
MdePkg/MdePkg.dec
|
||||
UnitTestFrameworkPkg/UnitTestFrameworkPkg.dec
|
||||
|
||||
[LibraryClasses]
|
||||
GoogleTestLib
|
||||
|
||||
[BuildOptions]
|
||||
MSFT:*_*_*_CC_FLAGS = /EHsc
|
@ -0,0 +1,11 @@
|
||||
/** @file MockReportStatusCodeLib.cpp
|
||||
Google Test mocks for ReportStatusCodeLib
|
||||
|
||||
Copyright (c) Microsoft Corporation.
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
**/
|
||||
|
||||
#include <GoogleTest/Library/MockReportStatusCodeLib.h>
|
||||
|
||||
MOCK_INTERFACE_DEFINITION (MockReportStatusCodeLib);
|
||||
MOCK_FUNCTION_DEFINITION (MockReportStatusCodeLib, ReportProgressCodeEnabled, 0, EFIAPI);
|
@ -0,0 +1,33 @@
|
||||
## @file MockReportStatusCodeLib.inf
|
||||
# Google Test mocks for ReportStatusCodeLib
|
||||
#
|
||||
# Copyright (c) Microsoft Corporation.
|
||||
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
##
|
||||
|
||||
[Defines]
|
||||
INF_VERSION = 0x00010005
|
||||
BASE_NAME = MockReportStatusCodeLib
|
||||
FILE_GUID = 3DFF7308-AC32-4BE9-9D01-B6F25E9161C3
|
||||
MODULE_TYPE = HOST_APPLICATION
|
||||
VERSION_STRING = 1.0
|
||||
LIBRARY_CLASS = ReportStatusCodeLib
|
||||
|
||||
#
|
||||
# The following information is for reference only and not required by the build tools.
|
||||
#
|
||||
# VALID_ARCHITECTURES = IA32 X64
|
||||
#
|
||||
|
||||
[Sources]
|
||||
MockReportStatusCodeLib.cpp
|
||||
|
||||
[Packages]
|
||||
MdePkg/MdePkg.dec
|
||||
UnitTestFrameworkPkg/UnitTestFrameworkPkg.dec
|
||||
|
||||
[LibraryClasses]
|
||||
GoogleTestLib
|
||||
|
||||
[BuildOptions]
|
||||
MSFT:*_*_*_CC_FLAGS = /EHsc
|
@ -0,0 +1,56 @@
|
||||
/** @file MockSmmServicesTableLib.cpp
|
||||
Google Test mocks for SmmServicesTableLib
|
||||
|
||||
Copyright (c) Microsoft Corporation.
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
**/
|
||||
#include <GoogleTest/Library/MockSmmServicesTableLib.h>
|
||||
|
||||
MOCK_INTERFACE_DEFINITION (MockSmmServicesTableLib);
|
||||
|
||||
MOCK_FUNCTION_DEFINITION (MockSmmServicesTableLib, gSmst_SmmAllocatePool, 3, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockSmmServicesTableLib, gSmst_SmmFreePool, 1, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockSmmServicesTableLib, gSmst_SmmAllocatePages, 4, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockSmmServicesTableLib, gSmst_SmmFreePages, 2, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockSmmServicesTableLib, gSmst_SmmStartupThisAp, 3, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockSmmServicesTableLib, gSmst_SmmInstallProtocolInterface, 4, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockSmmServicesTableLib, gSmst_SmmUninstallProtocolInterface, 3, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockSmmServicesTableLib, gSmst_SmmHandleProtocol, 3, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockSmmServicesTableLib, gSmst_SmmRegisterProtocolNotify, 3, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockSmmServicesTableLib, gSmst_SmmLocateHandle, 5, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockSmmServicesTableLib, gSmst_SmmLocateProtocol, 3, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockSmmServicesTableLib, gSmst_SmiManage, 4, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockSmmServicesTableLib, gSmst_SmmInterruptRegister, 3, EFIAPI);
|
||||
MOCK_FUNCTION_DEFINITION (MockSmmServicesTableLib, gSmst_SmmInterruptUnRegister, 1, EFIAPI);
|
||||
|
||||
static EFI_SMM_SYSTEM_TABLE2 LocalSmst = {
|
||||
{ 0, 0, 0, 0, 0 }, // EFI_TABLE_HEADER
|
||||
NULL, // SmmFirmwareVendor
|
||||
0, // SmmFirmwareRevision
|
||||
NULL, // EFI_SMM_INSTALL_CONFIGURATION_TABLE2
|
||||
{ NULL }, // EFI_SMM_CPU_IO2_PROTOCOL
|
||||
gSmst_SmmAllocatePool, // EFI_ALLOCATE_POOL
|
||||
gSmst_SmmFreePool, // EFI_FREE_POOL
|
||||
gSmst_SmmAllocatePages, // EFI_ALLOCATE_PAGES
|
||||
gSmst_SmmFreePages, // EFI_FREE_PAGES
|
||||
gSmst_SmmStartupThisAp, // EFI_SMM_STARTUP_THIS_AP
|
||||
0, // CurrentlyExecutingCpu
|
||||
0, // NumberOfCpus
|
||||
NULL, // CpuSaveStateSize
|
||||
NULL, // CpuSaveState
|
||||
0, // NumberOfTableEntries
|
||||
NULL, // EFI_CONFIGURATION_TABLE
|
||||
gSmst_SmmInstallProtocolInterface, // EFI_INSTALL_PROTOCOL_INTERFACE
|
||||
gSmst_SmmUninstallProtocolInterface, // EFI_UNINSTALL_PROTOCOL_INTERFACE
|
||||
gSmst_SmmHandleProtocol, // EFI_HANDLE_PROTOCOL
|
||||
gSmst_SmmRegisterProtocolNotify, // EFI_SMM_REGISTER_PROTOCOL_NOTIFY
|
||||
gSmst_SmmLocateHandle, // EFI_LOCATE_HANDLE
|
||||
gSmst_SmmLocateProtocol, // EFI_LOCATE_PROTOCOL
|
||||
gSmst_SmiManage, // EFI_SMM_INTERRUPT_MANAGE
|
||||
gSmst_SmmInterruptRegister, // EFI_SMM_INTERRUPT_REGISTER
|
||||
gSmst_SmmInterruptUnRegister // EFI_SMM_INTERRUPT_UNREGISTER
|
||||
};
|
||||
|
||||
extern "C" {
|
||||
EFI_SMM_SYSTEM_TABLE2 *gSmst = &LocalSmst;
|
||||
}
|
@ -0,0 +1,33 @@
|
||||
## @file MockSmmServicesTableLib.inf
|
||||
# Google Test mocks for SmmServicesTableLib
|
||||
#
|
||||
# Copyright (c) Microsoft Corporation.
|
||||
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
##
|
||||
|
||||
[Defines]
|
||||
INF_VERSION = 0x00010005
|
||||
BASE_NAME = MockSmmServicesTableLib
|
||||
FILE_GUID = CF640A65-619D-43A1-A22D-7FF21FA2B2AF
|
||||
MODULE_TYPE = HOST_APPLICATION
|
||||
VERSION_STRING = 1.0
|
||||
LIBRARY_CLASS = SmmServicesTableLib
|
||||
|
||||
#
|
||||
# The following information is for reference only and not required by the build tools.
|
||||
#
|
||||
# VALID_ARCHITECTURES = IA32 X64
|
||||
#
|
||||
|
||||
[Sources]
|
||||
MockSmmServicesTableLib.cpp
|
||||
|
||||
[Packages]
|
||||
MdePkg/MdePkg.dec
|
||||
UnitTestFrameworkPkg/UnitTestFrameworkPkg.dec
|
||||
|
||||
[LibraryClasses]
|
||||
GoogleTestLib
|
||||
|
||||
[BuildOptions]
|
||||
MSFT:*_*_*_CC_FLAGS = /EHsc
|
Loading…
x
Reference in New Issue
Block a user