Re: [edk2-devel] [PATCH] MdePkg: Add FdtLib gmock support
Hi Jeff, Thanks for this mock lib contribution. I few comments below. Thanks, Mike > -Original Message- > From: Jeff Brasen > Sent: Monday, December 11, 2023 7:43 AM > To: devel@edk2.groups.io > Cc: Gao, Liming ; Kinney, Michael D > ; Liu, Zhiguang ; > Jeff Brasen > Subject: [PATCH] MdePkg: Add FdtLib gmock support > > Add Google Mock Library for FdtLib > > Signed-off-by: Jeff Brasen > --- > .../Include/GoogleTest/Library/MockFdtLib.h | 165 ++ > .../GoogleTest/MockFdtLib/MockFdtLib.cpp | 34 > .../GoogleTest/MockFdtLib/MockFdtLib.inf | 28 +++ > 3 files changed, 227 insertions(+) > create mode 100644 > MdePkg/Test/Mock/Include/GoogleTest/Library/MockFdtLib.h > create mode 100644 > MdePkg/Test/Mock/Library/GoogleTest/MockFdtLib/MockFdtLib.cpp > create mode 100644 > MdePkg/Test/Mock/Library/GoogleTest/MockFdtLib/MockFdtLib.inf > > 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 00..c0aeaa25c0 > --- /dev/null > +++ b/MdePkg/Test/Mock/Include/GoogleTest/Library/MockFdtLib.h > @@ -0,0 +1,165 @@ > +/** @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 > +#include > +extern "C" { > +#include > +#include I think the 2 includes above can be replaced with > +#include > +} > + > +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 INT32ParentOffset, > + IN CONST CHAR8 *Name, > + IN INT32NameLength) > +); > + MOCK_FUNCTION_DECLARATION ( > +INT32, > +FdtNodeOffsetByPropValue, > +(IN CONST VOID *Fdt, > + IN INT32StartOffset, > + IN CONST CHAR8 *PropertyName, > + IN CONST VOID *PropertyValue, > + IN INT32PropertyLength) > +); > + MOCK_FUNCTION_DECLARATION ( > +CONST FDT_PROPERTY *, > +FdtGetProperty, > +(IN CONST VOID *Fdt, > + IN INT32NodeOffset, > + 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 *LengthOPTIONAL) > +); > + MOCK_FUNCTION_DECLARATION ( > +INT32, > +FdtAddSubnode, > +(IN VOID *Fdt, > + IN INT32ParentOffset, > + IN CONST CHAR8 *Name) > +); > + MOCK_FUNCTION_DECLARATION ( > +INT32, > +FdtSetProp, > +(IN VOID *Fdt, > + IN INT32NodeOffset, > + IN CONST CHAR8 *Name, > + IN CONST VOID *Value, > + IN UINT32 Length) > +); > + MOCK_FUNCTION_DECLARATION ( > +CONST CHAR8 *, > +FdtGetName, > +(IN VOID*Fdt, > + IN INT32 NodeOffset, >
Re: [edk2-devel] [PATCH] MdePkg: Add FdtLib gmock support
Any comments on this patch? Thanks, Jeff > -Original Message- > From: Jeff Brasen > Sent: Monday, December 11, 2023 8:43 AM > To: devel@edk2.groups.io > Cc: gaolim...@byosoft.com.cn; michael.d.kin...@intel.com; > zhiguang@intel.com; Jeff Brasen > Subject: [PATCH] MdePkg: Add FdtLib gmock support > > Add Google Mock Library for FdtLib > > Signed-off-by: Jeff Brasen > --- > .../Include/GoogleTest/Library/MockFdtLib.h | 165 ++ > .../GoogleTest/MockFdtLib/MockFdtLib.cpp | 34 > .../GoogleTest/MockFdtLib/MockFdtLib.inf | 28 +++ > 3 files changed, 227 insertions(+) > create mode 100644 > MdePkg/Test/Mock/Include/GoogleTest/Library/MockFdtLib.h > create mode 100644 > MdePkg/Test/Mock/Library/GoogleTest/MockFdtLib/MockFdtLib.cpp > create mode 100644 > MdePkg/Test/Mock/Library/GoogleTest/MockFdtLib/MockFdtLib.inf > > 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 00..c0aeaa25c0 > --- /dev/null > +++ b/MdePkg/Test/Mock/Include/GoogleTest/Library/MockFdtLib.h > @@ -0,0 +1,165 @@ > +/** @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 > +#include > +extern "C" { > +#include > +#include > +#include > +} > + > +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 INT32ParentOffset, > + IN CONST CHAR8 *Name, > + IN INT32NameLength) > +); > + MOCK_FUNCTION_DECLARATION ( > +INT32, > +FdtNodeOffsetByPropValue, > +(IN CONST VOID *Fdt, > + IN INT32StartOffset, > + IN CONST CHAR8 *PropertyName, > + IN CONST VOID *PropertyValue, > + IN INT32PropertyLength) > +); > + MOCK_FUNCTION_DECLARATION ( > +CONST FDT_PROPERTY *, > +FdtGetProperty, > +(IN CONST VOID *Fdt, > + IN INT32NodeOffset, > + 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 *LengthOPTIONAL) > +); > + MOCK_FUNCTION_DECLARATION ( > +INT32, > +FdtAddSubnode, > +(IN VOID *Fdt, > + IN INT32ParentOffset, > + IN CONST CHAR8 *Name) > +); > + MOCK_FUNCTION_DECLARATION ( > +INT32, > +FdtSetProp, > +(IN VOID *Fdt, > + IN INT32NodeOffset, > + 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 ( > +IN