Add Google Mock Library for FdtLib Signed-off-by: Jeff Brasen <jbra...@nvidia.com> --- .../GoogleTest/MockFdtLib/MockFdtLib.inf | 28 +++ .../Include/GoogleTest/Library/MockFdtLib.h | 164 ++++++++++++++++++ .../GoogleTest/MockFdtLib/MockFdtLib.cpp | 34 ++++ 3 files changed, 226 insertions(+) create mode 100644 MdePkg/Test/Mock/Library/GoogleTest/MockFdtLib/MockFdtLib.inf create mode 100644 MdePkg/Test/Mock/Include/GoogleTest/Library/MockFdtLib.h create mode 100644 MdePkg/Test/Mock/Library/GoogleTest/MockFdtLib/MockFdtLib.cpp
diff --git a/MdePkg/Test/Mock/Library/GoogleTest/MockFdtLib/MockFdtLib.inf b/MdePkg/Test/Mock/Library/GoogleTest/MockFdtLib/MockFdtLib.inf new file mode 100644 index 000000000000..b227bcbae963 --- /dev/null +++ b/MdePkg/Test/Mock/Library/GoogleTest/MockFdtLib/MockFdtLib.inf @@ -0,0 +1,28 @@ +## @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 +## + +[Defines] + INF_VERSION = 0x00010005 + BASE_NAME = MockFdtLib + FILE_GUID = 0f5471bc-fc2c-4cf4-b9f7-c1396d32831c + MODULE_TYPE = HOST_APPLICATION + VERSION_STRING = 1.0 + LIBRARY_CLASS = FdtLib + +[Sources] + MockFdtLib.cpp + +[Packages] + MdePkg/MdePkg.dec + UnitTestFrameworkPkg/UnitTestFrameworkPkg.dec + +[LibraryClasses] + GoogleTestLib + +[BuildOptions] + MSFT:*_*_*_CC_FLAGS = /EHsc /bigobj 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..73da571910df --- /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, + FdtNodeOffsetByPropValue, + (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, + FdtSetProp, + (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 UINT32 *Length) + ); + MOCK_FUNCTION_DECLARATION ( + INT32, + FdtNodeDepth, + (IN CONST VOID *Fdt, + IN INT32 NodeOffset) + ); +}; + +#endif diff --git a/MdePkg/Test/Mock/Library/GoogleTest/MockFdtLib/MockFdtLib.cpp b/MdePkg/Test/Mock/Library/GoogleTest/MockFdtLib/MockFdtLib.cpp new file mode 100644 index 000000000000..a955780d23fe --- /dev/null +++ b/MdePkg/Test/Mock/Library/GoogleTest/MockFdtLib/MockFdtLib.cpp @@ -0,0 +1,34 @@ +/** @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 +**/ + +#include <GoogleTest/Library/MockFdtLib.h> + +MOCK_INTERFACE_DEFINITION (MockFdtLib); + +MOCK_FUNCTION_DEFINITION (MockFdtLib, Fdt16ToCpu, 1, EFIAPI); +MOCK_FUNCTION_DEFINITION (MockFdtLib, CpuToFdt16, 1, EFIAPI); +MOCK_FUNCTION_DEFINITION (MockFdtLib, Fdt32ToCpu, 1, EFIAPI); +MOCK_FUNCTION_DEFINITION (MockFdtLib, CpuToFdt32, 1, EFIAPI); +MOCK_FUNCTION_DEFINITION (MockFdtLib, Fdt64ToCpu, 1, EFIAPI); +MOCK_FUNCTION_DEFINITION (MockFdtLib, CpuToFdt64, 1, EFIAPI); +MOCK_FUNCTION_DEFINITION (MockFdtLib, FdtCheckHeader, 1, EFIAPI); +MOCK_FUNCTION_DEFINITION (MockFdtLib, FdtCreateEmptyTree, 2, EFIAPI); +MOCK_FUNCTION_DEFINITION (MockFdtLib, FdtNextNode, 3, EFIAPI); +MOCK_FUNCTION_DEFINITION (MockFdtLib, FdtFirstSubnode, 2, EFIAPI); +MOCK_FUNCTION_DEFINITION (MockFdtLib, FdtNextSubnode, 2, EFIAPI); +MOCK_FUNCTION_DEFINITION (MockFdtLib, FdtSubnodeOffsetNameLen, 4, EFIAPI); +MOCK_FUNCTION_DEFINITION (MockFdtLib, FdtNodeOffsetByPropValue, 5, EFIAPI); +MOCK_FUNCTION_DEFINITION (MockFdtLib, FdtGetProperty, 4, EFIAPI); +MOCK_FUNCTION_DEFINITION (MockFdtLib, FdtFirstPropertyOffset, 2, EFIAPI); +MOCK_FUNCTION_DEFINITION (MockFdtLib, FdtNextPropertyOffset, 2, EFIAPI); +MOCK_FUNCTION_DEFINITION (MockFdtLib, FdtGetPropertyByOffset, 3, EFIAPI); +MOCK_FUNCTION_DEFINITION (MockFdtLib, FdtGetString, 3, EFIAPI); +MOCK_FUNCTION_DEFINITION (MockFdtLib, FdtAddSubnode, 3, EFIAPI); +MOCK_FUNCTION_DEFINITION (MockFdtLib, FdtSetProp, 5, EFIAPI); +MOCK_FUNCTION_DEFINITION (MockFdtLib, FdtGetName, 3, EFIAPI); +MOCK_FUNCTION_DEFINITION (MockFdtLib, FdtNodeDepth, 2, EFIAPI); -- 2.34.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#114238): https://edk2.groups.io/g/devel/message/114238 Mute This Topic: https://groups.io/mt/103921590/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-