blob: 0f587cef69e49f804c454519b4d9dcea16312e75 [file] [log] [blame]
Holger Hans Peter Freyther0d86c212015-05-17 19:55:53 +02001AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include
Pau Espin Pedrold12f6982019-09-17 18:38:58 +02002AM_CFLAGS = -Wall $(TALLOC_CFLAGS) $(PTHREAD_CFLAGS)
Harald Welted488c722019-03-19 00:04:51 +01003AM_LDFLAGS = -no-install
Pau Espin Pedrold12f6982019-09-17 18:38:58 +02004LDADD = $(top_builddir)/src/libosmocore.la $(TALLOC_LIBS) $(PTHREAD_LIBS)
Diego Elio Pettenòea0e1ec2012-06-29 13:01:18 -07005
Max3da79382018-01-18 16:50:51 +01006if ENABLE_SERCOM_STUB
7noinst_LIBRARIES = libsercomstub.a
8LDADD += $(top_builddir)/tests/libsercomstub.a
9endif
10
Diego Elio Pettenòea0e1ec2012-06-29 13:01:18 -070011check_PROGRAMS = timer/timer_test sms/sms_test ussd/ussd_test \
12 smscb/smscb_test bits/bitrev_test a5/a5_test \
13 conv/conv_test auth/milenage_test lapd/lapd_test \
Harald Welte57e5b942012-09-07 10:23:44 +020014 gsm0808/gsm0808_test gsm0408/gsm0408_test \
Max4f169502016-06-30 10:39:00 +020015 gprs/gprs_test kasumi/kasumi_test gea/gea_test \
Maxad1797e2017-12-01 19:39:23 +010016 logging/logging_test codec/codec_test \
Jacob Erlbeckae15a2c2013-08-06 14:29:14 +020017 loggingrb/loggingrb_test strrb/strrb_test \
Vadim Yanitskiyb6c8dda2017-05-18 23:59:02 +030018 comp128/comp128_test smscb/gsm0341_test \
Harald Welte676e5342016-03-14 21:04:50 +010019 bitvec/bitvec_test msgb/msgb_test bits/bitcomp_test \
Max98186642017-10-18 13:14:49 +020020 bits/bitfield_test \
Maxad1797e2017-12-01 19:39:23 +010021 tlv/tlv_test gsup/gsup_test oap/oap_test \
Vadim Yanitskiy3262f822016-09-23 01:48:59 +070022 write_queue/wqueue_test socket/socket_test \
Vadim Yanitskiy33e03062017-01-19 17:01:15 +070023 coding/coding_test conv/conv_gsm0503_test \
Vadim Yanitskiyb6c8dda2017-05-18 23:59:02 +030024 abis/abis_test endian/endian_test sercomm/sercomm_test \
Max89c8c402018-01-18 16:05:27 +010025 prbs/prbs_test gsm23003/gsm23003_test \
Neels Hofmeyr7dde1f42020-05-11 19:43:20 +020026 gsm23236/gsm23236_test \
Harald Welte6db529a2018-07-30 18:14:45 +020027 codec/codec_ecu_fr_test timer/clk_override_test \
Max7918f842018-12-10 10:57:59 +010028 oap/oap_client_test gsm29205/gsm29205_test \
Neels Hofmeyr3a9ff112018-09-10 17:18:28 +020029 logging/logging_vty_test \
Neels Hofmeyrfaa49e22019-01-31 09:06:53 +010030 vty/vty_transcript_test \
Neels Hofmeyr0fd615f2019-01-26 20:36:12 +010031 tdef/tdef_test tdef/tdef_vty_test_config_root \
32 tdef/tdef_vty_test_config_subnode \
33 tdef/tdef_vty_test_dynamic \
Neels Hofmeyr0c7826e2019-02-25 02:45:06 +010034 sockaddr_str/sockaddr_str_test \
Neels Hofmeyr0e8df1c2019-02-11 20:32:25 +010035 use_count/use_count_test \
Harald Welte2d906112019-03-18 17:17:43 +010036 context/context_test \
Philipp Maier69e00cc2019-10-09 13:38:38 +020037 gsm0502/gsm0502_test \
Philipp Maier898c9c62020-02-06 14:25:01 +010038 dtx/dtx_gsm0503_test \
Harald Welteb795f032020-05-14 11:42:53 +020039 i460_mux/i460_mux_test \
Neels Hofmeyr6862cd32020-09-13 23:56:21 +020040 bitgen/bitgen_test \
Neels Hofmeyr086bd332020-09-18 18:00:50 +020041 gad/gad_test \
Neels Hofmeyrc6848f42020-09-18 18:00:50 +020042 bsslap/bsslap_test \
Neels Hofmeyr02de87b2020-09-18 18:00:50 +020043 bssmap_le/bssmap_le_test \
Harald Weltee4cd2672019-08-06 19:56:16 +020044 it_q/it_q_test \
Pau Espin Pedrold7a209b2021-02-09 18:28:25 +010045 gsm48/rest_octets_test \
Neels Hofmeyr3a9ff112018-09-10 17:18:28 +020046 $(NULL)
Katerina Barone-Adesi3309a432013-02-21 05:16:29 +000047
Holger Hans Peter Freytherc87f2662010-10-07 00:00:15 +080048if ENABLE_MSGFILE
Diego Elio Pettenòea0e1ec2012-06-29 13:01:18 -070049check_PROGRAMS += msgfile/msgfile_test
Holger Hans Peter Freytherc87f2662010-10-07 00:00:15 +080050endif
Holger Hans Peter Freytherf9eda742011-11-13 01:02:54 +010051
Neels Hofmeyr96831042016-11-15 17:31:14 +010052if ENABLE_PCSC
53check_PROGRAMS += sim/sim_test
54endif
55
Vadim Yanitskiyb6c8dda2017-05-18 23:59:02 +030056if ENABLE_UTILITIES
57check_PROGRAMS += utils/utils_test
58endif
59
60if ENABLE_VTY
61check_PROGRAMS += vty/vty_test
62endif
63
64if ENABLE_CTRL
Neels Hofmeyr223d66a2019-03-23 23:38:43 +010065check_PROGRAMS += \
66 ctrl/ctrl_test \
67 fsm/fsm_test \
68 fsm/fsm_dealloc_test \
69 $(NULL)
Vadim Yanitskiyb6c8dda2017-05-18 23:59:02 +030070endif
71
Harald Weltec6a86972019-12-16 23:14:45 +010072if !EMBEDDED
73check_PROGRAMS += \
74 stats/stats_test \
75 exec/exec_test
Max89c8c402018-01-18 16:05:27 +010076endif
77
Vadim Yanitskiyb6c8dda2017-05-18 23:59:02 +030078if ENABLE_GB
Philipp Maier9828d282021-01-06 20:40:23 +010079check_PROGRAMS += gb/bssgp_fc_test gb/gprs_bssgp_test gb/gprs_bssgp_rim_test gb/gprs_ns_test gb/gprs_ns2_test fr/fr_test
Vadim Yanitskiyb6c8dda2017-05-18 23:59:02 +030080endif
81
Holger Hans Peter Freytherb79a1482014-01-02 13:55:00 +010082utils_utils_test_SOURCES = utils/utils_test.c
Maxba1059c2017-10-30 13:19:58 +010083utils_utils_test_LDADD = $(LDADD) $(top_builddir)/src/gsm/libosmogsm.la
Holger Hans Peter Freytherb79a1482014-01-02 13:55:00 +010084
Jacob Erlbeck9732cb42015-10-01 20:43:53 +020085stats_stats_test_SOURCES = stats/stats_test.c
Maxba1059c2017-10-30 13:19:58 +010086stats_stats_test_LDADD = $(LDADD) $(top_builddir)/src/gsm/libosmogsm.la
Jacob Erlbeck9732cb42015-10-01 20:43:53 +020087
Sylvain Munaut0d727852015-08-19 11:14:23 +020088a5_a5_test_SOURCES = a5/a5_test.c
Max3da79382018-01-18 16:50:51 +010089a5_a5_test_LDADD = $(LDADD) $(top_builddir)/src/gsm/libgsmint.la
Diego Elio Pettenòea0e1ec2012-06-29 13:01:18 -070090
Sylvain Munaut0d727852015-08-19 11:14:23 +020091kasumi_kasumi_test_SOURCES = kasumi/kasumi_test.c
Max3da79382018-01-18 16:50:51 +010092kasumi_kasumi_test_LDADD = $(LDADD) $(top_builddir)/src/gsm/libgsmint.la
Sylvain Munaut579a7102014-06-16 14:59:30 +020093
Max4f0abc02013-12-02 11:30:32 +010094comp128_comp128_test_SOURCES = comp128/comp128_test.c
Maxba1059c2017-10-30 13:19:58 +010095comp128_comp128_test_LDADD = $(LDADD) $(top_builddir)/src/gsm/libosmogsm.la
Max4f0abc02013-12-02 11:30:32 +010096
Diego Elio Pettenòea0e1ec2012-06-29 13:01:18 -070097auth_milenage_test_SOURCES = auth/milenage_test.c
Maxba1059c2017-10-30 13:19:58 +010098auth_milenage_test_LDADD = $(LDADD) $(top_builddir)/src/gsm/libosmogsm.la
Diego Elio Pettenòea0e1ec2012-06-29 13:01:18 -070099
Maxf74cfd32017-03-24 20:16:33 +0100100abis_abis_test_SOURCES = abis/abis_test.c
Maxba1059c2017-10-30 13:19:58 +0100101abis_abis_test_LDADD = $(LDADD) $(top_builddir)/src/gsm/libosmogsm.la
Maxf74cfd32017-03-24 20:16:33 +0100102
Max70c7d412017-02-24 13:59:14 +0100103ctrl_ctrl_test_SOURCES = ctrl/ctrl_test.c
Neels Hofmeyrec6fdbb2018-01-17 13:07:16 +0100104ctrl_ctrl_test_LDADD = $(LDADD) \
105 $(top_builddir)/src/ctrl/libosmoctrl.la \
106 $(top_builddir)/src/gsm/libosmogsm.la \
107 $(top_builddir)/src/vty/libosmovty.la
Max70c7d412017-02-24 13:59:14 +0100108
Max4f169502016-06-30 10:39:00 +0200109gea_gea_test_SOURCES = gea/gea_test.c
Maxba1059c2017-10-30 13:19:58 +0100110gea_gea_test_LDADD = $(LDADD) $(top_builddir)/src/gsm/libosmogsm.la
Max4f169502016-06-30 10:39:00 +0200111
Diego Elio Pettenòea0e1ec2012-06-29 13:01:18 -0700112bits_bitrev_test_SOURCES = bits/bitrev_test.c
Diego Elio Pettenòea0e1ec2012-06-29 13:01:18 -0700113
Jacob Erlbeck5f349be2015-12-21 16:04:03 +0100114bitvec_bitvec_test_SOURCES = bitvec/bitvec_test.c
Jacob Erlbeck5f349be2015-12-21 16:04:03 +0100115
Max5c18e262016-02-05 13:55:38 +0100116bits_bitcomp_test_SOURCES = bits/bitcomp_test.c
Max5c18e262016-02-05 13:55:38 +0100117
Max98186642017-10-18 13:14:49 +0200118bits_bitfield_test_SOURCES = bits/bitfield_test.c
Max98186642017-10-18 13:14:49 +0200119
Vadim Yanitskiy68930e82017-01-19 03:33:24 +0700120conv_conv_test_SOURCES = conv/conv_test.c conv/conv.c
Max3da79382018-01-18 16:50:51 +0100121conv_conv_test_LDADD = $(LDADD) $(top_builddir)/src/gsm/libgsmint.la
Diego Elio Pettenòea0e1ec2012-06-29 13:01:18 -0700122
Philipp Maier69e00cc2019-10-09 13:38:38 +0200123gsm0502_gsm0502_test_SOURCES = gsm0502/gsm0502_test.c
124gsm0502_gsm0502_test_LDADD = $(LDADD) $(top_builddir)/src/gsm/libosmogsm.la
125
Philipp Maier898c9c62020-02-06 14:25:01 +0100126dtx_dtx_gsm0503_test_SOURCES = dtx/dtx_gsm0503_test.c
127dtx_dtx_gsm0503_test_LDADD = $(LDADD) $(top_builddir)/src/gsm/libosmogsm.la \
128 $(top_builddir)/src/coding/libosmocoding.la
129
Vadim Yanitskiy33e03062017-01-19 17:01:15 +0700130conv_conv_gsm0503_test_SOURCES = conv/conv_gsm0503_test.c conv/conv.c conv/gsm0503_test_vectors.c
Max3da79382018-01-18 16:50:51 +0100131conv_conv_gsm0503_test_LDADD = $(LDADD) $(top_builddir)/src/gsm/libgsmint.la
Vadim Yanitskiy33e03062017-01-19 17:01:15 +0700132conv_conv_gsm0503_test_CPPFLAGS = $(AM_CPPFLAGS) -I$(top_srcdir)/tests/conv
133
Diego Elio Pettenòea0e1ec2012-06-29 13:01:18 -0700134gsm0808_gsm0808_test_SOURCES = gsm0808/gsm0808_test.c
Maxba1059c2017-10-30 13:19:58 +0100135gsm0808_gsm0808_test_LDADD = $(LDADD) $(top_builddir)/src/gsm/libosmogsm.la
Diego Elio Pettenòea0e1ec2012-06-29 13:01:18 -0700136
Max7918f842018-12-10 10:57:59 +0100137gsm29205_gsm29205_test_SOURCES = gsm29205/gsm29205_test.c
138gsm29205_gsm29205_test_LDADD = $(LDADD) $(top_builddir)/src/gsm/libosmogsm.la
139
Harald Weltec8a0b932012-08-24 21:27:26 +0200140gsm0408_gsm0408_test_SOURCES = gsm0408/gsm0408_test.c
Maxba1059c2017-10-30 13:19:58 +0100141gsm0408_gsm0408_test_LDADD = $(LDADD) $(top_builddir)/src/gsm/libosmogsm.la
Harald Weltec8a0b932012-08-24 21:27:26 +0200142
Pau Espin Pedrold7a209b2021-02-09 18:28:25 +0100143gsm48_rest_octets_test_SOURCES = gsm48/rest_octets_test.c
144gsm48_rest_octets_test_LDADD = $(LDADD) $(top_builddir)/src/gsm/libosmogsm.la
145
Jacob Erlbeck81142942015-11-17 08:42:05 +0100146gprs_gprs_test_SOURCES = gprs/gprs_test.c
Maxba1059c2017-10-30 13:19:58 +0100147gprs_gprs_test_LDADD = $(LDADD) $(top_builddir)/src/gsm/libosmogsm.la
Jacob Erlbeck81142942015-11-17 08:42:05 +0100148
Diego Elio Pettenòea0e1ec2012-06-29 13:01:18 -0700149lapd_lapd_test_SOURCES = lapd/lapd_test.c
Maxba1059c2017-10-30 13:19:58 +0100150lapd_lapd_test_LDADD = $(LDADD) $(top_builddir)/src/gsm/libosmogsm.la
Diego Elio Pettenòea0e1ec2012-06-29 13:01:18 -0700151
Jacob Erlbeck7cd8a1b2015-11-27 13:26:16 +0100152msgb_msgb_test_SOURCES = msgb/msgb_test.c
Jacob Erlbeck7cd8a1b2015-11-27 13:26:16 +0100153
Diego Elio Pettenòea0e1ec2012-06-29 13:01:18 -0700154msgfile_msgfile_test_SOURCES = msgfile/msgfile_test.c
Diego Elio Pettenòea0e1ec2012-06-29 13:01:18 -0700155
156smscb_smscb_test_SOURCES = smscb/smscb_test.c
Maxba1059c2017-10-30 13:19:58 +0100157smscb_smscb_test_LDADD = $(LDADD) $(top_builddir)/src/gsm/libosmogsm.la
Diego Elio Pettenòea0e1ec2012-06-29 13:01:18 -0700158
Harald Welte783d0732014-12-29 17:09:11 +0100159smscb_gsm0341_test_SOURCES = smscb/gsm0341_test.c
Maxba1059c2017-10-30 13:19:58 +0100160smscb_gsm0341_test_LDADD = $(LDADD) $(top_builddir)/src/gsm/libosmogsm.la
Harald Welte783d0732014-12-29 17:09:11 +0100161
Diego Elio Pettenòea0e1ec2012-06-29 13:01:18 -0700162sms_sms_test_SOURCES = sms/sms_test.c
Maxba1059c2017-10-30 13:19:58 +0100163sms_sms_test_LDADD = $(LDADD) $(top_builddir)/src/gsm/libosmogsm.la
Diego Elio Pettenòea0e1ec2012-06-29 13:01:18 -0700164
165timer_timer_test_SOURCES = timer/timer_test.c
Diego Elio Pettenòea0e1ec2012-06-29 13:01:18 -0700166
Pau Espin Pedrol87fade82018-02-26 19:42:22 +0100167timer_clk_override_test_SOURCES = timer/clk_override_test.c
168
Diego Elio Pettenòea0e1ec2012-06-29 13:01:18 -0700169ussd_ussd_test_SOURCES = ussd/ussd_test.c
Maxba1059c2017-10-30 13:19:58 +0100170ussd_ussd_test_LDADD = $(LDADD) $(top_builddir)/src/gsm/libosmogsm.la
Holger Hans Peter Freytherf9eda742011-11-13 01:02:54 +0100171
Harald Welte57e5b942012-09-07 10:23:44 +0200172gb_bssgp_fc_test_SOURCES = gb/bssgp_fc_test.c
Maxba1059c2017-10-30 13:19:58 +0100173gb_bssgp_fc_test_LDADD = $(LDADD) $(top_builddir)/src/gb/libosmogb.la \
Neels Hofmeyrec6fdbb2018-01-17 13:07:16 +0100174 $(top_builddir)/src/vty/libosmovty.la \
Neels Hofmeyrd95f01d2016-09-09 16:42:49 +0200175 $(top_builddir)/src/gsm/libosmogsm.la
Harald Welte57e5b942012-09-07 10:23:44 +0200176
Jacob Erlbeckcdebf742014-10-14 14:49:37 +0200177gb_gprs_bssgp_test_SOURCES = gb/gprs_bssgp_test.c
Pau Espin Pedrolcacaa4a2018-05-04 19:21:58 +0200178gb_gprs_bssgp_test_LDADD = $(LDADD) $(top_builddir)/src/gb/libosmogb.la $(LIBRARY_DLSYM) \
Neels Hofmeyrec6fdbb2018-01-17 13:07:16 +0100179 $(top_builddir)/src/vty/libosmovty.la \
Philipp Maierbd10c212020-12-14 22:28:19 +0100180 $(top_builddir)/src/gsm/libosmogsm.la \
181 $(top_builddir)/src/gb/libosmogb.la
Jacob Erlbeckcdebf742014-10-14 14:49:37 +0200182
Philipp Maier9828d282021-01-06 20:40:23 +0100183gb_gprs_bssgp_rim_test_SOURCES = gb/gprs_bssgp_rim_test.c
184gb_gprs_bssgp_rim_test_LDADD = $(LDADD) $(top_builddir)/src/gb/libosmogb.la $(LIBRARY_DLSYM) \
185 $(top_builddir)/src/gb/libosmogb.la
186
Jacob Erlbeckdcce1962013-10-08 12:04:43 +0200187gb_gprs_ns_test_SOURCES = gb/gprs_ns_test.c
Pau Espin Pedrolcacaa4a2018-05-04 19:21:58 +0200188gb_gprs_ns_test_LDADD = $(LDADD) $(top_builddir)/src/gb/libosmogb.la $(LIBRARY_DLSYM) \
Neels Hofmeyrec6fdbb2018-01-17 13:07:16 +0100189 $(top_builddir)/src/vty/libosmovty.la \
Neels Hofmeyrd95f01d2016-09-09 16:42:49 +0200190 $(top_builddir)/src/gsm/libosmogsm.la
Jacob Erlbeckdcce1962013-10-08 12:04:43 +0200191
Alexander Couzens1c8785d2020-12-17 06:58:53 +0100192gb_gprs_ns2_test_SOURCES = gb/gprs_ns2_test.c
193gb_gprs_ns2_test_LDADD = $(LDADD) $(LIBRARY_DLSYM) \
194 $(top_builddir)/src/vty/libosmovty.la \
195 $(top_builddir)/src/gsm/libosmogsm.la \
196 $(top_builddir)/src/libosmocore.la \
197 $(top_builddir)/src/gb/libosmogb-test.la
198if ENABLE_LIBMNL
199gb_gprs_ns2_test_LDADD += $(LIBMNL_LIBS)
200endif
201
Holger Hans Peter Freyther4b54cab2012-09-27 14:18:37 +0200202logging_logging_test_SOURCES = logging/logging_test.c
Holger Hans Peter Freyther4b54cab2012-09-27 14:18:37 +0200203
Neels Hofmeyr3a9ff112018-09-10 17:18:28 +0200204logging_logging_vty_test_SOURCES = logging/logging_vty_test.c
205logging_logging_vty_test_LDADD = $(LDADD) $(top_builddir)/src/vty/libosmovty.la
206
Neels Hofmeyrfaa49e22019-01-31 09:06:53 +0100207vty_vty_transcript_test_SOURCES = vty/vty_transcript_test.c
208vty_vty_transcript_test_LDADD = $(LDADD) $(top_builddir)/src/vty/libosmovty.la
209
Holger Hans Peter Freyther97602d92012-11-11 14:21:26 +0100210fr_fr_test_SOURCES = fr/fr_test.c
Pau Espin Pedrolcacaa4a2018-05-04 19:21:58 +0200211fr_fr_test_LDADD = $(LDADD) $(top_builddir)/src/gb/libosmogb.la $(LIBRARY_DLSYM) \
Neels Hofmeyrec6fdbb2018-01-17 13:07:16 +0100212 $(top_builddir)/src/vty/libosmovty.la \
Neels Hofmeyrd95f01d2016-09-09 16:42:49 +0200213 $(top_builddir)/src/gsm/libosmogsm.la
Holger Hans Peter Freyther97602d92012-11-11 14:21:26 +0100214
Max92db1502016-05-25 18:13:51 +0200215codec_codec_test_SOURCES = codec/codec_test.c
Maxba1059c2017-10-30 13:19:58 +0100216codec_codec_test_LDADD = $(LDADD) $(top_builddir)/src/codec/libosmocodec.la
Max92db1502016-05-25 18:13:51 +0200217
Philipp Maier40def492017-12-16 03:42:15 +0700218codec_codec_ecu_fr_test_SOURCES = codec/codec_ecu_fr_test.c
219codec_codec_ecu_fr_test_LDADD = $(LDADD) $(top_builddir)/src/codec/libosmocodec.la
220
Michael McTernan4e0543f2015-03-30 13:22:14 +0100221loggingrb_loggingrb_test_SOURCES = loggingrb/loggingrb_test.c
Maxad1797e2017-12-01 19:39:23 +0100222loggingrb_loggingrb_test_LDADD = $(LDADD)
Katerina Barone-Adesi3309a432013-02-21 05:16:29 +0000223
224strrb_strrb_test_SOURCES = strrb/strrb_test.c
Katerina Barone-Adesi3309a432013-02-21 05:16:29 +0000225
Jacob Erlbeckae15a2c2013-08-06 14:29:14 +0200226vty_vty_test_SOURCES = vty/vty_test.c
Maxba1059c2017-10-30 13:19:58 +0100227vty_vty_test_LDADD = $(LDADD) $(top_builddir)/src/vty/libosmovty.la
Jacob Erlbeckae15a2c2013-08-06 14:29:14 +0200228
Harald Welte676e5342016-03-14 21:04:50 +0100229sim_sim_test_SOURCES = sim/sim_test.c
Maxba1059c2017-10-30 13:19:58 +0100230sim_sim_test_LDADD = $(LDADD) $(top_builddir)/src/sim/libosmosim.la \
Neels Hofmeyrd95f01d2016-09-09 16:42:49 +0200231 $(top_builddir)/src/gsm/libosmogsm.la
Holger Hans Peter Freyther97602d92012-11-11 14:21:26 +0100232
Harald Weltefbd02fa2016-04-25 15:19:35 +0200233tlv_tlv_test_SOURCES = tlv/tlv_test.c
Maxba1059c2017-10-30 13:19:58 +0100234tlv_tlv_test_LDADD = $(LDADD) $(top_builddir)/src/gsm/libosmogsm.la
Harald Weltefbd02fa2016-04-25 15:19:35 +0200235
Harald Welte3b6fb082016-04-25 18:46:22 +0200236gsup_gsup_test_SOURCES = gsup/gsup_test.c
Maxba1059c2017-10-30 13:19:58 +0100237gsup_gsup_test_LDADD = $(LDADD) $(top_builddir)/src/gsm/libosmogsm.la
Harald Welte3b6fb082016-04-25 18:46:22 +0200238
Neels Hofmeyrd981efa2016-12-08 17:50:03 +0100239oap_oap_test_SOURCES = oap/oap_test.c
Maxba1059c2017-10-30 13:19:58 +0100240oap_oap_test_LDADD = $(LDADD) $(top_builddir)/src/gsm/libosmogsm.la
Neels Hofmeyrd981efa2016-12-08 17:50:03 +0100241
Harald Welte6db529a2018-07-30 18:14:45 +0200242oap_oap_client_test_SOURCES = oap/oap_client_test.c
243oap_oap_client_test_LDADD = $(LDADD) $(top_builddir)/src/gsm/libosmogsm.la
244
Harald Welte136e7372016-05-29 10:53:17 +0900245fsm_fsm_test_SOURCES = fsm/fsm_test.c
Neels Hofmeyrec6fdbb2018-01-17 13:07:16 +0100246fsm_fsm_test_LDADD = \
247 $(LDADD) \
248 $(top_builddir)/src/ctrl/libosmoctrl.la \
249 $(top_builddir)/src/gsm/libosmogsm.la \
250 $(top_builddir)/src/vty/libosmovty.la
Harald Welte136e7372016-05-29 10:53:17 +0900251
Neels Hofmeyr223d66a2019-03-23 23:38:43 +0100252fsm_fsm_dealloc_test_SOURCES = fsm/fsm_dealloc_test.c
253fsm_fsm_dealloc_test_LDADD = $(LDADD)
254
Holger Hans Peter Freytherc7f52c42016-11-12 21:25:21 +0100255write_queue_wqueue_test_SOURCES = write_queue/wqueue_test.c
Holger Hans Peter Freytherc7f52c42016-11-12 21:25:21 +0100256
Harald Welte4ffb43f2017-01-27 10:29:49 +0100257socket_socket_test_SOURCES = socket/socket_test.c
Harald Welte4ffb43f2017-01-27 10:29:49 +0100258
Vadim Yanitskiy3262f822016-09-23 01:48:59 +0700259coding_coding_test_SOURCES = coding/coding_test.c
Max29d489f2017-11-28 14:54:32 +0100260coding_coding_test_LDADD = $(LDADD) \
Vadim Yanitskiy3262f822016-09-23 01:48:59 +0700261 $(top_builddir)/src/gsm/libosmogsm.la \
262 $(top_builddir)/src/codec/libosmocodec.la \
263 $(top_builddir)/src/coding/libosmocoding.la
264
Harald Welte3318c652017-05-15 12:07:51 +0200265endian_endian_test_SOURCES = endian/endian_test.c
Harald Welte3318c652017-05-15 12:07:51 +0200266
Harald Weltea362ee92017-05-15 16:39:56 +0200267sercomm_sercomm_test_SOURCES = sercomm/sercomm_test.c
Harald Weltea362ee92017-05-15 16:39:56 +0200268
Harald Welte1389e862017-06-18 18:16:02 +0300269prbs_prbs_test_SOURCES = prbs/prbs_test.c
Harald Welte1389e862017-06-18 18:16:02 +0300270
Neels Hofmeyr9cd1e742017-10-04 03:15:47 +0200271gsm23003_gsm23003_test_SOURCES = gsm23003/gsm23003_test.c
Maxba1059c2017-10-30 13:19:58 +0100272gsm23003_gsm23003_test_LDADD = $(LDADD) $(top_builddir)/src/gsm/libosmogsm.la
Neels Hofmeyr9cd1e742017-10-04 03:15:47 +0200273
Neels Hofmeyr7dde1f42020-05-11 19:43:20 +0200274gsm23236_gsm23236_test_SOURCES = gsm23236/gsm23236_test.c
275gsm23236_gsm23236_test_LDADD = $(LDADD) $(top_builddir)/src/gsm/libosmogsm.la
276
Neels Hofmeyr0fd615f2019-01-26 20:36:12 +0100277tdef_tdef_test_SOURCES = tdef/tdef_test.c
278tdef_tdef_test_LDADD = $(LDADD)
279
280tdef_tdef_vty_test_config_root_SOURCES = tdef/tdef_vty_test_config_root.c
281tdef_tdef_vty_test_config_root_LDADD = $(LDADD) $(top_builddir)/src/vty/libosmovty.la
282
283tdef_tdef_vty_test_config_subnode_SOURCES = tdef/tdef_vty_test_config_subnode.c
284tdef_tdef_vty_test_config_subnode_LDADD = $(LDADD) $(top_builddir)/src/vty/libosmovty.la
285
286tdef_tdef_vty_test_dynamic_SOURCES = tdef/tdef_vty_test_dynamic.c
287tdef_tdef_vty_test_dynamic_LDADD = $(LDADD) $(top_builddir)/src/vty/libosmovty.la
288
Neels Hofmeyr0c7826e2019-02-25 02:45:06 +0100289sockaddr_str_sockaddr_str_test_SOURCES = sockaddr_str/sockaddr_str_test.c
290sockaddr_str_sockaddr_str_test_LDADD = $(LDADD)
291
Neels Hofmeyr0e8df1c2019-02-11 20:32:25 +0100292use_count_use_count_test_SOURCES = use_count/use_count_test.c
293use_count_use_count_test_LDADD = $(LDADD)
294
Harald Welte2d906112019-03-18 17:17:43 +0100295context_context_test_SOURCES = context/context_test.c
296context_context_test_LDADD = $(LDADD)
297
Harald Weltec6a86972019-12-16 23:14:45 +0100298exec_exec_test_SOURCES = exec/exec_test.c
299exec_exec_test_LDADD = $(LDADD)
300
Harald Welteb795f032020-05-14 11:42:53 +0200301i460_mux_i460_mux_test_SOURCES = i460_mux/i460_mux_test.c
302i460_mux_i460_mux_test_LDADD = $(LDADD) $(top_builddir)/src/gsm/libosmogsm.la
303
Neels Hofmeyr6862cd32020-09-13 23:56:21 +0200304bitgen_bitgen_test_SOURCES = bitgen/bitgen_test.c
305bitgen_bitgen_test_LDADD = $(LDADD)
306
Neels Hofmeyr086bd332020-09-18 18:00:50 +0200307gad_gad_test_SOURCES = gad/gad_test.c
Pau Espin Pedrol86160ac2020-10-12 17:36:23 +0200308gad_gad_test_LDADD = $(LDADD) $(top_builddir)/src/gsm/libosmogsm.la
Neels Hofmeyr086bd332020-09-18 18:00:50 +0200309
Neels Hofmeyrc6848f42020-09-18 18:00:50 +0200310bsslap_bsslap_test_SOURCES = bsslap/bsslap_test.c
311bsslap_bsslap_test_LDADD = $(LDADD) $(top_builddir)/src/gsm/libosmogsm.la
312
Neels Hofmeyr02de87b2020-09-18 18:00:50 +0200313bssmap_le_bssmap_le_test_SOURCES = bssmap_le/bssmap_le_test.c
314bssmap_le_bssmap_le_test_LDADD = $(LDADD) $(top_builddir)/src/gsm/libosmogsm.la
315
Harald Weltee4cd2672019-08-06 19:56:16 +0200316it_q_it_q_test_SOURCES = it_q/it_q_test.c
317it_q_it_q_test_LDADD = $(LDADD)
318
Holger Hans Peter Freytherf9eda742011-11-13 01:02:54 +0100319# The `:;' works around a Bash 3.2 bug when the output is not writeable.
320$(srcdir)/package.m4: $(top_srcdir)/configure.ac
321 :;{ \
322 echo '# Signature of the current package.' && \
323 echo 'm4_define([AT_PACKAGE_NAME],' && \
324 echo ' [$(PACKAGE_NAME)])' && \
325 echo 'm4_define([AT_PACKAGE_TARNAME],' && \
326 echo ' [$(PACKAGE_TARNAME)])' && \
327 echo 'm4_define([AT_PACKAGE_VERSION],' && \
328 echo ' [$(PACKAGE_VERSION)])' && \
329 echo 'm4_define([AT_PACKAGE_STRING],' && \
330 echo ' [$(PACKAGE_STRING)])' && \
331 echo 'm4_define([AT_PACKAGE_BUGREPORT],' && \
332 echo ' [$(PACKAGE_BUGREPORT)])'; \
333 echo 'm4_define([AT_PACKAGE_URL],' && \
334 echo ' [$(PACKAGE_URL)])'; \
335 } >'$(srcdir)/package.m4'
Diego Elio Pettenòea0e1ec2012-06-29 13:01:18 -0700336
337EXTRA_DIST = testsuite.at $(srcdir)/package.m4 $(TESTSUITE) \
338 timer/timer_test.ok sms/sms_test.ok ussd/ussd_test.ok \
339 smscb/smscb_test.ok bits/bitrev_test.ok a5/a5_test.ok \
Max70c7d412017-02-24 13:59:14 +0100340 conv/conv_test.ok auth/milenage_test.ok ctrl/ctrl_test.ok \
Holger Hans Peter Freyther8c589d22012-08-25 22:03:42 +0200341 lapd/lapd_test.ok gsm0408/gsm0408_test.ok \
Holger Hans Peter Freytherc302eca2012-09-11 11:49:35 +0200342 gsm0808/gsm0808_test.ok gb/bssgp_fc_tests.err \
343 gb/bssgp_fc_tests.ok gb/bssgp_fc_tests.sh \
Max4f169502016-06-30 10:39:00 +0200344 gb/gprs_bssgp_test.ok gb/gprs_ns_test.ok gea/gea_test.ok \
Philipp Maier9828d282021-01-06 20:40:23 +0100345 gb/gprs_bssgp_rim_test.ok \
Alexander Couzens5a3eb5d2021-01-01 19:52:17 +0100346 gb/gprs_ns2_vty.vty gb/osmoappdesc.py gb/osmo-ns-dummy.cfg \
Alexander Couzens1c8785d2020-12-17 06:58:53 +0100347 gb/gprs_ns2_test.ok \
Philipp Maier40def492017-12-16 03:42:15 +0700348 gprs/gprs_test.ok kasumi/kasumi_test.ok \
Holger Hans Peter Freyther4b54cab2012-09-27 14:18:37 +0200349 msgfile/msgfile_test.ok msgfile/msgconfig.cfg \
Holger Hans Peter Freyther97602d92012-11-11 14:21:26 +0100350 logging/logging_test.ok logging/logging_test.err \
Neels Hofmeyr760c58f2019-01-28 19:07:06 +0100351 logging/logging_vty_test.vty \
Katerina Barone-Adesi3309a432013-02-21 05:16:29 +0000352 fr/fr_test.ok loggingrb/logging_test.ok \
Jacob Erlbeckae15a2c2013-08-06 14:29:14 +0200353 loggingrb/logging_test.err strrb/strrb_test.ok \
Philipp Maier40def492017-12-16 03:42:15 +0700354 codec/codec_test.ok \
355 codec/codec_ecu_fr_test.ok \
Vadim Yanitskiy68c2e732020-10-02 18:43:47 +0700356 vty/vty_test.ok vty/vty_test.err \
Neels Hofmeyr4a31ffa2017-09-07 03:08:06 +0200357 vty/fail_not_de-indented.cfg \
358 vty/fail_tabs_and_spaces.cfg \
359 vty/fail_too_much_indent.cfg \
Pau Espin Pedrola0c81952019-10-22 18:38:01 +0200360 vty/fail_cmd_ret_warning.cfg \
Neels Hofmeyr4a31ffa2017-09-07 03:08:06 +0200361 vty/ok.cfg \
Neels Hofmeyr43063632017-09-19 23:54:01 +0200362 vty/ok_empty_parent.cfg \
Neels Hofmeyr4a31ffa2017-09-07 03:08:06 +0200363 vty/ok_ignore_blank.cfg \
364 vty/ok_ignore_comment.cfg \
365 vty/ok_indented_root.cfg \
366 vty/ok_more_spaces.cfg \
367 vty/ok_tabs_and_spaces.cfg \
368 vty/ok_tabs.cfg \
Vadim Yanitskiy4abda9e2019-11-21 00:19:36 +0700369 vty/ok_deprecated_logging.cfg \
Max98186642017-10-18 13:14:49 +0200370 comp128/comp128_test.ok bits/bitfield_test.ok \
Oliver Smithd89d35e2021-03-17 15:29:55 +0100371 utils/utils_test.ok utils/utils_test.err \
372 stats/stats_test.ok stats/stats_test.err \
Harald Welte676e5342016-03-14 21:04:50 +0100373 bitvec/bitvec_test.ok msgb/msgb_test.ok bits/bitcomp_test.ok \
Maxf74cfd32017-03-24 20:16:33 +0100374 sim/sim_test.ok tlv/tlv_test.ok abis/abis_test.ok \
Neels Hofmeyrbd9de2f2017-02-21 20:17:35 +0100375 gsup/gsup_test.ok gsup/gsup_test.err \
Neels Hofmeyrd981efa2016-12-08 17:50:03 +0100376 oap/oap_test.ok fsm/fsm_test.ok fsm/fsm_test.err \
Neels Hofmeyr1f9cc012019-03-24 05:56:21 +0100377 fsm/fsm_dealloc_test.err \
Harald Welte4ffb43f2017-01-27 10:29:49 +0100378 write_queue/wqueue_test.ok socket/socket_test.ok \
Neels Hofmeyrd3b58732017-03-15 01:52:58 +0100379 socket/socket_test.err coding/coding_test.ok \
380 osmo-auc-gen/osmo-auc-gen_test.sh \
381 osmo-auc-gen/osmo-auc-gen_test.ok \
Vadim Yanitskiy33e03062017-01-19 17:01:15 +0700382 osmo-auc-gen/osmo-auc-gen_test.err \
Harald Weltea362ee92017-05-15 16:39:56 +0200383 conv/conv_gsm0503_test.ok endian/endian_test.ok \
Neels Hofmeyr9cd1e742017-10-04 03:15:47 +0200384 sercomm/sercomm_test.ok prbs/prbs_test.ok \
Max7918f842018-12-10 10:57:59 +0100385 gsm29205/gsm29205_test.ok gsm23003/gsm23003_test.ok \
Neels Hofmeyr7dde1f42020-05-11 19:43:20 +0200386 gsm23236/gsm23236_test.ok \
Harald Welte6db529a2018-07-30 18:14:45 +0200387 timer/clk_override_test.ok \
Neels Hofmeyrfaa49e22019-01-31 09:06:53 +0100388 oap/oap_client_test.ok oap/oap_client_test.err \
389 vty/vty_transcript_test.vty \
Neels Hofmeyr0fd615f2019-01-26 20:36:12 +0100390 tdef/tdef_test.ok \
Neels Hofmeyr7b740f72019-02-06 01:08:43 +0100391 tdef/tdef_test_range_64bit.ok \
Neels Hofmeyr0fd615f2019-01-26 20:36:12 +0100392 tdef/tdef_vty_test_config_root.vty \
393 tdef/tdef_vty_test_config_subnode.vty \
394 tdef/tdef_vty_test_dynamic.vty \
Neels Hofmeyr0c7826e2019-02-25 02:45:06 +0100395 sockaddr_str/sockaddr_str_test.ok \
Neels Hofmeyr0e8df1c2019-02-11 20:32:25 +0100396 use_count/use_count_test.ok use_count/use_count_test.err \
Harald Welte2d906112019-03-18 17:17:43 +0100397 context/context_test.ok \
Philipp Maier69e00cc2019-10-09 13:38:38 +0200398 gsm0502/gsm0502_test.ok \
Philipp Maier898c9c62020-02-06 14:25:01 +0100399 dtx/dtx_gsm0503_test.ok \
Harald Weltec6a86972019-12-16 23:14:45 +0100400 exec/exec_test.ok exec/exec_test.err \
Harald Welteb795f032020-05-14 11:42:53 +0200401 i460_mux/i460_mux_test.ok \
Neels Hofmeyr6862cd32020-09-13 23:56:21 +0200402 bitgen/bitgen_test.ok \
Neels Hofmeyr086bd332020-09-18 18:00:50 +0200403 gad/gad_test.ok \
Neels Hofmeyrc6848f42020-09-18 18:00:50 +0200404 bsslap/bsslap_test.ok \
Neels Hofmeyr02de87b2020-09-18 18:00:50 +0200405 bssmap_le/bssmap_le_test.ok \
Harald Weltee4cd2672019-08-06 19:56:16 +0200406 it_q/it_q_test.ok \
Pau Espin Pedrold7a209b2021-02-09 18:28:25 +0100407 gsm48/rest_octets_test.ok \
Neels Hofmeyrfaa49e22019-01-31 09:06:53 +0100408 $(NULL)
Holger Hans Peter Freyther4b54cab2012-09-27 14:18:37 +0200409
Pau Espin Pedrol16b076c2020-08-25 13:56:43 +0200410if ENABLE_LIBSCTP
411if ENABLE_SCTP_TESTS
412EXTRA_DIST += socket/socket_sctp_test.ok socket/socket_sctp_test.err
413check_PROGRAMS += socket/socket_sctp_test
414socket_socket_sctp_test_SOURCES = socket/socket_sctp_test.c
415endif
416endif
417
Vadim Yanitskiy33e03062017-01-19 17:01:15 +0700418DISTCLEANFILES = atconfig atlocal conv/gsm0503_test_vectors.c
419BUILT_SOURCES = conv/gsm0503_test_vectors.c
Vadim Yanitskiy68930e82017-01-19 03:33:24 +0700420noinst_HEADERS = conv/conv.h
Daniel Willmann13bb1692012-12-26 00:12:21 +0100421
Holger Hans Peter Freytherf9eda742011-11-13 01:02:54 +0100422TESTSUITE = $(srcdir)/testsuite
Diego Elio Pettenòea0e1ec2012-06-29 13:01:18 -0700423
Holger Hans Peter Freytherf9eda742011-11-13 01:02:54 +0100424check-local: atconfig $(TESTSUITE)
Ruben Undheimdd61cd22018-11-18 13:14:27 +0100425 [ -e /proc/cpuinfo ] && cat /proc/cpuinfo
Holger Hans Peter Freytherf9eda742011-11-13 01:02:54 +0100426 $(SHELL) '$(TESTSUITE)' $(TESTSUITEFLAGS)
Neels Hofmeyr3a9ff112018-09-10 17:18:28 +0200427 $(MAKE) $(AM_MAKEFLAGS) ext-tests
Diego Elio Pettenòea0e1ec2012-06-29 13:01:18 -0700428
Holger Hans Peter Freytherf9eda742011-11-13 01:02:54 +0100429installcheck-local: atconfig $(TESTSUITE)
430 $(SHELL) '$(TESTSUITE)' AUTOTEST_PATH='$(bindir)' \
431 $(TESTSUITEFLAGS)
Diego Elio Pettenòea0e1ec2012-06-29 13:01:18 -0700432
Holger Hans Peter Freytherf9eda742011-11-13 01:02:54 +0100433clean-local:
434 test ! -f '$(TESTSUITE)' || \
435 $(SHELL) '$(TESTSUITE)' --clean
Diego Elio Pettenòea0e1ec2012-06-29 13:01:18 -0700436
Holger Hans Peter Freyther62cb4572011-11-29 22:20:34 +0100437AUTOM4TE = $(SHELL) $(top_srcdir)/missing --run autom4te
Holger Hans Peter Freytherf9eda742011-11-13 01:02:54 +0100438AUTOTEST = $(AUTOM4TE) --language=autotest
439$(TESTSUITE): $(srcdir)/testsuite.at $(srcdir)/package.m4
440 $(AUTOTEST) -I '$(srcdir)' -o $@.tmp $@.at
441 mv $@.tmp $@
Vadim Yanitskiy33e03062017-01-19 17:01:15 +0700442
443conv/gsm0503_test_vectors.c: $(top_srcdir)/utils/conv_gen.py $(top_srcdir)/utils/conv_codes_gsm.py
Oliver Smitha47d37c2019-12-11 08:46:41 +0100444 $(AM_V_GEN)python3 $(top_srcdir)/utils/conv_gen.py gen_vectors gsm \
Vadim Yanitskiy33e03062017-01-19 17:01:15 +0700445 --target-path $(builddir)/conv
Neels Hofmeyr3a9ff112018-09-10 17:18:28 +0200446
447if ENABLE_EXT_TESTS
448ext-tests:
449# don't run vty and ctrl tests concurrently so that the ports don't conflict
450 $(MAKE) vty-test
451 $(MAKE) ctrl-test
452else
453ext-tests:
454 echo "Not running python-based external tests (determined at configure-time)"
455endif
456
457# To update the VTY script from current application behavior,
458# pass -u to osmo_verify_transcript_vty.py by doing:
459# make vty-test U=-u
Neels Hofmeyr0fd615f2019-01-26 20:36:12 +0100460
Alexander Couzensc0d02cc2020-12-14 02:36:53 +0100461vty-test-ns2:
462 $(MAKE) -C $(top_builddir)/utils osmo-ns-dummy
463 osmo_verify_transcript_vty.py -v \
464 -p 42042 \
465 -r "$(top_builddir)/utils/osmo-ns-dummy -p 42042" \
466 $(U) $(srcdir)/gb/gprs_ns2*.vty
Alexander Couzens5a3eb5d2021-01-01 19:52:17 +0100467 osmotestvty.py -p $(abs_top_srcdir)/tests/gb -w $(abs_top_builddir)/tests/gb -v
468 osmotestconfig.py -p $(abs_top_srcdir)/tests/gb -w $(abs_top_builddir)/tests/gb -v
Alexander Couzensc0d02cc2020-12-14 02:36:53 +0100469
Neels Hofmeyrfaa49e22019-01-31 09:06:53 +0100470vty-test-logging:
Neels Hofmeyr3a9ff112018-09-10 17:18:28 +0200471 osmo_verify_transcript_vty.py -v \
472 -p 42042 \
473 -r "$(top_builddir)/tests/logging/logging_vty_test" \
474 $(U) $(srcdir)/logging/*.vty
475
Neels Hofmeyrfaa49e22019-01-31 09:06:53 +0100476vty-test-vty:
477 osmo_verify_transcript_vty.py -v \
478 -p 42042 \
479 -r "$(top_builddir)/tests/vty/vty_transcript_test" \
480 $(U) $(srcdir)/vty/*.vty
481
Neels Hofmeyr0fd615f2019-01-26 20:36:12 +0100482vty-test-tdef:
483 osmo_verify_transcript_vty.py -v \
484 -p 42042 \
485 -r "$(top_builddir)/tests/tdef/tdef_vty_test_config_root" \
486 $(U) $(srcdir)/tdef/tdef_vty_test_config_root.vty
487 osmo_verify_transcript_vty.py -v \
488 -p 42042 \
489 -r "$(top_builddir)/tests/tdef/tdef_vty_test_config_subnode" \
490 $(U) $(srcdir)/tdef/tdef_vty_test_config_subnode.vty
491 osmo_verify_transcript_vty.py -v \
492 -p 42042 \
493 -r "$(top_builddir)/tests/tdef/tdef_vty_test_dynamic" \
494 $(U) $(srcdir)/tdef/tdef_vty_test_dynamic.vty
495
496# don't run vty tests concurrently so that the ports don't conflict
Neels Hofmeyrfaa49e22019-01-31 09:06:53 +0100497vty-test:
498 $(MAKE) vty-test-logging
499 $(MAKE) vty-test-vty
Neels Hofmeyr0fd615f2019-01-26 20:36:12 +0100500 $(MAKE) vty-test-tdef
Alexander Couzensc0d02cc2020-12-14 02:36:53 +0100501 $(MAKE) vty-test-ns2
Neels Hofmeyrfaa49e22019-01-31 09:06:53 +0100502
Neels Hofmeyr3a9ff112018-09-10 17:18:28 +0200503ctrl-test:
504 echo "No CTRL tests exist currently"