osmith has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-msc/+/33592 )


Change subject: test: add csd_test
......................................................................

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
---
M configure.ac
M tests/Makefile.am
A tests/csd/Makefile.am
A tests/csd/csd_test.c
A tests/csd/csd_test.err
A tests/csd/csd_test.ok
M tests/testsuite.at
7 files changed, 114 insertions(+), 0 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/92/33592/1

diff --git a/configure.ac b/configure.ac
index 44b0881..61df7de 100644
--- a/configure.ac
+++ b/configure.ac
@@ -249,6 +249,7 @@
     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 5b77250..839e53b 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -4,6 +4,7 @@
        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 0000000..581f7d4
--- /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 0000000..ad3b0da
--- /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 0000000..e69de29
--- /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 0000000..8ba59b3
--- /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 58855f8..fbf594b 100644
--- a/tests/testsuite.at
+++ b/tests/testsuite.at
@@ -121,3 +121,10 @@
 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

--
To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/33592
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-msc
Gerrit-Branch: master
Gerrit-Change-Id: Icc98de75e97c75216a71caf94355d09330c95cba
Gerrit-Change-Number: 33592
Gerrit-PatchSet: 1
Gerrit-Owner: osmith <[email protected]>
Gerrit-MessageType: newchange

Reply via email to