/** @file Google Test mocks for PerformanceLib Copyright (c) 2023, Intel Corporation. All rights reserved. Copyright (C) Microsoft Corporation. SPDX-License-Identifier: BSD-2-Clause-Patent **/ #pragma once #include #include extern "C" { #include #include } struct MockPerformanceLib { MOCK_INTERFACE_DECLARATION (MockPerformanceLib); MOCK_FUNCTION_DECLARATION ( RETURN_STATUS, StartPerformanceMeasurement, (IN CONST VOID *Handle OPTIONAL, IN CONST CHAR8 *Token OPTIONAL, IN CONST CHAR8 *Module OPTIONAL, IN UINT64 TimeStamp) ); MOCK_FUNCTION_DECLARATION ( RETURN_STATUS, EndPerformanceMeasurement, (IN CONST VOID *Handle OPTIONAL, IN CONST CHAR8 *Token OPTIONAL, IN CONST CHAR8 *Module OPTIONAL, IN UINT64 TimeStamp) ); MOCK_FUNCTION_DECLARATION ( UINTN, GetPerformanceMeasurement, (IN UINTN LogEntryKey, OUT CONST VOID **Handle, OUT CONST CHAR8 **Token, OUT CONST CHAR8 **Module, OUT UINT64 *StartTimeStamp, OUT UINT64 *EndTimeStamp) ); MOCK_FUNCTION_DECLARATION ( RETURN_STATUS, StartPerformanceMeasurementEx, (IN CONST VOID *Handle OPTIONAL, IN CONST CHAR8 *Token OPTIONAL, IN CONST CHAR8 *Module OPTIONAL, IN UINT64 TimeStamp, IN UINT32 Identifier) ); MOCK_FUNCTION_DECLARATION ( RETURN_STATUS, EndPerformanceMeasurementEx, (IN CONST VOID *Handle OPTIONAL, IN CONST CHAR8 *Token OPTIONAL, IN CONST CHAR8 *Module OPTIONAL, IN UINT64 TimeStamp, IN UINT32 Identifier) ); MOCK_FUNCTION_DECLARATION ( UINTN, GetPerformanceMeasurementEx, (IN UINTN LogEntryKey, OUT CONST VOID **Handle, OUT CONST CHAR8 **Token, OUT CONST CHAR8 **Module, OUT UINT64 *StartTimeStamp, OUT UINT64 *EndTimeStamp, OUT UINT32 *Identifier) ); MOCK_FUNCTION_DECLARATION ( BOOLEAN, PerformanceMeasurementEnabled, () ); MOCK_FUNCTION_DECLARATION ( BOOLEAN, LogPerformanceMeasurementEnabled, (IN CONST UINTN Type) ); MOCK_FUNCTION_DECLARATION ( RETURN_STATUS, LogPerformanceMeasurement, (IN CONST VOID *CallerIdentifier OPTIONAL, IN CONST VOID *Guid OPTIONAL, IN CONST CHAR8 *String OPTIONAL, IN UINT64 Address OPTIONAL, IN UINT32 Identifier) ); };