Re: [edk2-devel] [PATCH v2 1/1] MdePkg: Add FdtLib gmock support
Oops not sure how that happened will fix and push a v3. -Jeff > -Original Message- > From: Kinney, Michael D > Sent: Tuesday, January 23, 2024 4:52 PM > To: Jeff Brasen ; devel@edk2.groups.io > Cc: gaolim...@byosoft.com.cn; Liu, Zhiguang ; > Kinney, Michael D > Subject: RE: [PATCH v2 1/1] MdePkg: Add FdtLib gmock support > > External email: Use caution opening links or attachments > > > Hi Jeff, > > I just noticed that the DSC file in MdePkg/Test has not been updated to make > sure this mock lib always builds. I added as part of PR to run EDK II CI. > > EDK II CI did fail. > > https://github.com/tianocore/edk2/pull/5293 > https://github.com/tianocore/edk2/pull/5293/checks?check_run_id=207950 > 99585 > https://dev.azure.com/tianocore/edk2- > ci/_build/results?buildId=115123=logs=9701361e-2546-5093- > 77e5-58c75d95b7ce=9701361e-2546-5093-77e5- > 58c75d95b7ce=27131ef8-75e1-57c3-3236-d806181f2f1f > > Comment below that details the failure. > > Please fix and send V3 with MdePkg/Test DSC update and the > FdtGetName() fix. > > Thanks, > > Mike > > > -Original Message- > > From: Kinney, Michael D > > Sent: Tuesday, January 23, 2024 3:19 PM > > To: Jeff Brasen ; devel@edk2.groups.io > > Cc: gaolim...@byosoft.com.cn; Liu, Zhiguang ; > > Kinney, Michael D > > Subject: RE: [PATCH v2 1/1] MdePkg: Add FdtLib gmock support > > > > Reviewed-by: Michael D Kinney > > > > > -Original Message- > > > From: Jeff Brasen > > > Sent: Tuesday, January 23, 2024 3:13 PM > > > To: devel@edk2.groups.io > > > Cc: gaolim...@byosoft.com.cn; Kinney, Michael D > > > ; Liu, Zhiguang > > > ; Jeff Brasen > > > Subject: [PATCH v2 1/1] MdePkg: Add FdtLib gmock support > > > > > > Add Google Mock Library for FdtLib > > > > > > Signed-off-by: Jeff Brasen > > > --- > > > .../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 ..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 ..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 > > > +#include extern "C" { > > > + #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) > > > +); > > > +
Re: [edk2-devel] [PATCH v2 1/1] MdePkg: Add FdtLib gmock support
Reviewed-by: Gua Guo -Original Message- From: devel@edk2.groups.io On Behalf Of Michael D Kinney Sent: Wednesday, January 24, 2024 7:19 AM To: Jeff Brasen ; devel@edk2.groups.io Cc: gaolim...@byosoft.com.cn; Liu, Zhiguang ; Kinney, Michael D Subject: Re: [edk2-devel] [PATCH v2 1/1] MdePkg: Add FdtLib gmock support Reviewed-by: Michael D Kinney > -Original Message- > From: Jeff Brasen > Sent: Tuesday, January 23, 2024 3:13 PM > To: devel@edk2.groups.io > Cc: gaolim...@byosoft.com.cn; Kinney, Michael D > ; Liu, Zhiguang ; > Jeff Brasen > Subject: [PATCH v2 1/1] MdePkg: Add FdtLib gmock support > > Add Google Mock Library for FdtLib > > Signed-off-by: Jeff Brasen > --- > .../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 ..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 ..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 > +#include > +extern "C" { > + #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 INT32
Re: [edk2-devel] [PATCH v2 1/1] MdePkg: Add FdtLib gmock support
Hi Jeff, I just noticed that the DSC file in MdePkg/Test has not been updated to make sure this mock lib always builds. I added as part of PR to run EDK II CI. EDK II CI did fail. https://github.com/tianocore/edk2/pull/5293 https://github.com/tianocore/edk2/pull/5293/checks?check_run_id=20795099585 https://dev.azure.com/tianocore/edk2-ci/_build/results?buildId=115123=logs=9701361e-2546-5093-77e5-58c75d95b7ce=9701361e-2546-5093-77e5-58c75d95b7ce=27131ef8-75e1-57c3-3236-d806181f2f1f Comment below that details the failure. Please fix and send V3 with MdePkg/Test DSC update and the FdtGetName() fix. Thanks, Mike > -Original Message- > From: Kinney, Michael D > Sent: Tuesday, January 23, 2024 3:19 PM > To: Jeff Brasen ; devel@edk2.groups.io > Cc: gaolim...@byosoft.com.cn; Liu, Zhiguang ; > Kinney, Michael D > Subject: RE: [PATCH v2 1/1] MdePkg: Add FdtLib gmock support > > Reviewed-by: Michael D Kinney > > > -Original Message- > > From: Jeff Brasen > > Sent: Tuesday, January 23, 2024 3:13 PM > > To: devel@edk2.groups.io > > Cc: gaolim...@byosoft.com.cn; Kinney, Michael D > > ; Liu, Zhiguang ; > > Jeff Brasen > > Subject: [PATCH v2 1/1] MdePkg: Add FdtLib gmock support > > > > Add Google Mock Library for FdtLib > > > > Signed-off-by: Jeff Brasen > > --- > > .../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 ..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 ..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 > > +#include > > +extern "C" { > > + #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
Re: [edk2-devel] [PATCH v2 1/1] MdePkg: Add FdtLib gmock support
Reviewed-by: Michael D Kinney > -Original Message- > From: Jeff Brasen > Sent: Tuesday, January 23, 2024 3:13 PM > To: devel@edk2.groups.io > Cc: gaolim...@byosoft.com.cn; Kinney, Michael D > ; Liu, Zhiguang ; > Jeff Brasen > Subject: [PATCH v2 1/1] MdePkg: Add FdtLib gmock support > > Add Google Mock Library for FdtLib > > Signed-off-by: Jeff Brasen > --- > .../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 ..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 ..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 > +#include > +extern "C" { > + #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, > +
[edk2-devel] [PATCH v2 1/1] MdePkg: Add FdtLib gmock support
Add Google Mock Library for FdtLib Signed-off-by: Jeff Brasen --- .../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 ..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 ..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 +#include +extern "C" { + #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 (