[libosmocore PATCH 01/12] build: simplify test handling and speed up build.

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/OpenBSC@lists.osmocom.org/.

Diego Elio Pettenò flameeyes at flameeyes.eu
Fri Jun 29 20:01:18 UTC 2012


Instead of using a ./configure parameter to decide whehter to build
tests or not, use the check_PROGRAMS variable so that the tests are
only built when running `make check`.

To avoid slowing down the test phase itself, collapse the declaration
of the test targets in the tests/Makefile.am file, this way they can
be built and linked in parallel before the testsuite is executed.

Signed-off-by: Diego Elio Pettenò <flameeyes at flameeyes.eu>
---
 .gitignore                |    1 +
 configure.ac              |   20 --------------
 tests/Makefile.am         |   61 ++++++++++++++++++++++++++++++++++++--------
 tests/a5/Makefile.am      |    6 ----
 tests/auth/Makefile.am    |    8 ------
 tests/bits/Makefile.am    |    7 -----
 tests/conv/Makefile.am    |    6 ----
 tests/gsm0808/Makefile.am |    6 ----
 tests/lapd/Makefile.am    |    9 ------
 tests/msgfile/Makefile.am |    6 ----
 tests/sms/Makefile.am     |    6 ----
 tests/smscb/Makefile.am   |    6 ----
 tests/timer/Makefile.am   |    7 -----
 tests/ussd/Makefile.am    |    6 ----
 14 files changed, 51 insertions(+), 104 deletions(-)
 delete mode 100644 tests/a5/Makefile.am
 delete mode 100644 tests/auth/Makefile.am
 delete mode 100644 tests/bits/Makefile.am
 delete mode 100644 tests/conv/Makefile.am
 delete mode 100644 tests/gsm0808/Makefile.am
 delete mode 100644 tests/lapd/Makefile.am
 delete mode 100644 tests/msgfile/Makefile.am
 delete mode 100644 tests/sms/Makefile.am
 delete mode 100644 tests/smscb/Makefile.am
 delete mode 100644 tests/timer/Makefile.am
 delete mode 100644 tests/ussd/Makefile.am

diff --git a/.gitignore b/.gitignore
index 82e43e3..3c8afd9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,7 @@
 Makefile
 Makefile.in
 .deps
+.dirstamp
 .libs
 *.o
 *.lo
diff --git a/configure.ac b/configure.ac
index 484a7dd..7c62f8f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -59,14 +59,6 @@ AC_ARG_ENABLE(plugin,
 	[enable_plugin=$enableval], [enable_plugin="yes"])
 AM_CONDITIONAL(ENABLE_PLUGIN, test x"$enable_plugin" = x"yes")
 
