blob: c7651589ea7dfe2c2bbf728678071d3882f15a9e [file] [log] [blame]
Alexander Huemer7b6673f2016-09-09 00:43:15 +02001SUBDIRS = \
Harald Welte2483f1b2016-06-19 18:06:02 +02002 sms_queue \
Neels Hofmeyr6a29d322017-01-25 15:04:16 +01003 msc_vlr \
Vadim Yanitskiye1e72472019-04-09 16:55:44 +07004 db_sms \
Neels Hofmeyreef45782019-10-21 03:24:04 +02005 sdp_msg \
Neels Hofmeyrb4552052019-10-21 03:00:26 +02006 mncc \
Alexander Huemer7b6673f2016-09-09 00:43:15 +02007 $(NULL)
Philipp22611be2016-08-10 12:08:03 +02008
Holger Hans Peter Freythera7328a52013-07-13 17:09:56 +02009if BUILD_SMPP
Alexander Huemer7b6673f2016-09-09 00:43:15 +020010SUBDIRS += \
11 smpp \
12 $(NULL)
Holger Hans Peter Freythera7328a52013-07-13 17:09:56 +020013endif
Holger Hans Peter Freyther6c882172012-01-06 15:16:12 +010014
15# The `:;' works around a Bash 3.2 bug when the output is not writeable.
Holger Hans Peter Freyther93ef33e2012-01-09 22:53:04 +010016$(srcdir)/package.m4: $(top_srcdir)/configure.ac
Holger Hans Peter Freyther6c882172012-01-06 15:16:12 +010017 :;{ \
18 echo '# Signature of the current package.' && \
19 echo 'm4_define([AT_PACKAGE_NAME],' && \
20 echo ' [$(PACKAGE_NAME)])' && \
21 echo 'm4_define([AT_PACKAGE_TARNAME],' && \
22 echo ' [$(PACKAGE_TARNAME)])' && \
23 echo 'm4_define([AT_PACKAGE_VERSION],' && \
24 echo ' [$(PACKAGE_VERSION)])' && \
25 echo 'm4_define([AT_PACKAGE_STRING],' && \
26 echo ' [$(PACKAGE_STRING)])' && \
27 echo 'm4_define([AT_PACKAGE_BUGREPORT],' && \
28 echo ' [$(PACKAGE_BUGREPORT)])'; \
29 echo 'm4_define([AT_PACKAGE_URL],' && \
30 echo ' [$(PACKAGE_URL)])'; \
Holger Hans Peter Freyther03ff1c82012-01-09 21:49:47 +010031 } >'$(srcdir)/package.m4'
Holger Hans Peter Freyther6c882172012-01-06 15:16:12 +010032
Alexander Huemer7b6673f2016-09-09 00:43:15 +020033EXTRA_DIST = \
34 testsuite.at \
35 $(srcdir)/package.m4 \
36 $(TESTSUITE) \
37 vty_test_runner.py \
38 ctrl_test_runner.py \
39 smpp_test_runner.py \
Neels Hofmeyr18333fa2018-12-05 02:24:30 +010040 test_nodes.vty \
Alexander Huemer7b6673f2016-09-09 00:43:15 +020041 $(NULL)
42
Holger Hans Peter Freyther03ff1c82012-01-09 21:49:47 +010043TESTSUITE = $(srcdir)/testsuite
Alexander Huemer7b6673f2016-09-09 00:43:15 +020044
45DISTCLEANFILES = \
46 atconfig \
47 $(NULL)
Holger Hans Peter Freyther6c882172012-01-06 15:16:12 +010048
Holger Hans Peter Freytherdd588ae2014-08-22 00:29:04 +020049if ENABLE_EXT_TESTS
Neels Hofmeyr1231fdb2018-12-05 02:24:16 +010050# don't run multiple tests concurrently so that the ports don't conflict
Katerina Barone-Adesie0aee7a2013-04-05 17:36:09 +020051python-tests: $(BUILT_SOURCES)
Neels Hofmeyr1231fdb2018-12-05 02:24:16 +010052 $(MAKE) vty-test
53 $(MAKE) ctrl-test
Holger Hans Peter Freythered0d4f62014-03-06 23:43:13 +010054if BUILD_SMPP
Neels Hofmeyr1231fdb2018-12-05 02:24:16 +010055 $(MAKE) smpp-test
Holger Hans Peter Freythered0d4f62014-03-06 23:43:13 +010056endif
Neels Hofmeyr1231fdb2018-12-05 02:24:16 +010057
Katerina Barone-Adesie0aee7a2013-04-05 17:36:09 +020058else
59python-tests: $(BUILT_SOURCES)
60 echo "Not running python-based tests (determined at configure-time)"
61endif
62
Neels Hofmeyr1231fdb2018-12-05 02:24:16 +010063vty-python-test: $(BUILT_SOURCES)
Oliver Smitha7ec3692019-10-29 15:37:19 +010064if BUILD_IU
65 IU=1 osmotestvty.py -p $(abs_top_srcdir) -w $(abs_top_builddir) -v
66 IU=1 osmotestconfig.py -p $(abs_top_srcdir) -w $(abs_top_builddir) -v
67else
68 IU=0 osmotestvty.py -p $(abs_top_srcdir) -w $(abs_top_builddir) -v
69 IU=0 osmotestconfig.py -p $(abs_top_srcdir) -w $(abs_top_builddir) -v
70endif
Neels Hofmeyr1231fdb2018-12-05 02:24:16 +010071 $(srcdir)/vty_test_runner.py -w $(abs_top_builddir) -v
72 rm -f $(top_builddir)/sms.db
73
Neels Hofmeyr1139ca32020-06-15 03:09:54 +020074# Run a specific transcript test with: 'make vty-transcript-test VTY_TEST=osmo-msc.vty'
75VTY_TEST ?= *.vty
76
Neels Hofmeyr1231fdb2018-12-05 02:24:16 +010077# To update the VTY script from current application behavior,
78# pass -u to vty_script_runner.py by doing:
79# make vty-transcript-test U=-u
80vty-transcript-test:
Neels Hofmeyr18333fa2018-12-05 02:24:30 +010081 osmo_verify_transcript_vty.py -v \
82 -n OsmoMSC -p 4254 \
83 -r "$(top_builddir)/src/osmo-msc/osmo-msc -c $(top_srcdir)/doc/examples/osmo-msc/osmo-msc.cfg" \
Neels Hofmeyr1139ca32020-06-15 03:09:54 +020084 $(U) $(srcdir)/$(VTY_TEST)
Neels Hofmeyr18333fa2018-12-05 02:24:30 +010085 rm -f $(builddir)/sms.db
Neels Hofmeyr1231fdb2018-12-05 02:24:16 +010086
87# don't run multiple tests concurrently so that the ports don't conflict
88vty-test:
89 $(MAKE) vty-python-test
90 $(MAKE) vty-transcript-test
91
92ctrl-python-test: $(BUILT_SOURCES)
93 $(srcdir)/ctrl_test_runner.py -w $(abs_top_builddir) -v
94 rm -f $(top_builddir)/sms.db
95
96# To update the CTRL script from current application behavior,
97# pass -u to ctrl_script_runner.py by doing:
98# make ctrl-transcript-test U=-u
99ctrl-transcript-test:
100 echo "No ctrl-transcript-test exists yet"
101
102# don't run multiple tests concurrently so that the ports don't conflict
103ctrl-test:
104 $(MAKE) ctrl-python-test
105 $(MAKE) ctrl-transcript-test
106
107smpp-test:
108 $(srcdir)/smpp_test_runner.py -w $(abs_top_builddir) -v
109 rm -f $(top_builddir)/sms.db
110
Holger Hans Peter Freyther6c882172012-01-06 15:16:12 +0100111check-local: atconfig $(TESTSUITE)
112 $(SHELL) '$(TESTSUITE)' $(TESTSUITEFLAGS)
Katerina Barone-Adesie0aee7a2013-04-05 17:36:09 +0200113 $(MAKE) $(AM_MAKEFLAGS) python-tests
Holger Hans Peter Freyther6c882172012-01-06 15:16:12 +0100114
115installcheck-local: atconfig $(TESTSUITE)
116 $(SHELL) '$(TESTSUITE)' AUTOTEST_PATH='$(bindir)' \
117 $(TESTSUITEFLAGS)
118
119clean-local:
120 test ! -f '$(TESTSUITE)' || \
121 $(SHELL) '$(TESTSUITE)' --clean
Holger Hans Peter Freyther6c882172012-01-06 15:16:12 +0100122
123AUTOM4TE = $(SHELL) $(top_srcdir)/missing --run autom4te
124AUTOTEST = $(AUTOM4TE) --language=autotest
Holger Hans Peter Freyther03ff1c82012-01-09 21:49:47 +0100125$(TESTSUITE): $(srcdir)/testsuite.at $(srcdir)/package.m4
Holger Hans Peter Freyther6c882172012-01-06 15:16:12 +0100126 $(AUTOTEST) -I '$(srcdir)' -o $@.tmp $@.at
127 mv $@.tmp $@