mirror of
git://git.openembedded.org/meta-openembedded
synced 2026-01-01 13:58:06 +00:00
cmocka: add recipe
includes ptest and bundling of examples that can be used for testing Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
parent
916158a379
commit
f946444879
|
|
@ -886,6 +886,7 @@ RDEPENDS_packagegroup-meta-oe-support_remove_powerpc = "ssiapi"
|
|||
|
||||
RDEPENDS_packagegroup-meta-oe-test ="\
|
||||
bats \
|
||||
cmocka \
|
||||
cppunit \
|
||||
cukinia \
|
||||
cunit \
|
||||
|
|
@ -916,6 +917,7 @@ RDEPENDS_packagegroup-meta-oe-ptest-packages = "\
|
|||
uthash-ptest \
|
||||
libee-ptest \
|
||||
poco-ptest \
|
||||
cmocka-ptest \
|
||||
"
|
||||
RDEPENDS_packagegroup-meta-oe-ptest-packages_append_x86 = " mcelog-ptest"
|
||||
RDEPENDS_packagegroup-meta-oe-ptest-packages_append_x86-64 = " mcelog-ptest"
|
||||
|
|
|
|||
39
meta-oe/recipes-test/cmocka/cmocka_1.1.5.bb
Normal file
39
meta-oe/recipes-test/cmocka/cmocka_1.1.5.bb
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
DESCRIPTION = "cmocka is an elegant unit testing framework for C with support for mock \
|
||||
objects. It only requires the standard C library, works on a range of computing \
|
||||
platforms (including embedded) and with different compilers."
|
||||
HOMEPAGE = "https://cmocka.org/"
|
||||
|
||||
LICENSE = "Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=3b83ef96387f14655fc854ddc3c6bd57"
|
||||
|
||||
SRCREV = "56eb3a183fc222120f86d0c54fd033992c30135e"
|
||||
SRC_URI = "git://git.cryptomilk.org/projects/cmocka.git \
|
||||
file://run-ptest \
|
||||
file://cmocka-uintptr_t.patch \
|
||||
"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit cmake ptest
|
||||
|
||||
EXTRA_OECMAKE = "${@bb.utils.contains('PTEST_ENABLED', '1', '-DCMAKE_BUILD_TYPE=Debug -DUNIT_TESTING=ON', '', d)}"
|
||||
|
||||
do_install_append () {
|
||||
install -d ${D}${datadir}/${BPN}/example
|
||||
install -d ${D}${datadir}/${BPN}/example/mock/chef_wrap
|
||||
install -d ${D}${datadir}/${BPN}/example/mock/uptime
|
||||
|
||||
install -m 0755 ${B}/example/*_test ${D}/${datadir}/${BPN}/example
|
||||
install -m 0755 ${B}/example/mock/chef_wrap/waiter_test_wrap ${D}/${datadir}/${BPN}/example/mock/chef_wrap
|
||||
install -m 0755 ${B}/example/mock/uptime/uptime ${D}/${datadir}/${BPN}/example/mock/uptime
|
||||
install -m 0755 ${B}/example/mock/uptime/test_uptime ${D}/${datadir}/${BPN}/example/mock/uptime
|
||||
}
|
||||
|
||||
do_install_ptest () {
|
||||
install -d ${D}${PTEST_PATH}/tests
|
||||
install -m 0755 ${B}/tests/test_* ${D}${PTEST_PATH}/tests
|
||||
}
|
||||
|
||||
PACKAGE_BEFORE_PN += "${PN}-examples"
|
||||
|
||||
FILES_${PN}-examples = "${datadir}/${BPN}/example"
|
||||
53
meta-oe/recipes-test/cmocka/files/cmocka-uintptr_t.patch
Normal file
53
meta-oe/recipes-test/cmocka/files/cmocka-uintptr_t.patch
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
From 5bd7b5d04435bd593349825973ce32290f5f604d Mon Sep 17 00:00:00 2001
|
||||
From: Changqing Li <changqing.li@windriver.com>
|
||||
Date: Wed, 25 Jul 2018 09:55:25 +0800
|
||||
Subject: [PATCH] samba: cmocka.h: fix musl libc conflicting types error
|
||||
|
||||
Fix build on qemumips64(el)
|
||||
|
||||
taken from:
|
||||
[PATCH] libldb: fix musl libc conflicting types error
|
||||
|
||||
/third_party/cmocka/cmocka.h:126:28: error: conflicting types for 'uintptr_t'
|
||||
typedef unsigned int uintptr_t;
|
||||
^~~~~~~~~
|
||||
use __DEFINED_uintptr_t in alltypes.h to check if uintptr already defined
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Changqing Li <changqing.li@windriver.com>
|
||||
Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
|
||||
|
||||
Taken from [PATCH] samba: cmocka.h: fix musl libc conflicting types error
|
||||
https://git.openembedded.org/meta-openembedded/commit/meta-networking/recipes-connectivity/samba?id=b758150d30a5fbdc47c465d0e9dca3a7e6d71f3c
|
||||
|
||||
Signed-off-by: Armin Kuster <akuster808@gmail.com>
|
||||
|
||||
This fix is not in cmocka, so pending pending??
|
||||
|
||||
|
||||
Index: git/include/cmocka.h
|
||||
===================================================================
|
||||
--- git.orig/include/cmocka.h
|
||||
+++ git/include/cmocka.h
|
||||
@@ -116,7 +116,7 @@ typedef uintmax_t LargestIntegralType;
|
||||
((LargestIntegralType)(value))
|
||||
|
||||
/* Smallest integral type capable of holding a pointer. */
|
||||
-#if !defined(_UINTPTR_T) && !defined(_UINTPTR_T_DEFINED)
|
||||
+#if !defined(__DEFINED_uintptr_t)
|
||||
# if defined(_WIN32)
|
||||
/* WIN32 is an ILP32 platform */
|
||||
typedef unsigned int uintptr_t;
|
||||
@@ -140,9 +140,8 @@ typedef uintmax_t LargestIntegralType;
|
||||
# endif /* __WORDSIZE */
|
||||
# endif /* _WIN32 */
|
||||
|
||||
-# define _UINTPTR_T
|
||||
-# define _UINTPTR_T_DEFINED
|
||||
-#endif /* !defined(_UINTPTR_T) || !defined(_UINTPTR_T_DEFINED) */
|
||||
+# define __DEFINED_uintptr_t
|
||||
+#endif /* !defined(__DEFINED_uintptr_t) */
|
||||
|
||||
/* Perform an unsigned cast to uintptr_t. */
|
||||
#define cast_to_pointer_integral_type(value) \
|
||||
10
meta-oe/recipes-test/cmocka/files/run-ptest
Normal file
10
meta-oe/recipes-test/cmocka/files/run-ptest
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
#!/bin/sh
|
||||
|
||||
cd tests
|
||||
for i in `ls *`; do
|
||||
if [ ./$i ] ; then
|
||||
echo "PASS: $i"
|
||||
else
|
||||
echo "FAIL: $i"
|
||||
fi
|
||||
done
|
||||
Loading…
Reference in New Issue
Block a user