-AC_ARG_ENABLE(tests,
-	[AS_HELP_STRING(
-		[--disable-tests],
-		[Disable building test programs]
-	)],
-	[enable_tests=$enableval], [enable_tests="yes"])
-AM_CONDITIONAL(ENABLE_TESTS, test x"$enable_tests" = x"yes")
-
 AC_ARG_ENABLE(vty,
 	[AS_HELP_STRING(
 		[--disable-vty],
@@ -130,7 +122,6 @@ AC_ARG_ENABLE(embedded,
 if test x"$embedded" = x"yes"
 then
 	AC_DEFINE([EMBEDDED],[1],[Select building for embedded use])
-	AM_CONDITIONAL(ENABLE_TESTS, false)
 	AM_CONDITIONAL(ENABLE_PLUGIN, false)
 	AM_CONDITIONAL(ENABLE_MSGFILE, false)
 	AM_CONDITIONAL(ENABLE_SERIAL, false)
@@ -163,17 +154,6 @@ AC_OUTPUT(
 	src/gsm/Makefile
 	src/gb/Makefile
 	tests/Makefile
-	tests/timer/Makefile
-	tests/sms/Makefile
-	tests/msgfile/Makefile
-	tests/ussd/Makefile
-	tests/smscb/Makefile
-	tests/bits/Makefile
-	tests/a5/Makefile
-	tests/auth/Makefile
-	tests/conv/Makefile
-	tests/lapd/Makefile
-	tests/gsm0808/Makefile
 	utils/Makefile
 	Doxyfile.core
 	Doxyfile.gsm
diff --git a/tests/Makefile.am b/tests/Makefile.am
index eff1ac4..308c691 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -1,9 +1,45 @@
-if ENABLE_TESTS
-SUBDIRS = timer sms ussd smscb bits a5 conv auth lapd gsm0808
+INCLUDES = $(all_includes) -I$(top_srcdir)/include
+
+check_PROGRAMS = timer/timer_test sms/sms_test ussd/ussd_test		\
+                 smscb/smscb_test bits/bitrev_test a5/a5_test		\
+                 conv/conv_test auth/milenage_test lapd/lapd_test	\
+                 gsm0808/gsm0808_test
 if ENABLE_MSGFILE
-SUBDIRS += msgfile
+check_PROGRAMS += msgfile/msgfile_test
 endif
 
+a5_a5_test_SOURCES = a5/a5_test.c
+a5_a5_test_LDADD = $(top_builddir)/src/libosmocore.la $(top_builddir)/src/gsm/libosmogsm.la
+
+auth_milenage_test_SOURCES = auth/milenage_test.c
+auth_milenage_test_LDADD = $(top_builddir)/src/libosmocore.la $(top_builddir)/src/gsm/libosmogsm.la
+
+bits_bitrev_test_SOURCES = bits/bitrev_test.c
+bits_bitrev_test_LDADD = $(top_builddir)/src/libosmocore.la
+
+conv_conv_test_SOURCES = conv/conv_test.c
+conv_conv_test_LDADD = $(top_builddir)/src/libosmocore.la
+
+gsm0808_gsm0808_test_SOURCES = gsm0808/gsm0808_test.c
+gsm0808_gsm0808_test_LDADD = $(top_builddir)/src/libosmocore.la $(top_builddir)/src/gsm/libosmogsm.la
+
+lapd_lapd_test_SOURCES = lapd/lapd_test.c
+lapd_lapd_test_LDADD = $(top_builddir)/src/libosmocore.la $(top_builddir)/src/gsm/libosmogsm.la
+
+msgfile_msgfile_test_SOURCES = msgfile/msgfile_test.c
+msgfile_msgfile_test_LDADD = $(top_builddir)/src/libosmocore.la
+
+smscb_smscb_test_SOURCES = smscb/smscb_test.c
+smscb_smscb_test_LDADD = $(top_builddir)/src/libosmocore.la $(top_builddir)/src/gsm/libosmogsm.la
+
+sms_sms_test_SOURCES = sms/sms_test.c
+sms_sms_test_LDADD = $(top_builddir)/src/libosmocore.la $(top_builddir)/src/gsm/libosmogsm.la
+
+timer_timer_test_SOURCES = timer/timer_test.c
+timer_timer_test_LDADD = $(top_builddir)/src/libosmocore.la
+
+ussd_ussd_test_SOURCES = ussd/ussd_test.c
+ussd_ussd_test_LDADD = $(top_builddir)/src/libosmocore.la $(top_builddir)/src/gsm/libosmogsm.la
 
 # The `:;' works around a Bash 3.2 bug when the output is not writeable.
 $(srcdir)/package.m4: $(top_srcdir)/configure.ac
@@ -22,26 +58,29 @@ $(srcdir)/package.m4: $(top_srcdir)/configure.ac
                echo 'm4_define([AT_PACKAGE_URL],' && \
                echo '  [$(PACKAGE_URL)])'; \
              } >'$(srcdir)/package.m4'
-     
-EXTRA_DIST = testsuite.at $(srcdir)/package.m4 $(TESTSUITE)
+
+EXTRA_DIST = testsuite.at $(srcdir)/package.m4 $(TESTSUITE)		\
+             timer/timer_test.ok sms/sms_test.ok ussd/ussd_test.ok	\
+             smscb/smscb_test.ok bits/bitrev_test.ok a5/a5_test.ok	\
+             conv/conv_test.ok auth/milenage_test.ok			\
+             lapd/lapd_test.ok gsm0808/gsm0808_test.ok			\
+             msgfile/msgfile_test.ok msgfile/msgconfig.cfg
 TESTSUITE = $(srcdir)/testsuite
-     
+
 check-local: atconfig $(TESTSUITE)
 	$(SHELL) '$(TESTSUITE)' $(TESTSUITEFLAGS)
-     
+
 installcheck-local: atconfig $(TESTSUITE)
 	$(SHELL) '$(TESTSUITE)' AUTOTEST_PATH='$(bindir)' \
 		$(TESTSUITEFLAGS)
-     
+
 clean-local:
 	test ! -f '$(TESTSUITE)' || \
 		$(SHELL) '$(TESTSUITE)' --clean
 	$(RM) -f atconfig
-     
+
 AUTOM4TE = $(SHELL) $(top_srcdir)/missing --run autom4te
 AUTOTEST = $(AUTOM4TE) --language=autotest
 $(TESTSUITE): $(srcdir)/testsuite.at $(srcdir)/package.m4
 	$(AUTOTEST) -I '$(srcdir)' -o $@.tmp $@.at
 	mv $@.tmp $@
-
-endif
diff --git a/tests/a5/Makefile.am b/tests/a5/Makefile.am
deleted file mode 100644
index 3c6e6ba..0000000
--- a/tests/a5/Makefile.am
+++ /dev/null
@@ -1,6 +0,0 @@
-INCLUDES = $(all_includes) -I$(top_srcdir)/include
-noinst_PROGRAMS = a5_test
-EXTRA_DIST = a5_test.ok
-
-a5_test_SOURCES = a5_test.c
-a5_test_LDADD = $(top_builddir)/src/libosmocore.la $(top_builddir)/src/gsm/libosmogsm.la
diff --git a/tests/auth/Makefile.am b/tests/auth/Makefile.am
deleted file mode 100644
index 52976d0..0000000
--- a/tests/auth/Makefile.am
+++ /dev/null
@@ -1,8 +0,0 @@
-INCLUDES = $(all_includes) -I$(top_srcdir)/include
-noinst_PROGRAMS = milenage_test
-EXTRA_DIST = milenage_test.ok
-
-milenage_test_SOURCES = milenage_test.c
-milenage_test_LDADD = $(top_builddir)/src/libosmocore.la \
-			$(top_builddir)/src/gsm/libosmogsm.la
-
diff --git a/tests/bits/Makefile.am b/tests/bits/Makefile.am
deleted file mode 100644
index d6fb2f2..0000000
--- a/tests/bits/Makefile.am
+++ /dev/null
@@ -1,7 +0,0 @@
-INCLUDES = $(all_includes) -I$(top_srcdir)/include
-noinst_PROGRAMS = bitrev_test
-EXTRA_DIST = bitrev_test.ok
-
-bitrev_test_SOURCES = bitrev_test.c
-bitrev_test_LDADD = $(top_builddir)/src/libosmocore.la
-
diff --git a/tests/conv/Makefile.am b/tests/conv/Makefile.am
deleted file mode 100644
index 75cfec8..0000000
--- a/tests/conv/Makefile.am
+++ /dev/null
@@ -1,6 +0,0 @@
-INCLUDES = $(all_includes) -I$(top_srcdir)/include
-noinst_PROGRAMS = conv_test
-EXTRA_DIST = conv_test.ok
-
-conv_test_SOURCES = conv_test.c
-conv_test_LDADD = $(top_builddir)/src/libosmocore.la
diff --git a/tests/gsm0808/Makefile.am b/tests/gsm0808/Makefile.am
deleted file mode 100644
index a238e7f..0000000
--- a/tests/gsm0808/Makefile.am
+++ /dev/null
@@ -1,6 +0,0 @@
-INCLUDES = $(all_includes) -I$(top_srcdir)/include
-noinst_PROGRAMS = gsm0808_test
-EXTRA_DIST = gsm0808_test.ok
-
-gsm0808_test_SOURCES = gsm0808_test.c
-gsm0808_test_LDADD = $(top_builddir)/src/libosmocore.la $(top_builddir)/src/gsm/libosmogsm.la
diff --git a/tests/lapd/Makefile.am b/tests/lapd/Makefile.am
deleted file mode 100644
index f7e2ab0..0000000
--- a/tests/lapd/Makefile.am
+++ /dev/null
@@ -1,9 +0,0 @@
-INCLUDES = $(all_includes) -I$(top_srcdir)/include
-AM_FLAGS = -Wall -O0
-noinst_PROGRAMS = lapd_test
-EXTRA_DIST = lapd_test.ok
-
-lapd_test_SOURCES = lapd_test.c
-lapd_test_LDADD = \
-	$(top_builddir)/src/libosmocore.la \
-	$(top_builddir)/src/gsm/libosmogsm.la
diff --git a/tests/msgfile/Makefile.am b/tests/msgfile/Makefile.am
deleted file mode 100644
index 88c355d..0000000
--- a/tests/msgfile/Makefile.am
+++ /dev/null
@@ -1,6 +0,0 @@
-INCLUDES = $(all_includes) -I$(top_srcdir)/include
-noinst_PROGRAMS = msgfile_test
-EXTRA_DIST = msgfile_test.ok msgconfig.cfg
-
-msgfile_test_SOURCES = msgfile_test.c
-msgfile_test_LDADD = $(top_builddir)/src/libosmocore.la
diff --git a/tests/sms/Makefile.am b/tests/sms/Makefile.am
deleted file mode 100644
index 02860af..0000000
--- a/tests/sms/Makefile.am
+++ /dev/null
@@ -1,6 +0,0 @@
-INCLUDES = $(all_includes) -I$(top_srcdir)/include
-noinst_PROGRAMS = sms_test
-EXTRA_DIST = sms_test.ok
-
-sms_test_SOURCES = sms_test.c
-sms_test_LDADD = $(top_builddir)/src/libosmocore.la $(top_builddir)/src/gsm/libosmogsm.la
diff --git a/tests/smscb/Makefile.am b/tests/smscb/Makefile.am
deleted file mode 100644
index 7045ea7..0000000
--- a/tests/smscb/Makefile.am
+++ /dev/null
@@ -1,6 +0,0 @@
-INCLUDES = $(all_includes) -I$(top_srcdir)/include
-noinst_PROGRAMS = smscb_test
-EXTRA_DIST = smscb_test.ok
-
-smscb_test_SOURCES = smscb_test.c
-smscb_test_LDADD = $(top_builddir)/src/libosmocore.la $(top_builddir)/src/gsm/libosmogsm.la
diff --git a/tests/timer/Makefile.am b/tests/timer/Makefile.am
deleted file mode 100644
index 062d81b..0000000
--- a/tests/timer/Makefile.am
+++ /dev/null
@@ -1,7 +0,0 @@
-INCLUDES = $(all_includes) -I$(top_srcdir)/include
-noinst_PROGRAMS = timer_test
-EXTRA_DIST = timer_test.ok
-
-timer_test_SOURCES = timer_test.c
-timer_test_LDADD = $(top_builddir)/src/libosmocore.la
-
diff --git a/tests/ussd/Makefile.am b/tests/ussd/Makefile.am
deleted file mode 100644
index de9ff89..0000000
--- a/tests/ussd/Makefile.am
+++ /dev/null
@@ -1,6 +0,0 @@
-INCLUDES = $(all_includes) -I$(top_srcdir)/include
-noinst_PROGRAMS = ussd_test
-EXTRA_DIST = ussd_test.ok
-
-ussd_test_SOURCES = ussd_test.c
-ussd_test_LDADD = $(top_builddir)/src/libosmocore.la $(top_builddir)/src/gsm/libosmogsm.la
-- 
1.7.8.6





More information about the OpenBSC mailing list