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
This commit is contained in:
Neels Hofmeyr 2016-11-15 17:31:14 +01:00 committed by Harald Welte
parent 6e363e7e31
commit 96831049d9
4 changed files with 14 additions and 6 deletions

View File

@ -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

View File

@ -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

1
tests/atlocal.in Normal file
View File

@ -0,0 +1 @@
enable_sim_test='@ENABLE_PCSC@'

View File

@ -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