diff options
-rw-r--r-- | meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb | 2 | ||||
-rw-r--r-- | meta-oe/recipes-test/cmocka/cmocka_1.1.5.bb | 39 | ||||
-rw-r--r-- | meta-oe/recipes-test/cmocka/files/cmocka-uintptr_t.patch | 53 | ||||
-rw-r--r-- | meta-oe/recipes-test/cmocka/files/run-ptest | 10 |
4 files changed, 104 insertions, 0 deletions
diff --git a/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb b/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb index 46cc935c66..9bfc8ffaa4 100644 --- a/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb +++ b/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb | |||
@@ -886,6 +886,7 @@ RDEPENDS_packagegroup-meta-oe-support_remove_powerpc = "ssiapi" | |||
886 | 886 | ||
887 | RDEPENDS_packagegroup-meta-oe-test ="\ | 887 | RDEPENDS_packagegroup-meta-oe-test ="\ |
888 | bats \ | 888 | bats \ |
889 | cmocka \ | ||
889 | cppunit \ | 890 | cppunit \ |
890 | cukinia \ | 891 | cukinia \ |
891 | cunit \ | 892 | cunit \ |
@@ -916,6 +917,7 @@ RDEPENDS_packagegroup-meta-oe-ptest-packages = "\ | |||
916 | uthash-ptest \ | 917 | uthash-ptest \ |
917 | libee-ptest \ | 918 | libee-ptest \ |
918 | poco-ptest \ | 919 | poco-ptest \ |
920 | cmocka-ptest \ | ||
919 | " | 921 | " |
920 | RDEPENDS_packagegroup-meta-oe-ptest-packages_append_x86 = " mcelog-ptest" | 922 | RDEPENDS_packagegroup-meta-oe-ptest-packages_append_x86 = " mcelog-ptest" |
921 | RDEPENDS_packagegroup-meta-oe-ptest-packages_append_x86-64 = " mcelog-ptest" | 923 | RDEPENDS_packagegroup-meta-oe-ptest-packages_append_x86-64 = " mcelog-ptest" |
diff --git a/meta-oe/recipes-test/cmocka/cmocka_1.1.5.bb b/meta-oe/recipes-test/cmocka/cmocka_1.1.5.bb new file mode 100644 index 0000000000..5aee5ef931 --- /dev/null +++ b/meta-oe/recipes-test/cmocka/cmocka_1.1.5.bb | |||
@@ -0,0 +1,39 @@ | |||
1 | DESCRIPTION = "cmocka is an elegant unit testing framework for C with support for mock \ | ||
2 | objects. It only requires the standard C library, works on a range of computing \ | ||
3 | platforms (including embedded) and with different compilers." | ||
4 | HOMEPAGE = "https://cmocka.org/" | ||
5 | |||
6 | LICENSE = "Apache-2.0" | ||
7 | LIC_FILES_CHKSUM = "file://COPYING;md5=3b83ef96387f14655fc854ddc3c6bd57" | ||
8 | |||
9 | SRCREV = "56eb3a183fc222120f86d0c54fd033992c30135e" | ||
10 | SRC_URI = "git://git.cryptomilk.org/projects/cmocka.git \ | ||
11 | file://run-ptest \ | ||
12 | file://cmocka-uintptr_t.patch \ | ||
13 | " | ||
14 | |||
15 | S = "${WORKDIR}/git" | ||
16 | |||
17 | inherit cmake ptest | ||
18 | |||
19 | EXTRA_OECMAKE = "${@bb.utils.contains('PTEST_ENABLED', '1', '-DCMAKE_BUILD_TYPE=Debug -DUNIT_TESTING=ON', '', d)}" | ||
20 | |||
21 | do_install_append () { | ||
22 | install -d ${D}${datadir}/${BPN}/example | ||
23 | install -d ${D}${datadir}/${BPN}/example/mock/chef_wrap | ||
24 | install -d ${D}${datadir}/${BPN}/example/mock/uptime | ||
25 | |||
26 | install -m 0755 ${B}/example/*_test ${D}/${datadir}/${BPN}/example | ||
27 | install -m 0755 ${B}/example/mock/chef_wrap/waiter_test_wrap ${D}/${datadir}/${BPN}/example/mock/chef_wrap | ||
28 | install -m 0755 ${B}/example/mock/uptime/uptime ${D}/${datadir}/${BPN}/example/mock/uptime | ||
29 | install -m 0755 ${B}/example/mock/uptime/test_uptime ${D}/${datadir}/${BPN}/example/mock/uptime | ||
30 | } | ||
31 | |||
32 | do_install_ptest () { | ||
33 | install -d ${D}${PTEST_PATH}/tests | ||
34 | install -m 0755 ${B}/tests/test_* ${D}${PTEST_PATH}/tests | ||
35 | } | ||
36 | |||
37 | PACKAGE_BEFORE_PN += "${PN}-examples" | ||
38 | |||
39 | FILES_${PN}-examples = "${datadir}/${BPN}/example" | ||
diff --git a/meta-oe/recipes-test/cmocka/files/cmocka-uintptr_t.patch b/meta-oe/recipes-test/cmocka/files/cmocka-uintptr_t.patch new file mode 100644 index 0000000000..8d3b73b631 --- /dev/null +++ b/meta-oe/recipes-test/cmocka/files/cmocka-uintptr_t.patch | |||
@@ -0,0 +1,53 @@ | |||
1 | From 5bd7b5d04435bd593349825973ce32290f5f604d Mon Sep 17 00:00:00 2001 | ||
2 | From: Changqing Li <changqing.li@windriver.com> | ||
3 | Date: Wed, 25 Jul 2018 09:55:25 +0800 | ||
4 | Subject: [PATCH] samba: cmocka.h: fix musl libc conflicting types error | ||
5 | |||
6 | Fix build on qemumips64(el) | ||
7 | |||
8 | taken from: | ||
9 | [PATCH] libldb: fix musl libc conflicting types error | ||
10 | |||
11 | /third_party/cmocka/cmocka.h:126:28: error: conflicting types for 'uintptr_t' | ||
12 | typedef unsigned int uintptr_t; | ||
13 | ^~~~~~~~~ | ||
14 | use __DEFINED_uintptr_t in alltypes.h to check if uintptr already defined | ||
15 | |||
16 | Upstream-Status: Pending | ||
17 | |||
18 | Signed-off-by: Changqing Li <changqing.li@windriver.com> | ||
19 | Signed-off-by: Andrea Adami <andrea.adami@gmail.com> | ||
20 | |||
21 | Taken from [PATCH] samba: cmocka.h: fix musl libc conflicting types error | ||
22 | https://git.openembedded.org/meta-openembedded/commit/meta-networking/recipes-connectivity/samba?id=b758150d30a5fbdc47c465d0e9dca3a7e6d71f3c | ||
23 | |||
24 | Signed-off-by: Armin Kuster <akuster808@gmail.com> | ||
25 | |||
26 | This fix is not in cmocka, so pending pending?? | ||
27 | |||
28 | |||
29 | Index: git/include/cmocka.h | ||
30 | =================================================================== | ||
31 | --- git.orig/include/cmocka.h | ||
32 | +++ git/include/cmocka.h | ||
33 | @@ -116,7 +116,7 @@ typedef uintmax_t LargestIntegralType; | ||
34 | ((LargestIntegralType)(value)) | ||
35 | |||
36 | /* Smallest integral type capable of holding a pointer. */ | ||
37 | -#if !defined(_UINTPTR_T) && !defined(_UINTPTR_T_DEFINED) | ||
38 | +#if !defined(__DEFINED_uintptr_t) | ||
39 | # if defined(_WIN32) | ||
40 | /* WIN32 is an ILP32 platform */ | ||
41 | typedef unsigned int uintptr_t; | ||
42 | @@ -140,9 +140,8 @@ typedef uintmax_t LargestIntegralType; | ||
43 | # endif /* __WORDSIZE */ | ||
44 | # endif /* _WIN32 */ | ||
45 | |||
46 | -# define _UINTPTR_T | ||
47 | -# define _UINTPTR_T_DEFINED | ||
48 | -#endif /* !defined(_UINTPTR_T) || !defined(_UINTPTR_T_DEFINED) */ | ||
49 | +# define __DEFINED_uintptr_t | ||
50 | +#endif /* !defined(__DEFINED_uintptr_t) */ | ||
51 | |||
52 | /* Perform an unsigned cast to uintptr_t. */ | ||
53 | #define cast_to_pointer_integral_type(value) \ | ||
diff --git a/meta-oe/recipes-test/cmocka/files/run-ptest b/meta-oe/recipes-test/cmocka/files/run-ptest new file mode 100644 index 0000000000..48b9cd9fc5 --- /dev/null +++ b/meta-oe/recipes-test/cmocka/files/run-ptest | |||
@@ -0,0 +1,10 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | cd tests | ||
4 | for i in `ls *`; do | ||
5 | if [ ./$i ] ; then | ||
6 | echo "PASS: $i" | ||
7 | else | ||
8 | echo "FAIL: $i" | ||
9 | fi | ||
10 | done | ||