blob: 07de847e3ab046f641bbeeae064dbf9e3bc3cd98 [file] [log] [blame]
Alexander Huemer7b6673f2016-09-09 00:43:15 +02001SUBDIRS = \
Pau Espin Pedroldeaa6fd2020-07-16 20:53:21 +02002 acc \
Harald Welte1861b552017-09-03 20:13:28 +02003 bsc \
Philipp Maier844876f2018-07-13 09:17:07 +02004 codec_pref \
Alexander Huemer7b6673f2016-09-09 00:43:15 +02005 gsm0408 \
Alexander Huemer7b6673f2016-09-09 00:43:15 +02006 abis \
Alexander Huemer7b6673f2016-09-09 00:43:15 +02007 subscr \
Philippb4cb8382016-09-29 17:01:57 +02008 nanobts_omlattr \
Neels Hofmeyr909e9722017-12-07 03:54:01 +01009 handover \
Alexander Huemer7b6673f2016-09-09 00:43:15 +020010 $(NULL)
Holger Hans Peter Freyther6c882172012-01-06 15:16:12 +010011
12# The `:;' works around a Bash 3.2 bug when the output is not writeable.
Holger Hans Peter Freyther93ef33e2012-01-09 22:53:04 +010013$(srcdir)/package.m4: $(top_srcdir)/configure.ac
Holger Hans Peter Freyther6c882172012-01-06 15:16:12 +010014 :;{ \
15 echo '# Signature of the current package.' && \
16 echo 'm4_define([AT_PACKAGE_NAME],' && \
17 echo ' [$(PACKAGE_NAME)])' && \
18 echo 'm4_define([AT_PACKAGE_TARNAME],' && \
19 echo ' [$(PACKAGE_TARNAME)])' && \
20 echo 'm4_define([AT_PACKAGE_VERSION],' && \
21 echo ' [$(PACKAGE_VERSION)])' && \
22 echo 'm4_define([AT_PACKAGE_STRING],' && \
23 echo ' [$(PACKAGE_STRING)])' && \
24 echo 'm4_define([AT_PACKAGE_BUGREPORT],' && \
25 echo ' [$(PACKAGE_BUGREPORT)])'; \
26 echo 'm4_define([AT_PACKAGE_URL],' && \
27 echo ' [$(PACKAGE_URL)])'; \
Holger Hans Peter Freyther03ff1c82012-01-09 21:49:47 +010028 } >'$(srcdir)/package.m4'
Holger Hans Peter Freyther6c882172012-01-06 15:16:12 +010029
Alexander Huemer7b6673f2016-09-09 00:43:15 +020030EXTRA_DIST = \
31 testsuite.at \
32 $(srcdir)/package.m4 \
33 $(TESTSUITE) \
34 vty_test_runner.py \
35 ctrl_test_runner.py \
Neels Hofmeyre25018b2017-11-27 21:29:33 +010036 handover_cfg.vty \
Alexander Huemer7b6673f2016-09-09 00:43:15 +020037 $(NULL)
38
Holger Hans Peter Freyther03ff1c82012-01-09 21:49:47 +010039TESTSUITE = $(srcdir)/testsuite
Alexander Huemer7b6673f2016-09-09 00:43:15 +020040
41DISTCLEANFILES = \
42 atconfig \
43 $(NULL)
Holger Hans Peter Freyther6c882172012-01-06 15:16:12 +010044
Holger Hans Peter Freytherdd588ae2014-08-22 00:29:04 +020045if ENABLE_EXT_TESTS
Katerina Barone-Adesie0aee7a2013-04-05 17:36:09 +020046python-tests: $(BUILT_SOURCES)
Neels Hofmeyre25018b2017-11-27 21:29:33 +010047 $(MAKE) vty-test
Katerina Barone-Adesie0aee7a2013-04-05 17:36:09 +020048 osmotestvty.py -p $(abs_top_srcdir) -w $(abs_top_builddir) -v
49 osmotestconfig.py -p $(abs_top_srcdir) -w $(abs_top_builddir) -v
Pau Espin Pedrol7e786812017-11-24 12:00:35 +010050 $(srcdir)/vty_test_runner.py -w $(abs_top_builddir) -v
51 $(srcdir)/ctrl_test_runner.py -w $(abs_top_builddir) -v
Neels Hofmeyr23a7c2a2017-03-29 15:16:08 +020052 rm -f $(top_builddir)/sms.db $(top_builddir)/gsn_restart $(top_builddir)/gtphub_restart_count
Neels Hofmeyr6a5f0022018-09-21 01:48:54 +020053else
54python-tests: $(BUILT_SOURCES)
55 echo "Not running python-based tests (determined at configure-time)"
56endif
Neels Hofmeyre25018b2017-11-27 21:29:33 +010057
Oliver Smith5291b642020-03-11 10:35:49 +010058# Run a specific test with: 'make vty-test VTY_TEST=osmo-bsc.vty'
59VTY_TEST ?= *.vty
60
Neels Hofmeyre25018b2017-11-27 21:29:33 +010061# To update the VTY script from current application behavior,
62# pass -u to vty_script_runner.py by doing:
63# make vty-test U=-u
64vty-test:
65 osmo_verify_transcript_vty.py -v \
66 -n OsmoBSC -p 4242 \
67 -r "$(top_builddir)/src/osmo-bsc/osmo-bsc -c $(top_srcdir)/doc/examples/osmo-bsc/osmo-bsc-minimal.cfg" \
Oliver Smith5291b642020-03-11 10:35:49 +010068 $(U) $(srcdir)/$(VTY_TEST)
Katerina Barone-Adesie0aee7a2013-04-05 17:36:09 +020069
Holger Hans Peter Freyther6c882172012-01-06 15:16:12 +010070check-local: atconfig $(TESTSUITE)
71 $(SHELL) '$(TESTSUITE)' $(TESTSUITEFLAGS)
Katerina Barone-Adesie0aee7a2013-04-05 17:36:09 +020072 $(MAKE) $(AM_MAKEFLAGS) python-tests
Holger Hans Peter Freyther6c882172012-01-06 15:16:12 +010073
74installcheck-local: atconfig $(TESTSUITE)
75 $(SHELL) '$(TESTSUITE)' AUTOTEST_PATH='$(bindir)' \
76 $(TESTSUITEFLAGS)
77
78clean-local:
79 test ! -f '$(TESTSUITE)' || \
80 $(SHELL) '$(TESTSUITE)' --clean
Holger Hans Peter Freyther6c882172012-01-06 15:16:12 +010081
82AUTOM4TE = $(SHELL) $(top_srcdir)/missing --run autom4te
83AUTOTEST = $(AUTOM4TE) --language=autotest
Holger Hans Peter Freyther03ff1c82012-01-09 21:49:47 +010084$(TESTSUITE): $(srcdir)/testsuite.at $(srcdir)/package.m4
Holger Hans Peter Freyther6c882172012-01-06 15:16:12 +010085 $(AUTOTEST) -I '$(srcdir)' -o $@.tmp $@.at
86 mv $@.tmp $@