diff options
author | Oliver Smith <osmith@sysmocom.de> | 2023-07-06 12:55:36 +0200 |
---|---|---|
committer | osmith <osmith@sysmocom.de> | 2023-07-10 07:02:59 +0000 |
commit | f543548505202aa2d676dd3b4246e07b97f2afc3 (patch) | |
tree | c4a511a873517d2dc103c66125b0ed42a8797c64 | |
parent | 5b1ab541a2078df8f6b9bb4df59c7c49007af963 (diff) |
test: add csd_test
Show that csd_bs_list_remove() is currently broken, the next patch will
fix it.
Related: OS#4394
Change-Id: Icc98de75e97c75216a71caf94355d09330c95cba
-rw-r--r-- | configure.ac | 1 | ||||
-rw-r--r-- | tests/Makefile.am | 1 | ||||
-rw-r--r-- | tests/csd/Makefile.am | 37 | ||||
-rw-r--r-- | tests/csd/csd_test.c | 44 | ||||
-rw-r--r-- | tests/csd/csd_test.err | 0 | ||||
-rw-r--r-- | tests/csd/csd_test.ok | 11 | ||||
-rw-r--r-- | tests/testsuite.at | 7 |
7 files changed, 101 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac index 44b08814a..61df7de89 100644 --- a/configure.ac +++ b/configure.ac @@ -249,6 +249,7 @@ AC_OUTPUT( tests/msc_vlr/Makefile tests/sdp_msg/Makefile tests/mncc/Makefile + tests/csd/Makefile doc/Makefile doc/examples/Makefile doc/manuals/Makefile diff --git a/tests/Makefile.am b/tests/Makefile.am index 5b77250de..839e53b34 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -4,6 +4,7 @@ SUBDIRS = \ db_sms \ sdp_msg \ mncc \ + csd \ $(NULL) if BUILD_SMPP diff --git a/tests/csd/Makefile.am b/tests/csd/Makefile.am new file mode 100644 index 000000000..581f7d402 --- /dev/null +++ b/tests/csd/Makefile.am @@ -0,0 +1,37 @@ +AM_CPPFLAGS = \ + $(all_includes) \ + -I$(top_srcdir)/include \ + $(NULL) + +AM_CFLAGS = \ + -Wall \ + -ggdb3 \ + $(LIBOSMOCORE_CFLAGS) \ + $(NULL) + +AM_LDFLAGS = \ + $(COVERAGE_LDFLAGS) \ + -no-install \ + $(NULL) + +LDADD = \ + $(top_builddir)/src/libmsc/libmsc.a \ + $(LIBOSMOCORE_LIBS) \ + $(NULL) + +EXTRA_DIST = \ + csd_test.ok \ + csd_test.err \ + $(NULL) + +check_PROGRAMS = \ + csd_test \ + $(NULL) + +csd_test_SOURCES = \ + csd_test.c \ + $(NULL) + +.PHONY: update_exp +update_exp: + $(builddir)/csd_test >$(srcdir)/csd_test.ok 2>$(srcdir)/csd_test.err diff --git a/tests/csd/csd_test.c b/tests/csd/csd_test.c new file mode 100644 index 000000000..ad3b0daf4 --- /dev/null +++ b/tests/csd/csd_test.c @@ -0,0 +1,44 @@ +#include <stdio.h> +#include <string.h> +#include <errno.h> +#include <osmocom/core/application.h> +#include <osmocom/msc/csd_bs.h> +#include <osmocom/msc/debug.h> + +void test_csd_bs_list_remove(void) +{ + struct csd_bs_list list = { + .count = 3, + .bs = { + CSD_BS_21_T_V110_0k3, + CSD_BS_22_T_V110_1k2, + CSD_BS_24_T_V110_2k4, + }, + }; + + printf("=== %s ===\n", __func__); + printf("initial:\n"); + printf(" %s\n", csd_bs_list_to_str(&list)); + + printf("removing BS25T (not in the list):\n"); + csd_bs_list_remove(&list, CSD_BS_25_T_V110_4k8); + printf(" %s\n", csd_bs_list_to_str(&list)); + + printf("removing BS22T:\n"); + csd_bs_list_remove(&list, CSD_BS_22_T_V110_1k2); + printf(" %s\n", csd_bs_list_to_str(&list)); + + printf("removing BS24T:\n"); + csd_bs_list_remove(&list, CSD_BS_24_T_V110_2k4); + printf(" %s\n", csd_bs_list_to_str(&list)); + + printf("removing BS21T:\n"); + csd_bs_list_remove(&list, CSD_BS_21_T_V110_0k3); + printf(" %s\n", csd_bs_list_to_str(&list)); +} + +int main(void) +{ + test_csd_bs_list_remove(); + return 0; +} diff --git a/tests/csd/csd_test.err b/tests/csd/csd_test.err new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/tests/csd/csd_test.err diff --git a/tests/csd/csd_test.ok b/tests/csd/csd_test.ok new file mode 100644 index 000000000..8ba59b3db --- /dev/null +++ b/tests/csd/csd_test.ok @@ -0,0 +1,11 @@ +=== test_csd_bs_list_remove === +initial: + BS21T,BS22T,BS24T +removing BS25T (not in the list): + BS21T,BS22T,BS24T +removing BS22T: + BS21T,BS22T +removing BS24T: + BS21T,BS22T +removing BS21T: + BS21T diff --git a/tests/testsuite.at b/tests/testsuite.at index 58855f817..fbf594b48 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -121,3 +121,10 @@ cat $abs_srcdir/mncc/mncc_test.ok > expout cat $abs_srcdir/mncc/mncc_test.err > experr AT_CHECK([$abs_top_builddir/tests/mncc/mncc_test], [], [expout], [experr]) AT_CLEANUP + +AT_SETUP([csd_test]) +AT_KEYWORDS([csd_test]) +cat $abs_srcdir/csd/csd_test.ok > expout +cat $abs_srcdir/csd/csd_test.err > experr +AT_CHECK([$abs_top_builddir/tests/csd/csd_test], [], [expout], [experr]) +AT_CLEANUP |