diff options
author | Sumit Bose <sbose@redhat.com> | 2013-03-27 18:00:29 +0100 |
---|---|---|
committer | Martin Kosek <mkosek@redhat.com> | 2013-03-28 16:11:24 +0100 |
commit | aa2ed2d3c83fa7c2ebcfe8dfcab6f5f5dd7fec96 (patch) | |
tree | 995f3c11306c083fb1a3ba685433edcff839e477 /daemons | |
parent | dae163aa37a7ea07399a964a143f378c5cb6bffa (diff) | |
download | freeipa-aa2ed2d3c83fa7c2ebcfe8dfcab6f5f5dd7fec96.tar.gz freeipa-aa2ed2d3c83fa7c2ebcfe8dfcab6f5f5dd7fec96.tar.xz freeipa-aa2ed2d3c83fa7c2ebcfe8dfcab6f5f5dd7fec96.zip |
Add support for cmocka C-Unit Test framework
cmocka is a more advanced unit test framework for C-code than the
currently used check framework. This patch adds configure checks and
makefile variables so that new unit tests can use cmocka.
Fixes https://fedorahosted.org/freeipa/ticket/3434
Diffstat (limited to 'daemons')
-rw-r--r-- | daemons/configure.ac | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/daemons/configure.ac b/daemons/configure.ac index d3b6b19d..2f6a3e78 100644 --- a/daemons/configure.ac +++ b/daemons/configure.ac @@ -263,6 +263,37 @@ else fi AM_CONDITIONAL([HAVE_CHECK], [test x$have_check != x]) +dnl --------------------------------------------------------------------------- +dnl - Check for cmocka unit test framework http://cmocka.cryptomilk.org/ +dnl This will be simplified when cmocka carries a .pc file. +dnl --------------------------------------------------------------------------- +AC_SUBST(CMOCKA_LIBS) +AC_SUBST(CMOCKA_CFLAGS) + +AC_CHECK_HEADERS( + [setjmp.h cmocka.h],,, + [[ #include <stdarg.h> + # include <stddef.h> + #ifdef HAVE_SETJMP_H + # include <setjmp.h> + #endif + ]] +) + +if test "x$ac_cv_header_setjmp_h" = "xyes" && test "x$ac_cv_header_cmocka_h" = "xyes" ; then + AC_CHECK_LIB([cmocka], [_will_return], + [ CMOCKA_LIBS="-lcmocka" + AC_MSG_RESULT([libcmocka available, cmocka tests will be build]) + have_cmocka="yes" ], + [AC_MSG_WARN([No libcmocka library found, cmocka tests will not be build]) + have_cmocka="no" ]) +else + AC_MSG_WARN([Required header files for libcmocka are missing, cmocka tests will not be build]) + have_cmocka="no" +fi + +AM_CONDITIONAL([HAVE_CMOCKA], [test x$have_cmocka = xyes]) + dnl -- dirsrv is needed for the extdom unit tests -- PKG_CHECK_MODULES([DIRSRV], [dirsrv >= 1.3.0]) dnl -- sss_idmap is needed by the extdom exop -- |