* [PATCH 0/4] [staging/HBFA PATCH]: Enable cmocka unit test build with submodule.
@ 2019-05-22 7:20 Sun, Tengfen
2019-05-22 7:20 ` [PATCH 1/4] [staging/HBFA PATCH]: CmockaHostUnitTestPkg: Add cmocka submodule Sun, Tengfen
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: Sun, Tengfen @ 2019-05-22 7:20 UTC (permalink / raw)
To: devel; +Cc: jiewen.yao, liming.gao, tengfen.sun, chris.wu
In order to improve the current build process, add cmocka submodule for unit test build.
REF: https://edk2.groups.io/g/devel/message/39893
tengfens (4):
[staging/HBFA PATCH]: CmockaHostUnitTestPkg: Add cmocka submodule.
[staging/HBFA PATCH]: CmockaHostUnitTestPkg: Enable
CmockaHostUnitTestPkg build.
[staging/HBFA PATCH]: UefiHostUnitTestCasePkg: Add CmockaLib
[staging/HBFA PATCH]: UefiHostUnitTestPkg: Enable cmocka unit test
build with CmockaHostUnitTestPkg
.gitmodules | 3 +
.../CmockaHostUnitTestPkg.dec | 16 ++++
.../CmockaHostUnitTestPkg.dsc | 22 +++++
.../Library/CmockaLib/CmockaLib.inf | 33 +++++++
.../Library/CmockaLib/CmockaLib.uni | 16 ++++
.../Library/CmockaLib/cmocka | 1 +
.../UefiHostUnitTestCasePkg.dsc | 11 +++
.../UnitTestAssertLibcmocka.inf | 4 +-
.../UnitTestLibcmocka/UnitTestLibcmocka.inf | 2 +
HBFA/UefiHostUnitTestPkg/ReadMe-cmocka.txt | 85 ++++---------------
.../SampleUnitTestcmocka.inf | 2 +
.../UefiHostUnitTestBuildOption.dsc | 40 +++------
.../UefiHostUnitTestPkg.dsc | 8 ++
13 files changed, 146 insertions(+), 97 deletions(-)
create mode 100644 .gitmodules
create mode 100644 HBFA/CmockaHostUnitTestPkg/CmockaHostUnitTestPkg.dec
create mode 100644 HBFA/CmockaHostUnitTestPkg/CmockaHostUnitTestPkg.dsc
create mode 100644 HBFA/CmockaHostUnitTestPkg/Library/CmockaLib/CmockaLib.inf
create mode 100644 HBFA/CmockaHostUnitTestPkg/Library/CmockaLib/CmockaLib.uni
create mode 160000 HBFA/CmockaHostUnitTestPkg/Library/CmockaLib/cmocka
--
2.21.0.windows.1
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 1/4] [staging/HBFA PATCH]: CmockaHostUnitTestPkg: Add cmocka submodule.
2019-05-22 7:20 [PATCH 0/4] [staging/HBFA PATCH]: Enable cmocka unit test build with submodule Sun, Tengfen
@ 2019-05-22 7:20 ` Sun, Tengfen
2019-05-22 7:20 ` [PATCH 2/4] [staging/HBFA PATCH]: CmockaHostUnitTestPkg: Enable CmockaHostUnitTestPkg build Sun, Tengfen
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Sun, Tengfen @ 2019-05-22 7:20 UTC (permalink / raw)
To: devel; +Cc: jiewen.yao, liming.gao, tengfen.sun, chris.wu
Add cmocka submodule to improve the current build process.
REF: https://edk2.groups.io/g/devel/message/39893
Signed-off-by: Jiewen Yao <jiewen.yao@intel.com>
Signed-off-by: Tengfen Sun <tengfen.sun@intel.com>
---
.gitmodules | 3 +++
HBFA/CmockaHostUnitTestPkg/Library/CmockaLib/cmocka | 1 +
2 files changed, 4 insertions(+)
create mode 100644 .gitmodules
create mode 160000 HBFA/CmockaHostUnitTestPkg/Library/CmockaLib/cmocka
diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 000000000000..b85f2bd60241
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,3 @@
+[submodule "HBFA/CmockaHostUnitTestPkg/Library/CmockaLib/cmocka"]
+ path = HBFA/CmockaHostUnitTestPkg/Library/CmockaLib/cmocka
+ url = https://git.cryptomilk.org/projects/cmocka.git
diff --git a/HBFA/CmockaHostUnitTestPkg/Library/CmockaLib/cmocka b/HBFA/CmockaHostUnitTestPkg/Library/CmockaLib/cmocka
new file mode 160000
index 000000000000..546bd5092424
--- /dev/null
+++ b/HBFA/CmockaHostUnitTestPkg/Library/CmockaLib/cmocka
@@ -0,0 +1 @@
+Subproject commit 546bd50924245f4ca7292a3ef6a92504aa375455
--
2.21.0.windows.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 2/4] [staging/HBFA PATCH]: CmockaHostUnitTestPkg: Enable CmockaHostUnitTestPkg build.
2019-05-22 7:20 [PATCH 0/4] [staging/HBFA PATCH]: Enable cmocka unit test build with submodule Sun, Tengfen
2019-05-22 7:20 ` [PATCH 1/4] [staging/HBFA PATCH]: CmockaHostUnitTestPkg: Add cmocka submodule Sun, Tengfen
@ 2019-05-22 7:20 ` Sun, Tengfen
2019-05-22 7:20 ` [PATCH 3/4] [staging/HBFA PATCH]: UefiHostUnitTestCasePkg: Add CmockaLib Sun, Tengfen
2019-05-22 7:20 ` [PATCH 4/4] [staging/HBFA PATCH]: UefiHostUnitTestPkg: Enable cmocka unit test build with CmockaHostUnitTestPkg Sun, Tengfen
3 siblings, 0 replies; 5+ messages in thread
From: Sun, Tengfen @ 2019-05-22 7:20 UTC (permalink / raw)
To: devel; +Cc: jiewen.yao, liming.gao, tengfen.sun, chris.wu
Enable build for CmockaHostUnitTestPkg with cmocka submodule.
REF: https://edk2.groups.io/g/devel/message/39893
Signed-off-by: Tengfen Sun <tengfen.sun@intel.com>
---
.../CmockaHostUnitTestPkg.dec | 16 +++++++++
.../CmockaHostUnitTestPkg.dsc | 22 +++++++++++++
.../Library/CmockaLib/CmockaLib.inf | 33 +++++++++++++++++++
.../Library/CmockaLib/CmockaLib.uni | 16 +++++++++
4 files changed, 87 insertions(+)
create mode 100644 HBFA/CmockaHostUnitTestPkg/CmockaHostUnitTestPkg.dec
create mode 100644 HBFA/CmockaHostUnitTestPkg/CmockaHostUnitTestPkg.dsc
create mode 100644 HBFA/CmockaHostUnitTestPkg/Library/CmockaLib/CmockaLib.inf
create mode 100644 HBFA/CmockaHostUnitTestPkg/Library/CmockaLib/CmockaLib.uni
diff --git a/HBFA/CmockaHostUnitTestPkg/CmockaHostUnitTestPkg.dec b/HBFA/CmockaHostUnitTestPkg/CmockaHostUnitTestPkg.dec
new file mode 100644
index 000000000000..85b41b1165d4
--- /dev/null
+++ b/HBFA/CmockaHostUnitTestPkg/CmockaHostUnitTestPkg.dec
@@ -0,0 +1,16 @@
+## @file CmockaHostUnitTestPkg.dec
+#
+# Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+##
+
+[Defines]
+ DEC_SPECIFICATION = 0x00010005
+ PACKAGE_NAME = CmockaHostUnitTestPkg
+ PACKAGE_GUID = 09566709-F1CA-4365-BB99-FC7869BE4E1C
+ PACKAGE_VERSION = 0.1
+
+[Includes]
+ Library/CmockaLib/cmocka/include
+ Library/CmockaLib/cmocka/include/cmockery
\ No newline at end of file
diff --git a/HBFA/CmockaHostUnitTestPkg/CmockaHostUnitTestPkg.dsc b/HBFA/CmockaHostUnitTestPkg/CmockaHostUnitTestPkg.dsc
new file mode 100644
index 000000000000..27868fc5e050
--- /dev/null
+++ b/HBFA/CmockaHostUnitTestPkg/CmockaHostUnitTestPkg.dsc
@@ -0,0 +1,22 @@
+## @file CmockaHostUnitTestPkg.dsc
+#
+# Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+##
+
+[Defines]
+ PLATFORM_NAME = CmockaHostUnitTestPkg
+ PLATFORM_GUID = AD571B20-0E74-4513-AE17-E557079A9756
+ PLATFORM_VERSION = 0.1
+ DSC_SPECIFICATION = 0x00010005
+ OUTPUT_DIRECTORY = Build/CmockaHostUnitTestPkg
+ SUPPORTED_ARCHITECTURES = IA32|X64
+ BUILD_TARGETS = DEBUG|RELEASE
+ SKUID_IDENTIFIER = DEFAULT
+
+[LibraryClasses]
+ CmockaLib|CmockaHostUnitTestPkg/Library/CmockaLib/CmockaLib.inf
+
+[Components]
+ CmockaHostUnitTestPkg/Library/CmockaLib/CmockaLib.inf
\ No newline at end of file
diff --git a/HBFA/CmockaHostUnitTestPkg/Library/CmockaLib/CmockaLib.inf b/HBFA/CmockaHostUnitTestPkg/Library/CmockaLib/CmockaLib.inf
new file mode 100644
index 000000000000..dc9f48347625
--- /dev/null
+++ b/HBFA/CmockaHostUnitTestPkg/Library/CmockaLib/CmockaLib.inf
@@ -0,0 +1,33 @@
+## @file
+# This module provides Cmocka Library implementation.
+#
+# Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+##
+
+[Defines]
+ INF_VERSION = 0x00010005
+ BASE_NAME = CmockaLib
+ MODULE_UNI_FILE = CmockaLib.uni
+ FILE_GUID = F1662152-3399-49AC-BE44-CAA97575FACE
+ MODULE_TYPE = BASE
+ VERSION_STRING = 0.1
+ LIBRARY_CLASS = CmockaLib
+ DEFINE CMOCKA_PATH = cmocka
+
+#
+# VALID_ARCHITECTURES = IA32 X64 ARM AARCH64
+#
+
+[Sources]
+ $(CMOCKA_PATH)/src/cmocka.c
+
+[Packages]
+ CmockaHostUnitTestPkg/CmockaHostUnitTestPkg.dec
+
+[BuildOptions]
+ MSFT:*_*_*_CC_FLAGS == /c /D _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1 /D _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT=1 /D _CRT_NONSTDC_NO_WARNINGS=1 /D _CRT_SECURE_NO_WARNINGS=1 -DHAVE_VSNPRINTF -DHAVE_SNPRINTF
+
+ GCC:*_*_IA32_CC_FLAGS == -m32 -O0 -g -fprofile-arcs -ftest-coverage -std=gnu99 -Wpedantic -Wall -Wshadow -Wmissing-prototypes -Wcast-align -Werror=address -Wstrict-prototypes -Werror=strict-prototypes -Wwrite-strings -Werror=write-strings -Werror-implicit-function-declaration -Wpointer-arith -Werror=pointer-arith -Wdeclaration-after-statement -Werror=declaration-after-statement -Wreturn-type -Werror=return-type -Wuninitialized -Werror=uninitialized -Werror=strict-overflow -Wstrict-overflow=2 -Wno-format-zero-length -Wmissing-field-initializers -Wformat-security -Werror=format-security -fno-common -Wformat -fno-common -fstack-protector-strong -DHAVE_SIGNAL_H
+ GCC:*_*_X64_CC_FLAGS == -m64 -O0 -g -fprofile-arcs -ftest-coverage -std=gnu99 -Wpedantic -Wall -Wshadow -Wmissing-prototypes -Wcast-align -Werror=address -Wstrict-prototypes -Werror=strict-prototypes -Wwrite-strings -Werror=write-strings -Werror-implicit-function-declaration -Wpointer-arith -Werror=pointer-arith -Wdeclaration-after-statement -Werror=declaration-after-statement -Wreturn-type -Werror=return-type -Wuninitialized -Werror=uninitialized -Werror=strict-overflow -Wstrict-overflow=2 -Wno-format-zero-length -Wmissing-field-initializers -Wformat-security -Werror=format-security -fno-common -Wformat -fno-common -fstack-protector-strong -DHAVE_SIGNAL_H
diff --git a/HBFA/CmockaHostUnitTestPkg/Library/CmockaLib/CmockaLib.uni b/HBFA/CmockaHostUnitTestPkg/Library/CmockaLib/CmockaLib.uni
new file mode 100644
index 000000000000..5a114b934554
--- /dev/null
+++ b/HBFA/CmockaHostUnitTestPkg/Library/CmockaLib/CmockaLib.uni
@@ -0,0 +1,16 @@
+// /** @file
+// This module provides Cmocka Library implementation.
+//
+// This module provides Cmocka Library implementation.
+//
+// Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
+//
+// SPDX-License-Identifier: BSD-2-Clause-Patent
+//
+// **/
+
+
+#string STR_MODULE_ABSTRACT #language en-US "Cmocka Library implementation"
+
+#string STR_MODULE_DESCRIPTION #language en-US "This module provides Cmocka Library implementation."
+
--
2.21.0.windows.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 3/4] [staging/HBFA PATCH]: UefiHostUnitTestCasePkg: Add CmockaLib
2019-05-22 7:20 [PATCH 0/4] [staging/HBFA PATCH]: Enable cmocka unit test build with submodule Sun, Tengfen
2019-05-22 7:20 ` [PATCH 1/4] [staging/HBFA PATCH]: CmockaHostUnitTestPkg: Add cmocka submodule Sun, Tengfen
2019-05-22 7:20 ` [PATCH 2/4] [staging/HBFA PATCH]: CmockaHostUnitTestPkg: Enable CmockaHostUnitTestPkg build Sun, Tengfen
@ 2019-05-22 7:20 ` Sun, Tengfen
2019-05-22 7:20 ` [PATCH 4/4] [staging/HBFA PATCH]: UefiHostUnitTestPkg: Enable cmocka unit test build with CmockaHostUnitTestPkg Sun, Tengfen
3 siblings, 0 replies; 5+ messages in thread
From: Sun, Tengfen @ 2019-05-22 7:20 UTC (permalink / raw)
To: devel; +Cc: jiewen.yao, liming.gao, tengfen.sun, chris.wu
Add CmockaLib into UefiHostUnitTestCasePkg.dsc
REF: https://edk2.groups.io/g/devel/message/39893
Signed-off-by: Tengfen Sun <tengfen.sun@intel.com>
---
.../UefiHostUnitTestCasePkg.dsc | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/HBFA/UefiHostUnitTestCasePkg/UefiHostUnitTestCasePkg.dsc b/HBFA/UefiHostUnitTestCasePkg/UefiHostUnitTestCasePkg.dsc
index d116062eb2d3..8fe1f5b76b7b 100644
--- a/HBFA/UefiHostUnitTestCasePkg/UefiHostUnitTestCasePkg.dsc
+++ b/HBFA/UefiHostUnitTestCasePkg/UefiHostUnitTestCasePkg.dsc
@@ -99,6 +99,7 @@
!if $(UNIT_TEST_FRAMEWORK_MODE) == CMOCKA
UnitTestLib|UefiHostUnitTestPkg/Library/UnitTestLibcmocka/UnitTestLibcmocka.inf
UnitTestAssertLib|UefiHostUnitTestPkg/Library/UnitTestAssertLibcmocka/UnitTestAssertLibcmocka.inf
+ CmockaLib|CmockaHostUnitTestPkg/Library/CmockaLib/CmockaLib.inf
!endif
!if $(OPENSSL_TEST_ENABLE)
@@ -181,6 +182,16 @@
!endif
[Components]
+!if $(UNIT_TEST_FRAMEWORK_MODE) == CMOCKA
+ CmockaHostUnitTestPkg/Library/CmockaLib/CmockaLib.inf {
+ <BuildOptions>
+ MSFT:*_*_*_CC_FLAGS == /c /D _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1 /D _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT=1 /D _CRT_NONSTDC_NO_WARNINGS=1 /D _CRT_SECURE_NO_WARNINGS=1 -DHAVE_VSNPRINTF -DHAVE_SNPRINTF
+
+ GCC:*_*_IA32_CC_FLAGS == -m32 -O0 -g -fprofile-arcs -ftest-coverage -std=gnu99 -Wpedantic -Wall -Wshadow -Wmissing-prototypes -Wcast-align -Werror=address -Wstrict-prototypes -Werror=strict-prototypes -Wwrite-strings -Werror=write-strings -Werror-implicit-function-declaration -Wpointer-arith -Werror=pointer-arith -Wdeclaration-after-statement -Werror=declaration-after-statement -Wreturn-type -Werror=return-type -Wuninitialized -Werror=uninitialized -Werror=strict-overflow -Wstrict-overflow=2 -Wno-format-zero-length -Wmissing-field-initializers -Wformat-security -Werror=format-security -fno-common -Wformat -fno-common -fstack-protector-strong -DHAVE_SIGNAL_H
+ GCC:*_*_X64_CC_FLAGS == -m64 -O0 -g -fprofile-arcs -ftest-coverage -std=gnu99 -Wpedantic -Wall -Wshadow -Wmissing-prototypes -Wcast-align -Werror=address -Wstrict-prototypes -Werror=strict-prototypes -Wwrite-strings -Werror=write-strings -Werror-implicit-function-declaration -Wpointer-arith -Werror=pointer-arith -Wdeclaration-after-statement -Werror=declaration-after-statement -Wreturn-type -Werror=return-type -Wuninitialized -Werror=uninitialized -Werror=strict-overflow -Wstrict-overflow=2 -Wno-format-zero-length -Wmissing-field-initializers -Wformat-security -Werror=format-security -fno-common -Wformat -fno-common -fstack-protector-strong -DHAVE_SIGNAL_H
+ }
+!endif
+
UefiHostUnitTestCasePkg/TestCase/FatPkg/FatPei/TestPeiGpt.inf {
<LibraryClasses>
NULL|UefiHostUnitTestCasePkg/TestCase/FatPkg/FatPei/Override/FatPei.inf
--
2.21.0.windows.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 4/4] [staging/HBFA PATCH]: UefiHostUnitTestPkg: Enable cmocka unit test build with CmockaHostUnitTestPkg
2019-05-22 7:20 [PATCH 0/4] [staging/HBFA PATCH]: Enable cmocka unit test build with submodule Sun, Tengfen
` (2 preceding siblings ...)
2019-05-22 7:20 ` [PATCH 3/4] [staging/HBFA PATCH]: UefiHostUnitTestCasePkg: Add CmockaLib Sun, Tengfen
@ 2019-05-22 7:20 ` Sun, Tengfen
3 siblings, 0 replies; 5+ messages in thread
From: Sun, Tengfen @ 2019-05-22 7:20 UTC (permalink / raw)
To: devel; +Cc: jiewen.yao, liming.gao, tengfen.sun, chris.wu
In order to improve the current build process, enable cmocka unit test build with CmockaHostUnitTestPkg.
REF: https://edk2.groups.io/g/devel/message/39893
Signed-off-by: Tengfen Sun <tengfen.sun@intel.com>
---
.../UnitTestAssertLibcmocka.inf | 4 +-
.../UnitTestLibcmocka/UnitTestLibcmocka.inf | 2 +
HBFA/UefiHostUnitTestPkg/ReadMe-cmocka.txt | 85 ++++---------------
.../SampleUnitTestcmocka.inf | 2 +
.../UefiHostUnitTestBuildOption.dsc | 40 +++------
.../UefiHostUnitTestPkg.dsc | 8 ++
6 files changed, 44 insertions(+), 97 deletions(-)
diff --git a/HBFA/UefiHostUnitTestPkg/Library/UnitTestAssertLibcmocka/UnitTestAssertLibcmocka.inf b/HBFA/UefiHostUnitTestPkg/Library/UnitTestAssertLibcmocka/UnitTestAssertLibcmocka.inf
index ef780e1fb0db..fd6098a3136b 100644
--- a/HBFA/UefiHostUnitTestPkg/Library/UnitTestAssertLibcmocka/UnitTestAssertLibcmocka.inf
+++ b/HBFA/UefiHostUnitTestPkg/Library/UnitTestAssertLibcmocka/UnitTestAssertLibcmocka.inf
@@ -15,11 +15,13 @@
[LibraryClasses]
BaseMemoryLib
+ CmockaLib
[Packages]
MdePkg/MdePkg.dec
UnitTestPkg/UnitTestPkg.dec
UefiHostUnitTestPkg/UefiHostUnitTestPkg.dec
-
+ CmockaHostUnitTestPkg/CmockaHostUnitTestPkg.dec
+
[Sources]
UnitTestAssertLib.c
diff --git a/HBFA/UefiHostUnitTestPkg/Library/UnitTestLibcmocka/UnitTestLibcmocka.inf b/HBFA/UefiHostUnitTestPkg/Library/UnitTestLibcmocka/UnitTestLibcmocka.inf
index 376c57d33fac..68bd26c4b7db 100644
--- a/HBFA/UefiHostUnitTestPkg/Library/UnitTestLibcmocka/UnitTestLibcmocka.inf
+++ b/HBFA/UefiHostUnitTestPkg/Library/UnitTestLibcmocka/UnitTestLibcmocka.inf
@@ -17,12 +17,14 @@
BaseLib
MemoryAllocationLib
OsServiceLib
+ CmockaLib
[Packages]
MdePkg/MdePkg.dec
UnitTestPkg/UnitTestPkg.dec
UefiHostTestPkg/UefiHostTestPkg.dec
UefiHostUnitTestPkg/UefiHostUnitTestPkg.dec
+ CmockaHostUnitTestPkg/CmockaHostUnitTestPkg.dec
[Sources]
UnitTestLib.c
diff --git a/HBFA/UefiHostUnitTestPkg/ReadMe-cmocka.txt b/HBFA/UefiHostUnitTestPkg/ReadMe-cmocka.txt
index b1d3781ba5fc..f4b8d51f3058 100644
--- a/HBFA/UefiHostUnitTestPkg/ReadMe-cmocka.txt
+++ b/HBFA/UefiHostUnitTestPkg/ReadMe-cmocka.txt
@@ -1,77 +1,26 @@
How to run cmocka for UEFI code.
=========================
-0) download CMake (http://www.cmake.org/)
-
-1) install cmocka-1.1.5
-Part A: Install cmocka in linux
-1.1 download cmocka-1.1.5.tar.xz (https://cmocka.org/) and unzip it ($tar xJvf cmocka-1.1.5.tar.xz)
-1.2 build
- $ cd cmocka-1.1.5
- $ mkdir build
- $ cd build
- $ export CFLAGS=-m32
- $ export CXXFLAGS=-m32
- $ cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debug -D WITH_STATIC_LIB=ON ..
- $ make
- $ sudo sh -c "echo '<...>/cmocka-1.1.5/build/src' >> /etc/ld.so.conf"
- $ sudo ldconfig
- $ cd ..
- $ mkdir build64
- $ cd build64
- $ export CFLAGS=-m64
- $ export CXXFLAGS=-m64
- $ cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debug -D WITH_STATIC_LIB=ON ..
- $ make
- $ sudo sh -c "echo '<...>/cmocka-1.1.5/build64/src' >> /etc/ld.so.conf"
- $ sudo ldconfig
-
- the lib is at ./src/libcmocka-static.a, ./src/libcmocka.so
-
-1.3 export CMOCKA_INC_PATH=<...>/cmocka-1.1.5/include
- export CMOCKA_LIB_PATH=<...>/cmocka-1.1.5/build/src
- export CMOCKA_LIB_PATH_64=<...>/cmocka-1.1.5/build64/src
- export CMOCKA_LIB_NAME=cmocka[-static]
- export CMOCKA_LIB_NAME_64=cmocka[-static]
-
-Part B: Install cmocka in windows
-1.1 download cmocka-1.1.5 from https://cmocka.org/, and unzip cmocka-1.1.5.tar.xz
-1.2 open visual studio dev command prompt, to go
- cd <...>\cmocka-1.1.5\
- mkdir build
- cd build
- cmake -G "Visual Studio 14 2015" -D WITH_STATIC_LIB=ON ..
-
- mkdir build64
- cd build64
- cmake -G "Visual Studio 14 2015 Win64" -D WITH_STATIC_LIB=ON ..
-
-1.3 load solution at cmocka.sln, and build the solution.
- or type:
- devenv cmocka.sln /Build [Debug|Release] /Project cmocka[-static]
-
- static lib can be found at:
- cmocka-1.1.5\[build|build64]\src\[Debug|Release]\cmocka-static.lib
-
- dynamic lib can be found at:
- cmocka-1.1.5\[build|build64]\src\[Debug|Release]\cmocka.[lib|dll]
-
-1.4 set CMOCKA_INC_PATH=<...>\cmocka-1.1.5\include
- set CMOCKA_LIB_PATH=<...>\cmocka-1.1.5\build\src\[Debug|Release]
- set CMOCKA_LIB_PATH_64=<...>\cmocka-1.1.5\build64\src\[Debug|Release]
- set CMOCKA_LIB_NAME=cmocka[-static].lib
- set CMOCKA_LIB_NAME_64=cmocka[-static].lib
-
-1.5 add env path, only for dynamic lib build
- Add %CMOCKA_LIB_PATH% to %PATH%, for IA32 run.
- Add %CMOCKA_LIB_PATH_64% to %PATH%, for X64 run.
+1) install cmocka
+ Cmocka repository was added as one submodule of HBFA project.
+ The user can use the following commands to clone both main HBFA repo and Cmocka submodule:
+ Add the "--recursive" flag to the git clone command:
+ $ git clone --recursive <HBFA_REPO_URL>
+or
+ Manually initialize and update the submodules after the clone operation on main project:
+ $ git clone <HBFA_REPO_URL>
+ $ git submodule update --init --recursive
+
+ And use the following combined commands to pull the remote submodule updates
+(e.g. Updating the new supported Cmocka release tag):
+ $ git pull --recurse-submodules && git submodule update --recursive
2) run sample code (Basic Mode)
Part A: Build in Linux
- build -p UefiHostUnitTestCasePkg/UefiHostUnitTestCasePkg.dsc -a X64 -t GCC5 -DUNIT_TEST_FRAMEWORK_MODE=CMOCKA --disable-include-path-check
+ build -p UefiHostUnitTestCasePkg/UefiHostUnitTestCasePkg.dsc -a X64 -t GCC5 -DUNIT_TEST_FRAMEWORK_MODE=CMOCKA
<...>/Build/UefiHostUnitTestCasePkg/DEBUG_GCC5/X64/TestBaseSafeIntLib
Part B: Build in Windows
- build -p UefiHostUnitTestCasePkg\UefiHostUnitTestCasePkg.dsc -a X64 -t VS2015x86 -DUNIT_TEST_FRAMEWORK_MODE=CMOCKA --disable-include-path-check
+ build -p UefiHostUnitTestCasePkg\UefiHostUnitTestCasePkg.dsc -a X64 -t VS2015x86 -DUNIT_TEST_FRAMEWORK_MODE=CMOCKA
<...>\Build\UefiHostUnitTestCasePkg\DEBUG_VS2015x86\X64\TestBaseSafeIntLib.exe
You may see below. Have fun
@@ -108,12 +57,12 @@ Int Safe Lib Unit Test Application v0.1
set environment variable: CMOCKA_XML_FILE=<test.xml>
Build in Linux
- build -p UefiHostUnitTestCasePkg/UefiHostUnitTestCasePkg.dsc -a X64 -t GCC5 -DUNIT_TEST_FRAMEWORK_MODE=CMOCKA -DUNIT_TEST_XML_MODE --disable-include-path-check
+ build -p UefiHostUnitTestCasePkg/UefiHostUnitTestCasePkg.dsc -a X64 -t GCC5 -DUNIT_TEST_FRAMEWORK_MODE=CMOCKA -DUNIT_TEST_XML_MODE
export CMOCKA_XML_FILE=TestBaseSafeIntLib.X64.xml
./Build/UefiHostUnitTestCasePkg/DEBUG_GCC5/X64/TestBaseSafeIntLib
Build in Windows
- build -p UefiHostUnitTestCasePkg/UefiHostUnitTestCasePkg.dsc -a X64 -t VS2015x86 -DUNIT_TEST_FRAMEWORK_MODE=CMOCKA -DUNIT_TEST_XML_MODE --disable-include-path-check
+ build -p UefiHostUnitTestCasePkg/UefiHostUnitTestCasePkg.dsc -a X64 -t VS2015x86 -DUNIT_TEST_FRAMEWORK_MODE=CMOCKA -DUNIT_TEST_XML_MODE
set CMOCKA_XML_FILE=TestBaseSafeIntLib.X64.xml
<...>\Build\UefiHostUnitTestCasePkg\DEBUG_VS2015x86\X64\TestBaseSafeIntLib.exe
diff --git a/HBFA/UefiHostUnitTestPkg/Sample/SampleUnitTestcmocka/SampleUnitTestcmocka.inf b/HBFA/UefiHostUnitTestPkg/Sample/SampleUnitTestcmocka/SampleUnitTestcmocka.inf
index 5c7fb45b3dd6..f33c0b612acf 100644
--- a/HBFA/UefiHostUnitTestPkg/Sample/SampleUnitTestcmocka/SampleUnitTestcmocka.inf
+++ b/HBFA/UefiHostUnitTestPkg/Sample/SampleUnitTestcmocka/SampleUnitTestcmocka.inf
@@ -23,6 +23,7 @@
MdePkg/MdePkg.dec
UnitTestPkg/UnitTestPkg.dec
UefiHostUnitTestPkg/UefiHostUnitTestPkg.dec
+ CmockaHostUnitTestPkg/CmockaHostUnitTestPkg.dec
[Protocols]
@@ -33,6 +34,7 @@
UnitTestLib
UnitTestAssertLib
PrintLib
+ CmockaLib
[Guids]
diff --git a/HBFA/UefiHostUnitTestPkg/UefiHostUnitTestBuildOption.dsc b/HBFA/UefiHostUnitTestPkg/UefiHostUnitTestBuildOption.dsc
index 74450f03a935..2835741e2ef7 100644
--- a/HBFA/UefiHostUnitTestPkg/UefiHostUnitTestBuildOption.dsc
+++ b/HBFA/UefiHostUnitTestPkg/UefiHostUnitTestBuildOption.dsc
@@ -25,10 +25,6 @@
GCC:*_*_*_CC_FLAGS = -I"$(CUNIT_INC_PATH)"
!endif
-!if $(UNIT_TEST_FRAMEWORK_MODE) == CMOCKA
- GCC:*_*_*_CC_FLAGS = -I"$(CMOCKA_INC_PATH)"
-!endif
-
MSFT:*_*_IA32_CC_FLAGS == /nologo /W4 /WX /Gy /c /D UNICODE /Od /FIAutoGen.h /EHs-c- /GF /Gs8192 /Zi /Gm /D _CRT_SECURE_NO_WARNINGS /D _CRT_SECURE_NO_DEPRECATE /DHOST_DEBUG_MESSAGE=1
MSFT:*_*_X64_CC_FLAGS == /nologo /W4 /WX /Gy /c /D UNICODE /Od /FIAutoGen.h /EHs-c- /GF /Gs8192 /Zi /Gm /D _CRT_SECURE_NO_WARNINGS /D _CRT_SECURE_NO_DEPRECATE /DHOST_DEBUG_MESSAGE=1
MSFT:DEBUG_*_*_CC_FLAGS = /Od /GL-
@@ -37,10 +33,6 @@
MSFT:*_*_*_CC_FLAGS = /I"%CUNIT_INC_PATH%"
!endif
-!if $(UNIT_TEST_FRAMEWORK_MODE) == CMOCKA
- MSFT:*_*_*_CC_FLAGS = /I"%CMOCKA_INC_PATH%"
-!endif
-
[BuildOptions.common.EDKII.USER_DEFINED]
MSFT:*_*_IA32_DLINK_FLAGS == /out:"$(BIN_DIR)\$(BASE_NAME).exe" /base:0x10000000 /pdb:"$(BIN_DIR)\$(BASE_NAME).pdb" /LIBPATH:"$(VCINSTALLDIR)\Lib" /LIBPATH:"$(VCINSTALLDIR)\PlatformSdk\Lib" /LIBPATH:"%UniversalCRTSdkDir%lib\%UCRTVersion%\ucrt\x86" /LIBPATH:"%WindowsSdkDir%lib\%WindowsSDKLibVersion%\um\x86" /NOLOGO /SUBSYSTEM:CONSOLE /NODEFAULTLIB /IGNORE:4086 /MAP /OPT:REF /DEBUG /MACHINE:I386 /LTCG Kernel32.lib MSVCRTD.lib Gdi32.lib User32.lib Winmm.lib Advapi32.lib
MSFT:*_VS2015_IA32_DLINK_FLAGS == /out:"$(BIN_DIR)\$(BASE_NAME).exe" /base:0x10000000 /pdb:"$(BIN_DIR)\$(BASE_NAME).pdb" /LIBPATH:"$(VCINSTALLDIR)\Lib" /LIBPATH:"$(VCINSTALLDIR)\PlatformSdk\Lib" /LIBPATH:"%UniversalCRTSdkDir%lib\%UCRTVersion%\ucrt\x86" /LIBPATH:"%WindowsSdkDir%lib\%WindowsSDKLibVersion%\um\x86" /NOLOGO /SUBSYSTEM:CONSOLE /NODEFAULTLIB /IGNORE:4086 /MAP /OPT:REF /DEBUG /MACHINE:I386 /LTCG Kernel32.lib MSVCRTD.lib vcruntimed.lib ucrtd.lib Gdi32.lib User32.lib Winmm.lib Advapi32.lib
@@ -55,10 +47,10 @@
!endif
!if $(UNIT_TEST_FRAMEWORK_MODE) == CMOCKA
- MSFT:*_*_IA32_DLINK_FLAGS == /out:"$(BIN_DIR)\$(BASE_NAME).exe" /base:0x10000000 /pdb:"$(BIN_DIR)\$(BASE_NAME).pdb" /LIBPATH:"$(VCINSTALLDIR)\Lib" /LIBPATH:"$(VCINSTALLDIR)\PlatformSdk\Lib" /LIBPATH:"%UniversalCRTSdkDir%lib\%UCRTVersion%\ucrt\x86" /LIBPATH:"%WindowsSdkDir%lib\%WindowsSDKLibVersion%\um\x86" /LIBPATH:"%CMOCKA_LIB_PATH%" /NOLOGO /SUBSYSTEM:CONSOLE /IGNORE:4086 /MAP /OPT:REF /DEBUG /MACHINE:I386 /LTCG Kernel32.lib MSVCRTD.lib Gdi32.lib User32.lib Winmm.lib Advapi32.lib %CMOCKA_LIB_NAME%
- MSFT:*_VS2015_IA32_DLINK_FLAGS == /out:"$(BIN_DIR)\$(BASE_NAME).exe" /base:0x10000000 /pdb:"$(BIN_DIR)\$(BASE_NAME).pdb" /LIBPATH:"$(VCINSTALLDIR)\Lib" /LIBPATH:"$(VCINSTALLDIR)\PlatformSdk\Lib" /LIBPATH:"%UniversalCRTSdkDir%lib\%UCRTVersion%\ucrt\x86" /LIBPATH:"%WindowsSdkDir%lib\%WindowsSDKLibVersion%\um\x86" /LIBPATH:"%CMOCKA_LIB_PATH%" /NOLOGO /SUBSYSTEM:CONSOLE /IGNORE:4086 /MAP /OPT:REF /DEBUG /MACHINE:I386 /LTCG Kernel32.lib MSVCRTD.lib vcruntimed.lib ucrtd.lib Gdi32.lib User32.lib Winmm.lib Advapi32.lib %CMOCKA_LIB_NAME%
- MSFT:*_VS2015x86_IA32_DLINK_FLAGS == /out:"$(BIN_DIR)\$(BASE_NAME).exe" /base:0x10000000 /pdb:"$(BIN_DIR)\$(BASE_NAME).pdb" /LIBPATH:"$(VCINSTALLDIR)\Lib" /LIBPATH:"$(VCINSTALLDIR)\PlatformSdk\Lib" /LIBPATH:"%UniversalCRTSdkDir%lib\%UCRTVersion%\ucrt\x86" /LIBPATH:"%WindowsSdkDir%lib\%WindowsSDKLibVersion%\um\x86" /LIBPATH:"%CMOCKA_LIB_PATH%" /NOLOGO /SUBSYSTEM:CONSOLE /IGNORE:4086 /MAP /OPT:REF /DEBUG /MACHINE:I386 /LTCG Kernel32.lib MSVCRTD.lib vcruntimed.lib ucrtd.lib Gdi32.lib User32.lib Winmm.lib Advapi32.lib %CMOCKA_LIB_NAME%
- MSFT:*_VS2017_IA32_DLINK_FLAGS == /out:"$(BIN_DIR)\$(BASE_NAME).exe" /base:0x10000000 /pdb:"$(BIN_DIR)\$(BASE_NAME).pdb" /LIBPATH:"%VCToolsInstallDir%lib\x86" /LIBPATH:"%UniversalCRTSdkDir%lib\%UCRTVersion%\ucrt\x86" /LIBPATH:"%WindowsSdkDir%lib\%WindowsSDKLibVersion%\um\x86" /NOLOGO /SUBSYSTEM:CONSOLE /LIBPATH:"%CMOCKA_LIB_PATH%" /IGNORE:4086 /MAP /OPT:REF /DEBUG /MACHINE:I386 /LTCG Kernel32.lib MSVCRTD.lib vcruntimed.lib ucrtd.lib Gdi32.lib User32.lib Winmm.lib Advapi32.lib %CMOCKA_LIB_NAME%
+ MSFT:*_*_IA32_DLINK_FLAGS == /out:"$(BIN_DIR)\$(BASE_NAME).exe" /base:0x10000000 /pdb:"$(BIN_DIR)\$(BASE_NAME).pdb" /LIBPATH:"$(VCINSTALLDIR)\Lib" /LIBPATH:"$(VCINSTALLDIR)\PlatformSdk\Lib" /LIBPATH:"%UniversalCRTSdkDir%lib\%UCRTVersion%\ucrt\x86" /LIBPATH:"%WindowsSdkDir%lib\%WindowsSDKLibVersion%\um\x86" /NOLOGO /SUBSYSTEM:CONSOLE /IGNORE:4086 /MAP /OPT:REF /DEBUG /MACHINE:I386 /LTCG Kernel32.lib MSVCRTD.lib Gdi32.lib User32.lib Winmm.lib Advapi32.lib
+ MSFT:*_VS2015_IA32_DLINK_FLAGS == /out:"$(BIN_DIR)\$(BASE_NAME).exe" /base:0x10000000 /pdb:"$(BIN_DIR)\$(BASE_NAME).pdb" /LIBPATH:"$(VCINSTALLDIR)\Lib" /LIBPATH:"$(VCINSTALLDIR)\PlatformSdk\Lib" /LIBPATH:"%UniversalCRTSdkDir%lib\%UCRTVersion%\ucrt\x86" /LIBPATH:"%WindowsSdkDir%lib\%WindowsSDKLibVersion%\um\x86" /NOLOGO /SUBSYSTEM:CONSOLE /IGNORE:4086 /MAP /OPT:REF /DEBUG /MACHINE:I386 /LTCG Kernel32.lib MSVCRTD.lib vcruntimed.lib ucrtd.lib Gdi32.lib User32.lib Winmm.lib Advapi32.lib
+ MSFT:*_VS2015x86_IA32_DLINK_FLAGS == /out:"$(BIN_DIR)\$(BASE_NAME).exe" /base:0x10000000 /pdb:"$(BIN_DIR)\$(BASE_NAME).pdb" /LIBPATH:"$(VCINSTALLDIR)\Lib" /LIBPATH:"$(VCINSTALLDIR)\PlatformSdk\Lib" /LIBPATH:"%UniversalCRTSdkDir%lib\%UCRTVersion%\ucrt\x86" /LIBPATH:"%WindowsSdkDir%lib\%WindowsSDKLibVersion%\um\x86" /NOLOGO /SUBSYSTEM:CONSOLE /IGNORE:4086 /MAP /OPT:REF /DEBUG /MACHINE:I386 /LTCG Kernel32.lib MSVCRTD.lib vcruntimed.lib ucrtd.lib Gdi32.lib User32.lib Winmm.lib Advapi32.lib
+ MSFT:*_VS2017_IA32_DLINK_FLAGS == /out:"$(BIN_DIR)\$(BASE_NAME).exe" /base:0x10000000 /pdb:"$(BIN_DIR)\$(BASE_NAME).pdb" /LIBPATH:"%VCToolsInstallDir%lib\x86" /LIBPATH:"%UniversalCRTSdkDir%lib\%UCRTVersion%\ucrt\x86" /LIBPATH:"%WindowsSdkDir%lib\%WindowsSDKLibVersion%\um\x86" /NOLOGO /SUBSYSTEM:CONSOLE /IGNORE:4086 /MAP /OPT:REF /DEBUG /MACHINE:I386 /LTCG Kernel32.lib MSVCRTD.lib vcruntimed.lib ucrtd.lib Gdi32.lib User32.lib Winmm.lib Advapi32.lib
!endif
MSFT:*_*_IA32_CC_FLAGS == /nologo /W4 /WX /Gy /c /D UNICODE /Od /FIAutoGen.h /EHs-c- /GF /Gs8192 /Zi /Gm /D _CRT_SECURE_NO_WARNINGS /D _CRT_SECURE_NO_DEPRECATE
@@ -79,10 +71,10 @@
!endif
!if $(UNIT_TEST_FRAMEWORK_MODE) == CMOCKA
- MSFT:*_*_X64_DLINK_FLAGS == /out:"$(BIN_DIR)\$(BASE_NAME).exe" /base:0x10000000 /pdb:"$(BIN_DIR)\$(BASE_NAME).pdb" /LIBPATH:"$(VCINSTALLDIR)\Lib\AMD64" /LIBPATH:"%UniversalCRTSdkDir%lib\%UCRTVersion%\ucrt\x64" /LIBPATH:"%WindowsSdkDir%lib\%WindowsSDKLibVersion%\um\x64" /LIBPATH:"%CMOCKA_LIB_PATH_64%" /NOLOGO /SUBSYSTEM:CONSOLE /IGNORE:4086 /MAP /OPT:REF /DEBUG /MACHINE:AMD64 /LTCG Kernel32.lib MSVCRTD.lib Gdi32.lib User32.lib Winmm.lib Advapi32.lib %CMOCKA_LIB_NAME_64%
- MSFT:*_VS2015_X64_DLINK_FLAGS == /out:"$(BIN_DIR)\$(BASE_NAME).exe" /base:0x10000000 /pdb:"$(BIN_DIR)\$(BASE_NAME).pdb" /LIBPATH:"$(VCINSTALLDIR)\Lib\AMD64" /LIBPATH:"%UniversalCRTSdkDir%lib\%UCRTVersion%\ucrt\x64" /LIBPATH:"%WindowsSdkDir%lib\%WindowsSDKLibVersion%\um\x64" /LIBPATH:"%CMOCKA_LIB_PATH_64%" /NOLOGO /SUBSYSTEM:CONSOLE /IGNORE:4086 /MAP /OPT:REF /DEBUG /MACHINE:AMD64 /LTCG Kernel32.lib MSVCRTD.lib vcruntimed.lib ucrtd.lib Gdi32.lib User32.lib Winmm.lib Advapi32.lib %CMOCKA_LIB_NAME_64%
- MSFT:*_VS2015x86_X64_DLINK_FLAGS == /out:"$(BIN_DIR)\$(BASE_NAME).exe" /base:0x10000000 /pdb:"$(BIN_DIR)\$(BASE_NAME).pdb" /LIBPATH:"$(VCINSTALLDIR)\Lib\AMD64" /LIBPATH:"%UniversalCRTSdkDir%lib\%UCRTVersion%\ucrt\x64" /LIBPATH:"%WindowsSdkDir%lib\%WindowsSDKLibVersion%\um\x64" /LIBPATH:"%CMOCKA_LIB_PATH_64%" /NOLOGO /SUBSYSTEM:CONSOLE /IGNORE:4086 /MAP /OPT:REF /DEBUG /MACHINE:AMD64 /LTCG Kernel32.lib MSVCRTD.lib vcruntimed.lib ucrtd.lib Gdi32.lib User32.lib Winmm.lib Advapi32.lib %CMOCKA_LIB_NAME_64%
- MSFT:*_VS2017_X64_DLINK_FLAGS == /out:"$(BIN_DIR)\$(BASE_NAME).exe" /base:0x10000000 /pdb:"$(BIN_DIR)\$(BASE_NAME).pdb" /LIBPATH:"%VCToolsInstallDir%lib\x64" /LIBPATH:"%UniversalCRTSdkDir%lib\%UCRTVersion%\ucrt\x64" /LIBPATH:"%WindowsSdkDir%lib\%WindowsSDKLibVersion%\um\x64" /LIBPATH:"%CMOCKA_LIB_PATH_64%" /NOLOGO /SUBSYSTEM:CONSOLE /IGNORE:4086 /MAP /OPT:REF /DEBUG /MACHINE:AMD64 /LTCG Kernel32.lib MSVCRTD.lib vcruntimed.lib ucrtd.lib Gdi32.lib User32.lib Winmm.lib Advapi32.lib %CMOCKA_LIB_NAME_64%
+ MSFT:*_*_X64_DLINK_FLAGS == /out:"$(BIN_DIR)\$(BASE_NAME).exe" /base:0x10000000 /pdb:"$(BIN_DIR)\$(BASE_NAME).pdb" /LIBPATH:"$(VCINSTALLDIR)\Lib\AMD64" /LIBPATH:"%UniversalCRTSdkDir%lib\%UCRTVersion%\ucrt\x64" /LIBPATH:"%WindowsSdkDir%lib\%WindowsSDKLibVersion%\um\x64" /NOLOGO /SUBSYSTEM:CONSOLE /IGNORE:4086 /MAP /OPT:REF /DEBUG /MACHINE:AMD64 /LTCG Kernel32.lib MSVCRTD.lib Gdi32.lib User32.lib Winmm.lib Advapi32.lib
+ MSFT:*_VS2015_X64_DLINK_FLAGS == /out:"$(BIN_DIR)\$(BASE_NAME).exe" /base:0x10000000 /pdb:"$(BIN_DIR)\$(BASE_NAME).pdb" /LIBPATH:"$(VCINSTALLDIR)\Lib\AMD64" /LIBPATH:"%UniversalCRTSdkDir%lib\%UCRTVersion%\ucrt\x64" /LIBPATH:"%WindowsSdkDir%lib\%WindowsSDKLibVersion%\um\x64" /NOLOGO /SUBSYSTEM:CONSOLE /IGNORE:4086 /MAP /OPT:REF /DEBUG /MACHINE:AMD64 /LTCG Kernel32.lib MSVCRTD.lib vcruntimed.lib ucrtd.lib Gdi32.lib User32.lib Winmm.lib Advapi32.lib
+ MSFT:*_VS2015x86_X64_DLINK_FLAGS == /out:"$(BIN_DIR)\$(BASE_NAME).exe" /base:0x10000000 /pdb:"$(BIN_DIR)\$(BASE_NAME).pdb" /LIBPATH:"$(VCINSTALLDIR)\Lib\AMD64" /LIBPATH:"%UniversalCRTSdkDir%lib\%UCRTVersion%\ucrt\x64" /LIBPATH:"%WindowsSdkDir%lib\%WindowsSDKLibVersion%\um\x64" /NOLOGO /SUBSYSTEM:CONSOLE /IGNORE:4086 /MAP /OPT:REF /DEBUG /MACHINE:AMD64 /LTCG Kernel32.lib MSVCRTD.lib vcruntimed.lib ucrtd.lib Gdi32.lib User32.lib Winmm.lib Advapi32.lib
+ MSFT:*_VS2017_X64_DLINK_FLAGS == /out:"$(BIN_DIR)\$(BASE_NAME).exe" /base:0x10000000 /pdb:"$(BIN_DIR)\$(BASE_NAME).pdb" /LIBPATH:"%VCToolsInstallDir%lib\x64" /LIBPATH:"%UniversalCRTSdkDir%lib\%UCRTVersion%\ucrt\x64" /LIBPATH:"%WindowsSdkDir%lib\%WindowsSDKLibVersion%\um\x64" /NOLOGO /SUBSYSTEM:CONSOLE /IGNORE:4086 /MAP /OPT:REF /DEBUG /MACHINE:AMD64 /LTCG Kernel32.lib MSVCRTD.lib vcruntimed.lib ucrtd.lib Gdi32.lib User32.lib Winmm.lib Advapi32.lib
!endif
MSFT:*_*_X64_CC_FLAGS == /nologo /W4 /WX /Gy /c /D UNICODE /Od /FIAutoGen.h /EHs-c- /GF /Gs8192 /Zi /Gm /D _CRT_SECURE_NO_WARNINGS /D _CRT_SECURE_NO_DEPRECATE
@@ -95,10 +87,6 @@
MSFT:*_*_*_CC_FLAGS = /I"%CUNIT_INC_PATH%"
!endif
-!if $(UNIT_TEST_FRAMEWORK_MODE) == CMOCKA
- MSFT:*_*_*_CC_FLAGS = /I"%CMOCKA_INC_PATH%"
-!endif
-
GCC:*_*_IA32_DLINK_FLAGS == -o $(BIN_DIR)/$(BASE_NAME) -m32 -L/usr/X11R6/lib
GCC:*_*_IA32_CC_FLAGS == -m32 -g -fshort-wchar -fno-strict-aliasing -Wall -malign-double -idirafter/usr/include -c -include $(DEST_DIR_DEBUG)/AutoGen.h
GCC:*_*_IA32_PP_FLAGS == -m32 -E -x assembler-with-cpp -include $(DEST_DIR_DEBUG)/AutoGen.h
@@ -111,8 +99,8 @@
!endif
!if $(UNIT_TEST_FRAMEWORK_MODE) == CMOCKA
- GCC:*_*_IA32_DLINK_FLAGS == -o $(BIN_DIR)/$(BASE_NAME) -m32 -L/usr/X11R6/lib -L$(CMOCKA_LIB_PATH)
- GCC:*_*_IA32_DLINK2_FLAGS == -Wno-error -no-pie -l$(CMOCKA_LIB_NAME)
+ GCC:*_*_IA32_DLINK_FLAGS == -o $(BIN_DIR)/$(BASE_NAME) -m32 -L/usr/X11R6/lib
+ GCC:*_*_IA32_DLINK2_FLAGS == -Wno-error -no-pie
!endif
GCC:*_*_X64_DLINK_FLAGS == -o $(BIN_DIR)/$(BASE_NAME) -m64 -L/usr/X11R6/lib
@@ -129,8 +117,8 @@
!endif
!if $(UNIT_TEST_FRAMEWORK_MODE) == CMOCKA
- GCC:*_*_X64_DLINK_FLAGS == -o $(BIN_DIR)/$(BASE_NAME) -m64 -L/usr/X11R6/lib -L$(CMOCKA_LIB_PATH_64)
- GCC:*_*_X64_DLINK2_FLAGS == -Wno-error -no-pie -l$(CMOCKA_LIB_NAME_64)
+ GCC:*_*_X64_DLINK_FLAGS == -o $(BIN_DIR)/$(BASE_NAME) -m64 -L/usr/X11R6/lib
+ GCC:*_*_X64_DLINK2_FLAGS == -Wno-error -no-pie
!endif
GCC:*_GCC5_*_CC_FLAGS = -fstack-protector -fstack-protector-strong -fstack-protector-all
@@ -143,7 +131,3 @@
!if $(UNIT_TEST_FRAMEWORK_MODE) == CUNIT
GCC:*_*_*_CC_FLAGS = -I"$(CUNIT_INC_PATH)"
!endif
-
-!if $(UNIT_TEST_FRAMEWORK_MODE) == CMOCKA
- GCC:*_*_*_CC_FLAGS = -I"$(CMOCKA_INC_PATH)"
-!endif
diff --git a/HBFA/UefiHostUnitTestPkg/UefiHostUnitTestPkg.dsc b/HBFA/UefiHostUnitTestPkg/UefiHostUnitTestPkg.dsc
index 59ab6700d2c6..0f56d1ebfb22 100644
--- a/HBFA/UefiHostUnitTestPkg/UefiHostUnitTestPkg.dsc
+++ b/HBFA/UefiHostUnitTestPkg/UefiHostUnitTestPkg.dsc
@@ -84,6 +84,7 @@
!if $(UNIT_TEST_FRAMEWORK_MODE) == CMOCKA
UnitTestLib|UefiHostUnitTestPkg/Library/UnitTestLibcmocka/UnitTestLibcmocka.inf
UnitTestAssertLib|UefiHostUnitTestPkg/Library/UnitTestAssertLibcmocka/UnitTestAssertLibcmocka.inf
+ CmockaLib|CmockaHostUnitTestPkg/Library/CmockaLib/CmockaLib.inf
!endif
[LibraryClasses.common.USER_DEFINED]
@@ -96,6 +97,13 @@
!endif
!if $(UNIT_TEST_FRAMEWORK_MODE) == CMOCKA
+ CmockaHostUnitTestPkg/Library/CmockaLib/CmockaLib.inf {
+ <BuildOptions>
+ MSFT:*_*_*_CC_FLAGS == /c /D _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1 /D _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT=1 /D _CRT_NONSTDC_NO_WARNINGS=1 /D _CRT_SECURE_NO_WARNINGS=1 -DHAVE_VSNPRINTF -DHAVE_SNPRINTF
+
+ GCC:*_*_IA32_CC_FLAGS == -m32 -O0 -g -fprofile-arcs -ftest-coverage -std=gnu99 -Wpedantic -Wall -Wshadow -Wmissing-prototypes -Wcast-align -Werror=address -Wstrict-prototypes -Werror=strict-prototypes -Wwrite-strings -Werror=write-strings -Werror-implicit-function-declaration -Wpointer-arith -Werror=pointer-arith -Wdeclaration-after-statement -Werror=declaration-after-statement -Wreturn-type -Werror=return-type -Wuninitialized -Werror=uninitialized -Werror=strict-overflow -Wstrict-overflow=2 -Wno-format-zero-length -Wmissing-field-initializers -Wformat-security -Werror=format-security -fno-common -Wformat -fno-common -fstack-protector-strong -DHAVE_SIGNAL_H
+ GCC:*_*_X64_CC_FLAGS == -m64 -O0 -g -fprofile-arcs -ftest-coverage -std=gnu99 -Wpedantic -Wall -Wshadow -Wmissing-prototypes -Wcast-align -Werror=address -Wstrict-prototypes -Werror=strict-prototypes -Wwrite-strings -Werror=write-strings -Werror-implicit-function-declaration -Wpointer-arith -Werror=pointer-arith -Wdeclaration-after-statement -Werror=declaration-after-statement -Wreturn-type -Werror=return-type -Wuninitialized -Werror=uninitialized -Werror=strict-overflow -Wstrict-overflow=2 -Wno-format-zero-length -Wmissing-field-initializers -Wformat-security -Werror=format-security -fno-common -Wformat -fno-common -fstack-protector-strong -DHAVE_SIGNAL_H
+ }
UefiHostUnitTestPkg/Sample/SampleUnitTestcmocka/SampleUnitTestcmocka.inf
!endif
--
2.21.0.windows.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
end of thread, other threads:[~2019-05-22 7:21 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-05-22 7:20 [PATCH 0/4] [staging/HBFA PATCH]: Enable cmocka unit test build with submodule Sun, Tengfen
2019-05-22 7:20 ` [PATCH 1/4] [staging/HBFA PATCH]: CmockaHostUnitTestPkg: Add cmocka submodule Sun, Tengfen
2019-05-22 7:20 ` [PATCH 2/4] [staging/HBFA PATCH]: CmockaHostUnitTestPkg: Enable CmockaHostUnitTestPkg build Sun, Tengfen
2019-05-22 7:20 ` [PATCH 3/4] [staging/HBFA PATCH]: UefiHostUnitTestCasePkg: Add CmockaLib Sun, Tengfen
2019-05-22 7:20 ` [PATCH 4/4] [staging/HBFA PATCH]: UefiHostUnitTestPkg: Enable cmocka unit test build with CmockaHostUnitTestPkg Sun, Tengfen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox