]> git.ipfire.org Git - thirdparty/krb5.git/commitdiff
Add cmocka support
authorSarah Day <sarahday@mit.edu>
Mon, 25 Jul 2016 17:20:08 +0000 (13:20 -0400)
committerGreg Hudson <ghudson@mit.edu>
Tue, 9 Aug 2016 15:20:37 +0000 (11:20 -0400)
.travis.yml
src/Makefile.in
src/config/post.in
src/config/pre.in
src/configure.in

index a07af79d152b5f045c67038091d460cea2d9d275..88ad5e00273936c7498803dde06b481f1704ab20 100644 (file)
@@ -11,5 +11,14 @@ compiler:
 before_install:
   - sudo apt-get update -qq
   - sudo apt-get install -y bison dejagnu gettext keyutils ldap-utils libldap2-dev libkeyutils-dev libssl-dev python-cjson python-paste python-pyrad slapd tcl-dev tcsh
+  - mkdir -p cmocka/build
+  - cd cmocka
+  - wget https://cmocka.org/files/1.0/cmocka-1.0.1.tar.xz
+  - tar -xvf cmocka-1.0.1.tar.xz
+  - cd build
+  - cmake ../cmocka-1.0.1 -DCMAKE_INSTALL_PREFIX=/usr
+  - make
+  - sudo make install
+  - cd ../..
 
 script: cd src && autoreconf && ./configure --with-ldap && make && make check
index d8c524fd6dc313c7fe2cecd561eea4a0560a2b29..8f0e3eb277c355d88e1fa3d99eb8d8941dea3de6 100644 (file)
@@ -498,6 +498,9 @@ check-unix:
 
 check-pytests-no: check-postrecurse
        @echo 'Skipped python test scripts: python 2.5 or later required' >> \
+
+check-cmocka-no: check-postrecurse
+       @echo 'Skipped cmocka tests due to missing library or header file' >> \
                $(SKIPTESTS)
 
 # Create a test realm and spawn a shell in an environment pointing to it.
index 9180fd40cc0dfbe3ab2e5de22cee7a2a64aa285d..d792abc4873bd6e561ed6f8af97f4e5e5122792b 100644 (file)
@@ -145,6 +145,13 @@ check-pytests-yes: check-pytests
 check-pytests-no:
 check-pytests:
 
+# cmocka tests
+check-unix: check-cmocka-@HAVE_CMOCKA@
+
+check-cmocka-yes: check-cmocka
+check-cmocka-no:
+check-cmocka:
+
 clean: clean-$(WHAT)
 
 clean-unix::
index ba0d1fc2bcf56bc93334bb94f6acd2264c8b3193..cec221897e7bfef75126cb373a2997884639d46c 100644 (file)
@@ -384,6 +384,7 @@ VERTO_LIBS  = @VERTO_LIBS@
 
 DL_LIB         = @DL_LIB@
 
+CMOCKA_LIBS    = @CMOCKA_LIBS@
 LDAP_LIBS      = @LDAP_LIBS@
 
 KRB5_LIB                       = -lkrb5
index 58f89d9b15aa900ff3b3246e4efe837fd71fde38..7ef0c62e30107de266204166ea113de51003d91e 100644 (file)
@@ -1097,6 +1097,23 @@ if test x"$PYTHON" != x; then
 fi
 AC_SUBST(HAVE_PYTHON)
 
+# For cmocka tests.
+CMOCKA_LIBS=
+HAVE_CMOCKA=no
+HAVE_CMOCKA_H=no
+HAVE_CMOCKA_LIB=no
+AC_CHECK_HEADER(cmocka.h, [HAVE_CMOCKA_H=yes], :, [
+#include <stdarg.h>
+#include <stddef.h>
+#include <setjmp.h> ])
+AC_CHECK_LIB(cmocka, _cmocka_run_group_tests, [HAVE_CMOCKA_LIB=yes])
+if test "$HAVE_CMOCKA_LIB" = yes && test "$HAVE_CMOCKA_H" = yes; then
+    HAVE_CMOCKA=yes
+    CMOCKA_LIBS='-lcmocka'
+fi
+AC_SUBST(HAVE_CMOCKA)
+AC_SUBST(CMOCKA_LIBS)
+
 # for plugins/kdb/db2
 
 # AIX is unusual in that it wants all symbols resolved at link time