>From 6cdaf7234c8f1b4e28aeb92129c015ec336c24bb Mon Sep 17 00:00:00 2001 From: Jakub Hrozek Date: Mon, 9 Mar 2015 21:25:47 +0100 Subject: [PATCH 1/3] build: Only run cmocka tests if cmocka 1.0 or newer is available Rename the Makefile.am conditionals to HAVE_CMOCKA_1 to make it clear only the latest release is suported. --- Makefile.am | 12 ++++++------ src/external/libcmocka.m4 | 19 +++++++++++++++++-- src/tests/cwrap/Makefile.am | 4 ++-- 3 files changed, 25 insertions(+), 10 deletions(-) diff --git a/Makefile.am b/Makefile.am index ba24343c3a2be9edc94ec817d3709a0c78599847..0b063e1f357174f1eecc0b37243f53e4e5040eba 100644 --- a/Makefile.am +++ b/Makefile.am @@ -192,7 +192,7 @@ endif # BUILD_DBUS_TESTS endif # HAVE_CHECK -if HAVE_CMOCKA +if HAVE_CMOCKA_1 non_interactive_cmocka_based_tests = \ nss-srv-tests \ test-find-uid \ @@ -237,7 +237,7 @@ non_interactive_cmocka_based_tests += \ ad_gpo_tests endif -endif # HAVE_CMOCKA +endif # HAVE_CMOCKA_1 check_PROGRAMS = \ stress-tests \ @@ -245,9 +245,9 @@ check_PROGRAMS = \ $(non_interactive_cmocka_based_tests) \ $(non_interactive_check_based_tests) -if HAVE_CMOCKA +if HAVE_CMOCKA_1 check_PROGRAMS += dummy-child -endif # HAVE_CMOCKA +endif # HAVE_CMOCKA_1 PYTHON_TESTS = @@ -1716,7 +1716,7 @@ sss_config_tests_LDADD = \ endif # BUILD_CONFIG_LIB endif # BUILD_IFP -if HAVE_CMOCKA +if HAVE_CMOCKA_1 TEST_MOCK_RESP_OBJ = \ src/tests/cmocka/common_mock_resp.c \ @@ -2281,7 +2281,7 @@ test_fo_srv_LDADD = \ libsss_test_common.la \ $(NULL) -endif # HAVE_CMOCKA +endif # HAVE_CMOCKA_1 noinst_PROGRAMS = pam_test_client if BUILD_SUDO diff --git a/src/external/libcmocka.m4 b/src/external/libcmocka.m4 index 740d9ad254b50563d4d1cbcab3d10f5920ffd79f..b45ce49a56b0690010bbd7fc6356d77bffb3dcd4 100644 --- a/src/external/libcmocka.m4 +++ b/src/external/libcmocka.m4 @@ -10,9 +10,24 @@ AC_DEFUN([AM_CHECK_CMOCKA], ) AS_IF([test x"$cmocka_required_headers" != x"no"], [PKG_CHECK_MODULES([CMOCKA], [cmocka], [have_cmocka="yes"])] - )], + ) + + dnl Check if we have the new runner or the legacy one + SAVE_CFLAGS=$CFLAGS + SAVE_LIBS=$LIBS + CFLAGS="$CFLAGS $CMOCKA_CFLAGS" + LIBS="$LIBS $CMOCKA_LIBS" + + AS_IF([test x"$have_cmocka" == x"yes"], + [AC_CHECK_FUNC([_cmocka_run_group_tests], [have_cmocka_1="yes"]]) + ) + + CFLAGS=$SAVE_CFLAGS + LIBS=$SAVE_LIBS + + ], dnl PKG_CHECK_EXISTS ACTION-IF-NOT-FOUND [AC_MSG_WARN([No libcmocka library found, cmocka tests will not be built])] ) - AM_CONDITIONAL([HAVE_CMOCKA], [test x$have_cmocka = xyes]) + AM_CONDITIONAL([HAVE_CMOCKA_1], [test x$have_cmocka_1 = xyes]) ]) diff --git a/src/tests/cwrap/Makefile.am b/src/tests/cwrap/Makefile.am index c1991a19c3a39f957b6547854126ff6d219394e0..746faef25fd5c2669498c82410d79a0f956402c4 100644 --- a/src/tests/cwrap/Makefile.am +++ b/src/tests/cwrap/Makefile.am @@ -41,7 +41,7 @@ dist_noinst_DATA = \ $(NULL) check_PROGRAMS = -if HAVE_CMOCKA +if HAVE_CMOCKA_1 if HAVE_NSS_WRAPPER if HAVE_UID_WRAPPER check_PROGRAMS += \ @@ -52,7 +52,7 @@ check_PROGRAMS += \ $(NULL) endif # HAVE_UID_WRAPPER endif # HAVE_NSS_WRAPPER -endif # HAVE_CMOCKA +endif # HAVE_CMOCKA_1 TESTS = $(check_PROGRAMS) -- 2.1.0