blob: 41a9d47c717243fc347f6b1fb8281619240eea14 [file] [log] [blame]
Neels Hofmeyr00c06972017-01-31 01:19:27 +01001SUBDIRS = \
2 auc \
Neels Hofmeyr98509462017-10-09 17:28:53 +02003 db \
Neels Hofmeyrad868e22019-11-20 02:36:45 +01004 gsup \
Neels Hofmeyr5b654612019-10-31 02:03:48 +01005 db_upgrade \
Oliver Smithbf7deda2019-11-20 10:56:35 +01006 mslookup \
Neels Hofmeyr00c06972017-01-31 01:19:27 +01007 $(NULL)
8
9# The `:;' works around a Bash 3.2 bug when the output is not writeable.
10$(srcdir)/package.m4: $(top_srcdir)/configure.ac
11 :;{ \
12 echo '# Signature of the current package.' && \
13 echo 'm4_define([AT_PACKAGE_NAME],' && \
14 echo ' [$(PACKAGE_NAME)])' && \
15 echo 'm4_define([AT_PACKAGE_TARNAME],' && \
16 echo ' [$(PACKAGE_TARNAME)])' && \
17 echo 'm4_define([AT_PACKAGE_VERSION],' && \
18 echo ' [$(PACKAGE_VERSION)])' && \
19 echo 'm4_define([AT_PACKAGE_STRING],' && \
20 echo ' [$(PACKAGE_STRING)])' && \
21 echo 'm4_define([AT_PACKAGE_BUGREPORT],' && \
22 echo ' [$(PACKAGE_BUGREPORT)])'; \
23 echo 'm4_define([AT_PACKAGE_URL],' && \
24 echo ' [$(PACKAGE_URL)])'; \
25 } >'$(srcdir)/package.m4'
26
27EXTRA_DIST = \
28 testsuite.at \
29 $(srcdir)/package.m4 \
30 $(TESTSUITE) \
Neels Hofmeyr86d09ec2017-10-15 04:58:50 +020031 test_nodes.vty \
Neels Hofmeyr183e7002017-10-06 02:59:54 +020032 test_subscriber.vty \
Neels Hofmeyr50e4de72017-10-15 03:24:43 +020033 test_subscriber.sql \
34 test_subscriber.ctrl \
Neels Hofmeyr00c06972017-01-31 01:19:27 +010035 $(NULL)
36
37TESTSUITE = $(srcdir)/testsuite
38
39DISTCLEANFILES = \
40 atconfig \
41 $(NULL)
42
Neels Hofmeyrf95ce042017-09-25 23:22:02 +020043if ENABLE_EXT_TESTS
Neels Hofmeyr183e7002017-10-06 02:59:54 +020044python-tests:
45# don't run vty and ctrl tests concurrently so that the ports don't conflict
46 $(MAKE) vty-test
Neels Hofmeyr50e4de72017-10-15 03:24:43 +020047 $(MAKE) ctrl-test
Neels Hofmeyr5b654612019-10-31 02:03:48 +010048 $(MAKE) db-upgrade-equivalence-test
Neels Hofmeyrccdb9702018-09-18 15:05:17 +020049else
50python-tests:
51 echo "Not running python-based external tests (determined at configure-time)"
52endif
Neels Hofmeyr183e7002017-10-06 02:59:54 +020053
54VTY_TEST_DB = hlr_vty_test.db
Neels Hofmeyr6b305b42019-11-11 18:13:47 +010055VTY_TEST ?= *.vty
Neels Hofmeyr183e7002017-10-06 02:59:54 +020056
57# To update the VTY script from current application behavior,
58# pass -u to vty_script_runner.py by doing:
59# make vty-test U=-u
60vty-test:
61 -rm -f $(VTY_TEST_DB)
Oliver Smithef64b232019-01-22 14:44:28 +010062 sqlite3 $(VTY_TEST_DB) < $(top_srcdir)/sql/hlr.sql
63 sqlite3 $(VTY_TEST_DB) < $(srcdir)/test_subscriber.vty.sql
Neels Hofmeyr183e7002017-10-06 02:59:54 +020064 osmo_verify_transcript_vty.py -v \
65 -n OsmoHLR -p 4258 \
Neels Hofmeyr99a14c82017-10-27 02:46:11 +020066 -r "$(top_builddir)/src/osmo-hlr -c $(top_srcdir)/doc/examples/osmo-hlr.cfg -l $(VTY_TEST_DB)" \
Neels Hofmeyr6b305b42019-11-11 18:13:47 +010067 $(U) $(srcdir)/$(VTY_TEST)
68 -rm -f $(VTY_TEST_DB) $(VTY_TEST_DB)-*
Neels Hofmeyr50e4de72017-10-15 03:24:43 +020069
70CTRL_TEST_DB = hlr_ctrl_test.db
71
Pau Espin Pedrol83a41472022-06-17 17:02:38 +020072# Run a specific test with: 'make ctrl-test CTRL_TEST=test_subscriber.ctrl'
73CTRL_TEST ?= *.ctrl
74
Neels Hofmeyr50e4de72017-10-15 03:24:43 +020075# To update the CTRL script from current application behavior,
76# pass -u to ctrl_script_runner.py by doing:
77# make ctrl-test U=-u
78ctrl-test:
79 -rm -f $(CTRL_TEST_DB)
80 sqlite3 $(CTRL_TEST_DB) < $(top_srcdir)/sql/hlr.sql
81 sqlite3 $(CTRL_TEST_DB) < $(srcdir)/test_subscriber.sql
82 osmo_verify_transcript_ctrl.py -v \
83 -p 4259 \
Neels Hofmeyr99a14c82017-10-27 02:46:11 +020084 -r "$(top_builddir)/src/osmo-hlr -c $(top_srcdir)/doc/examples/osmo-hlr.cfg -l $(CTRL_TEST_DB)" \
Pau Espin Pedrol83a41472022-06-17 17:02:38 +020085 $(U) $(srcdir)/$(CTRL_TEST)
Neels Hofmeyr50e4de72017-10-15 03:24:43 +020086 -rm -f $(CTRL_TEST_DB)
Vadim Yanitskiy05fe0232018-07-30 21:54:17 +070087 -rm $(CTRL_TEST_DB)-*
Neels Hofmeyr50e4de72017-10-15 03:24:43 +020088
Neels Hofmeyr5b654612019-10-31 02:03:48 +010089db-upgrade-equivalence-test:
90 $(MAKE) -C db_upgrade upgrade-equivalence-test
91
Neels Hofmeyr00c06972017-01-31 01:19:27 +010092check-local: atconfig $(TESTSUITE)
93 $(SHELL) '$(TESTSUITE)' $(TESTSUITEFLAGS)
Neels Hofmeyrf95ce042017-09-25 23:22:02 +020094 $(MAKE) $(AM_MAKEFLAGS) python-tests
Neels Hofmeyr00c06972017-01-31 01:19:27 +010095
96installcheck-local: atconfig $(TESTSUITE)
97 $(SHELL) '$(TESTSUITE)' AUTOTEST_PATH='$(bindir)' \
98 $(TESTSUITEFLAGS)
99
100clean-local:
101 test ! -f '$(TESTSUITE)' || \
102 $(SHELL) '$(TESTSUITE)' --clean
103
104AUTOM4TE = $(SHELL) $(top_srcdir)/missing --run autom4te
105AUTOTEST = $(AUTOM4TE) --language=autotest
106$(TESTSUITE): $(srcdir)/testsuite.at $(srcdir)/package.m4
107 $(AUTOTEST) -I '$(srcdir)' -o $@.tmp $@.at
108 mv $@.tmp $@