From 96831049d926a6faf291a8ce29433e7718369b58 Mon Sep 17 00:00:00 2001 From: Neels Hofmeyr Date: Tue, 15 Nov 2016 17:31:14 +0100 Subject: [PATCH] build: make check: disable sim_test when built with --disable-pcsc Numerous issues caused sim_test to be attempted even though libosmosim was not built: In configure.ac, the ENABLE_PCSC variable lacked an AC_SUBST() to be exported. Furthermore in configure.ac, no value 'yes'/'no' was assigned to the ENABLE_PCSC variable, only to the enable_pcsc value. In testsuite.at, encapsulating the sim_test in 'if ENABLE_PCSC' seems to have no effect, regardless (not even when using a variable that should be defined accurately). So fix with these steps, similarly to how we do it in openbsc: In AC_ARG_ENABLE, directly use 'ENABLE_PCSC' to assign 'yes'/'no'. Export the same using AC_SUBST(). Add tests/atlocal.in to translate ENABLE_PCSC to enable_sim_test (also add atlocal to AC_OUTPUT and distclean). Use enable_sim_test in testuite.at, as seen in openbsc: use AT_CHECK() to indicate skipping the test if enable_sim_test isn't 'yes'. Change-Id: I9e8740c7d2dfbd272e22fee85972ef3fda7184a8 --- configure.ac | 10 ++++++---- tests/Makefile.am | 8 ++++++-- tests/atlocal.in | 1 + tests/testsuite.at | 1 + 4 files changed, 14 insertions(+), 6 deletions(-) create mode 100644 tests/atlocal.in diff --git a/configure.ac b/configure.ac index ea688399c..ec03c2643 100644 --- a/configure.ac +++ b/configure.ac @@ -104,15 +104,16 @@ PKG_CHECK_MODULES(TALLOC, [talloc >= 2.0.1]) AC_ARG_ENABLE([pcsc], [AS_HELP_STRING([--disable-pcsc], [Build without PC/SC support])], [ - enable_pcsc=$enableval + ENABLE_PCSC=$enableval ], [ - enable_pcsc="yes" + ENABLE_PCSC="yes" ]) -AS_IF([test "x$enable_pcsc" = "xyes"], [ +AS_IF([test "x$ENABLE_PCSC" = "xyes"], [ PKG_CHECK_MODULES(PCSC, libpcsclite) ]) -AM_CONDITIONAL(ENABLE_PCSC, test "x$enable_pcsc" = "xyes") +AM_CONDITIONAL(ENABLE_PCSC, test "x$ENABLE_PCSC" = "xyes") +AC_SUBST(ENABLE_PCSC) AC_ARG_ENABLE(plugin, [AS_HELP_STRING( @@ -231,6 +232,7 @@ AC_OUTPUT( src/gb/Makefile src/ctrl/Makefile tests/Makefile + tests/atlocal utils/Makefile Doxyfile.core Doxyfile.gsm diff --git a/tests/Makefile.am b/tests/Makefile.am index ae5735aab..f5d095da6 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -13,12 +13,16 @@ check_PROGRAMS = timer/timer_test sms/sms_test ussd/ussd_test \ vty/vty_test comp128/comp128_test utils/utils_test \ smscb/gsm0341_test stats/stats_test \ bitvec/bitvec_test msgb/msgb_test bits/bitcomp_test \ - sim/sim_test tlv/tlv_test gsup/gsup_test fsm/fsm_test + tlv/tlv_test gsup/gsup_test fsm/fsm_test if ENABLE_MSGFILE check_PROGRAMS += msgfile/msgfile_test endif +if ENABLE_PCSC +check_PROGRAMS += sim/sim_test +endif + utils_utils_test_SOURCES = utils/utils_test.c utils_utils_test_LDADD = $(top_builddir)/src/libosmocore.la $(top_builddir)/src/gsm/libosmogsm.la @@ -166,7 +170,7 @@ EXTRA_DIST = testsuite.at $(srcdir)/package.m4 $(TESTSUITE) \ sim/sim_test.ok tlv/tlv_test.ok gsup/gsup_test.ok \ fsm/fsm_test.ok fsm/fsm_test.err -DISTCLEANFILES = atconfig +DISTCLEANFILES = atconfig atlocal TESTSUITE = $(srcdir)/testsuite diff --git a/tests/atlocal.in b/tests/atlocal.in new file mode 100644 index 000000000..cd2753235 --- /dev/null +++ b/tests/atlocal.in @@ -0,0 +1 @@ +enable_sim_test='@ENABLE_PCSC@' diff --git a/tests/testsuite.at b/tests/testsuite.at index 2f274f935..77038bc37 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -186,6 +186,7 @@ AT_CLEANUP AT_SETUP([sim]) AT_KEYWORDS([sim]) +AT_CHECK([test "x$enable_sim_test" = xyes || exit 77]) cat $abs_srcdir/sim/sim_test.ok > expout AT_CHECK([$abs_top_builddir/tests/sim/sim_test], [0], [expout], [ignore]) AT_CLEANUP