On Fri, Nov 29, 2019 at 10:11:24AM +0100, Alexander Dahl wrote: > From: Alexander Dahl <a...@thorsis.com> > > This adds the unit testing framework for C called 'cmocka'. > > Signed-off-by: Alexander Dahl <a...@thorsis.com> > --- > I tried modifying the opensc package for building its cmocka based > tests, but autoconf could not find or interpret the pkg-config file > provided by cmocka. Maybe someone else wants to look deeper into this?
What kind of error do you get there? Michael > --- > rules/cmocka.in | 13 ++++++++++ > rules/cmocka.make | 62 +++++++++++++++++++++++++++++++++++++++++++++++ > 2 files changed, 75 insertions(+) > create mode 100644 rules/cmocka.in > create mode 100644 rules/cmocka.make > > diff --git a/rules/cmocka.in b/rules/cmocka.in > new file mode 100644 > index 000000000..d18cf00ff > --- /dev/null > +++ b/rules/cmocka.in > @@ -0,0 +1,13 @@ > +## SECTION=test_suites > + > +config CMOCKA > + tristate > + prompt "cmocka" > + select HOST_CMAKE > + help > + 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. > + > +# vim: ft=kconfig noet tw=72 ts=8 sw=8 > diff --git a/rules/cmocka.make b/rules/cmocka.make > new file mode 100644 > index 000000000..a4d25aece > --- /dev/null > +++ b/rules/cmocka.make > @@ -0,0 +1,62 @@ > +# -*-makefile-*- > +# > +# Copyright (C) 2019 by Alexander Dahl <a...@thorsis.com> > +# > +# For further information about the PTXdist project and license conditions > +# see the README file. > +# > + > +# > +# We provide this package > +# > +PACKAGES-$(PTXCONF_CMOCKA) += cmocka > + > +# > +# Paths and names > +# > +CMOCKA_VER_MINOR := 1.1 > +CMOCKA_VER_PATCH := 5 > +CMOCKA_VERSION := $(CMOCKA_VER_MINOR).$(CMOCKA_VER_PATCH) > +CMOCKA_MD5 := 91f95cd5db88b9b120d191b18d367193 > +CMOCKA := cmocka-$(CMOCKA_VERSION) > +CMOCKA_SUFFIX := tar.xz > +CMOCKA_URL := > https://cmocka.org/files/$(CMOCKA_VER_MINOR)/$(CMOCKA).$(CMOCKA_SUFFIX) CMOCKA_URL := https://cmocka.org/files/$(basename $(CMOCKA_VERSION))/$(CMOCKA).$(CMOCKA_SUFFIX) Then you can just define CMOCKA_VERSION. Michael > +CMOCKA_SOURCE := $(SRCDIR)/$(CMOCKA).$(CMOCKA_SUFFIX) > +CMOCKA_DIR := $(BUILDDIR)/$(CMOCKA) > +CMOCKA_LICENSE := Apache-2.0 > +CMOCKA_LICENSE_FILES := file://COPYING;md5=3b83ef96387f14655fc854ddc3c6bd57 > + > +# > ---------------------------------------------------------------------------- > +# Prepare > +# > ---------------------------------------------------------------------------- > + > +CMOCKA_CONF_TOOL := cmake > +CMOCKA_CONF_OPT := \ > + $(CROSS_CMAKE_USR) \ > + -DBUILD_TESTING=OFF \ > + -DPICKY_DEVELOPER:BOOL=OFF \ > + -DUNIT_TESTING:BOOL=OFF \ > + -DWITH_CMOCKERY_SUPPORT:BOOL=OFF \ > + -DWITH_EXAMPLES:BOOL=OFF \ > + -DWITH_STATIC_LIB=OFF > + > +# > ---------------------------------------------------------------------------- > +# Target-Install > +# > ---------------------------------------------------------------------------- > + > +$(STATEDIR)/cmocka.targetinstall: > + @$(call targetinfo) > + > + @$(call install_init, cmocka) > + @$(call install_fixup, cmocka,PRIORITY,optional) > + @$(call install_fixup, cmocka,SECTION,base) > + @$(call install_fixup, cmocka,AUTHOR,"Alexander Dahl > <a...@thorsis.com>") > + @$(call install_fixup, cmocka,DESCRIPTION,missing) > + > + @$(call install_lib, cmocka, 0, 0, 0644, libcmocka) > + > + @$(call install_finish, cmocka) > + > + @$(call touch) > + > +# vim: ft=make noet tw=72 ts=8 sw=8 > -- > 2.20.1 > > > _______________________________________________ > ptxdist mailing list > ptxdist@pengutronix.de > -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ ptxdist mailing list ptxdist@pengutronix.de