<p>Neels Hofmeyr has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/12027">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">drop unused tests/db/*<br><br>Another one of those "what is this still doing here". Not mentioned in<br>configure.ac nor Makefile.am SUBDIR...<br><br>Change-Id: I05880507d9bf029f0ec451efda0ebe54ac09ef12<br>---<br>D tests/db/Makefile.am<br>D tests/db/db_test.c<br>D tests/db/db_test.err<br>D tests/db/db_test.ok<br>D tests/db/hlr.sqlite3<br>5 files changed, 0 insertions(+), 337 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/27/12027/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/tests/db/Makefile.am b/tests/db/Makefile.am</span><br><span>deleted file mode 100644</span><br><span>index 249a873..0000000</span><br><span>--- a/tests/db/Makefile.am</span><br><span>+++ /dev/null</span><br><span>@@ -1,44 +0,0 @@</span><br><span style="color: hsl(0, 100%, 40%);">-AM_CPPFLAGS = \</span><br><span style="color: hsl(0, 100%, 40%);">-      $(all_includes) \</span><br><span style="color: hsl(0, 100%, 40%);">-       -I$(top_srcdir)/include \</span><br><span style="color: hsl(0, 100%, 40%);">-       $(NULL)</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-AM_CFLAGS = \</span><br><span style="color: hsl(0, 100%, 40%);">-    -Wall \</span><br><span style="color: hsl(0, 100%, 40%);">- -ggdb3 \</span><br><span style="color: hsl(0, 100%, 40%);">-        $(LIBOSMOCORE_CFLAGS) \</span><br><span style="color: hsl(0, 100%, 40%);">- $(LIBOSMOGSM_CFLAGS) \</span><br><span style="color: hsl(0, 100%, 40%);">-  $(LIBOSMOABIS_CFLAGS) \</span><br><span style="color: hsl(0, 100%, 40%);">- $(LIBSMPP34_CFLAGS) \</span><br><span style="color: hsl(0, 100%, 40%);">-   $(COVERAGE_CFLAGS) \</span><br><span style="color: hsl(0, 100%, 40%);">-    $(NULL)</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-AM_LDFLAGS = \</span><br><span style="color: hsl(0, 100%, 40%);">-   $(COVERAGE_LDFLAGS) \</span><br><span style="color: hsl(0, 100%, 40%);">-   $(NULL)</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-EXTRA_DIST = \</span><br><span style="color: hsl(0, 100%, 40%);">-   db_test.ok \</span><br><span style="color: hsl(0, 100%, 40%);">-    db_test.err \</span><br><span style="color: hsl(0, 100%, 40%);">-   hlr.sqlite3 \</span><br><span style="color: hsl(0, 100%, 40%);">-   $(NULL)</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-noinst_PROGRAMS = \</span><br><span style="color: hsl(0, 100%, 40%);">-      db_test \</span><br><span style="color: hsl(0, 100%, 40%);">-       $(NULL)</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-db_test_SOURCES = \</span><br><span style="color: hsl(0, 100%, 40%);">-      db_test.c \</span><br><span style="color: hsl(0, 100%, 40%);">-     $(NULL)</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-db_test_LDADD = \</span><br><span style="color: hsl(0, 100%, 40%);">-        $(top_builddir)/src/libmsc/libmsc.a \</span><br><span style="color: hsl(0, 100%, 40%);">-   $(top_builddir)/src/libtrau/libtrau.a \</span><br><span style="color: hsl(0, 100%, 40%);">- $(top_builddir)/tests/libiudummy/libiudummy.a \</span><br><span style="color: hsl(0, 100%, 40%);">- $(LIBOSMOCORE_LIBS) \</span><br><span style="color: hsl(0, 100%, 40%);">-   $(LIBOSMOABIS_LIBS) \</span><br><span style="color: hsl(0, 100%, 40%);">-   $(LIBOSMOGSM_LIBS) \</span><br><span style="color: hsl(0, 100%, 40%);">-    $(LIBSMPP34_LIBS) \</span><br><span style="color: hsl(0, 100%, 40%);">-     $(LIBOSMOVTY_LIBS) \</span><br><span style="color: hsl(0, 100%, 40%);">-    -ldbi \</span><br><span style="color: hsl(0, 100%, 40%);">- $(NULL)</span><br><span>diff --git a/tests/db/db_test.c b/tests/db/db_test.c</span><br><span>deleted file mode 100644</span><br><span>index 63099f6..0000000</span><br><span>--- a/tests/db/db_test.c</span><br><span>+++ /dev/null</span><br><span>@@ -1,286 +0,0 @@</span><br><span style="color: hsl(0, 100%, 40%);">-/* (C) 2008 by Jan Luebbe <jluebbe@debian.org></span><br><span style="color: hsl(0, 100%, 40%);">- * (C) 2009-2016 by Holger Hans Peter Freyther <zecke@selfish.org></span><br><span style="color: hsl(0, 100%, 40%);">- * (C) 2014 by Alexander Chemeris <Alexander.Chemeris@fairwaves.co></span><br><span style="color: hsl(0, 100%, 40%);">- * All Rights Reserved</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- * This program is free software; you can redistribute it and/or modify</span><br><span style="color: hsl(0, 100%, 40%);">- * it under the terms of the GNU Affero General Public License as published by</span><br><span style="color: hsl(0, 100%, 40%);">- * the Free Software Foundation; either version 3 of the License, or</span><br><span style="color: hsl(0, 100%, 40%);">- * (at your option) any later version.</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- * This program is distributed in the hope that it will be useful,</span><br><span style="color: hsl(0, 100%, 40%);">- * but WITHOUT ANY WARRANTY; without even the implied warranty of</span><br><span style="color: hsl(0, 100%, 40%);">- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</span><br><span style="color: hsl(0, 100%, 40%);">- * GNU General Public License for more details.</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- * You should have received a copy of the GNU Affero General Public License</span><br><span style="color: hsl(0, 100%, 40%);">- * along with this program.  If not, see <http://www.gnu.org/licenses/>.</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- */</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-#include <osmocom/msc/debug.h></span><br><span style="color: hsl(0, 100%, 40%);">-#include <osmocom/msc/db.h></span><br><span style="color: hsl(0, 100%, 40%);">-#include <osmocom/msc/gsm_subscriber.h></span><br><span style="color: hsl(0, 100%, 40%);">-#include <osmocom/msc/gsm_04_11.h></span><br><span style="color: hsl(0, 100%, 40%);">-#include <osmocom/msc/mgcp.h></span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-#include <osmocom/core/application.h></span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-#include <stdio.h></span><br><span style="color: hsl(0, 100%, 40%);">-#include <string.h></span><br><span style="color: hsl(0, 100%, 40%);">-#include <stdlib.h></span><br><span style="color: hsl(0, 100%, 40%);">-#include <stdbool.h></span><br><span style="color: hsl(0, 100%, 40%);">-#include <inttypes.h></span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-static struct gsm_network dummy_net;</span><br><span style="color: hsl(0, 100%, 40%);">-static struct gsm_subscriber_group dummy_sgrp;</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-#define SUBSCR_PUT(sub) \</span><br><span style="color: hsl(0, 100%, 40%);">-     sub->group = &dummy_sgrp;        \</span><br><span style="color: hsl(0, 100%, 40%);">-       subscr_put(sub);</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-#define COMPARE(original, copy) \</span><br><span style="color: hsl(0, 100%, 40%);">-       if (original->id != copy->id) \</span><br><span style="color: hsl(0, 100%, 40%);">-           printf("Ids do not match in %s:%d %llu %llu\n", \</span><br><span style="color: hsl(0, 100%, 40%);">-                     __FUNCTION__, __LINE__, original->id, copy->id); \</span><br><span style="color: hsl(0, 100%, 40%);">-        if (original->lac != copy->lac) \</span><br><span style="color: hsl(0, 100%, 40%);">-         printf("LAC do not match in %s:%d %d %d\n", \</span><br><span style="color: hsl(0, 100%, 40%);">-                 __FUNCTION__, __LINE__, original->lac, copy->lac); \</span><br><span style="color: hsl(0, 100%, 40%);">-      if (original->authorized != copy->authorized) \</span><br><span style="color: hsl(0, 100%, 40%);">-           printf("Authorize do not match in %s:%d %d %d\n", \</span><br><span style="color: hsl(0, 100%, 40%);">-                   __FUNCTION__, __LINE__, original->authorized, \</span><br><span style="color: hsl(0, 100%, 40%);">-                      copy->authorized); \</span><br><span style="color: hsl(0, 100%, 40%);">- if (strcmp(original->imsi, copy->imsi) != 0) \</span><br><span style="color: hsl(0, 100%, 40%);">-            printf("IMSIs do not match in %s:%d '%s' '%s'\n", \</span><br><span style="color: hsl(0, 100%, 40%);">-                   __FUNCTION__, __LINE__, original->imsi, copy->imsi); \</span><br><span style="color: hsl(0, 100%, 40%);">-    if (original->tmsi != copy->tmsi) \</span><br><span style="color: hsl(0, 100%, 40%);">-               printf("TMSIs do not match in %s:%d '%u' '%u'\n", \</span><br><span style="color: hsl(0, 100%, 40%);">-                   __FUNCTION__, __LINE__, original->tmsi, copy->tmsi); \</span><br><span style="color: hsl(0, 100%, 40%);">-    if (strcmp(original->name, copy->name) != 0) \</span><br><span style="color: hsl(0, 100%, 40%);">-            printf("names do not match in %s:%d '%s' '%s'\n", \</span><br><span style="color: hsl(0, 100%, 40%);">-                   __FUNCTION__, __LINE__, original->name, copy->name); \</span><br><span style="color: hsl(0, 100%, 40%);">-    if (strcmp(original->extension, copy->extension) != 0) \</span><br><span style="color: hsl(0, 100%, 40%);">-          printf("Extensions do not match in %s:%d '%s' '%s'\n", \</span><br><span style="color: hsl(0, 100%, 40%);">-                      __FUNCTION__, __LINE__, original->extension, copy->extension); \</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-/*</span><br><span style="color: hsl(0, 100%, 40%);">- * Create/Store a SMS and then try to load it.</span><br><span style="color: hsl(0, 100%, 40%);">- */</span><br><span style="color: hsl(0, 100%, 40%);">-static void test_sms(void)</span><br><span style="color: hsl(0, 100%, 40%);">-{</span><br><span style="color: hsl(0, 100%, 40%);">-    int rc;</span><br><span style="color: hsl(0, 100%, 40%);">- struct gsm_sms *sms;</span><br><span style="color: hsl(0, 100%, 40%);">-    struct gsm_subscriber *subscr;</span><br><span style="color: hsl(0, 100%, 40%);">-  subscr = db_get_subscriber(GSM_SUBSCRIBER_IMSI, "9993245423445");</span><br><span style="color: hsl(0, 100%, 40%);">-     OSMO_ASSERT(subscr);</span><br><span style="color: hsl(0, 100%, 40%);">-    subscr->group = &dummy_sgrp;</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-     sms = sms_alloc();</span><br><span style="color: hsl(0, 100%, 40%);">-      sms->receiver = subscr_get(subscr);</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-  sms->src.ton = 0x23;</span><br><span style="color: hsl(0, 100%, 40%);">- sms->src.npi = 0x24;</span><br><span style="color: hsl(0, 100%, 40%);">- memcpy(sms->src.addr, "1234", strlen("1234") + 1);</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-       sms->dst.ton = 0x32;</span><br><span style="color: hsl(0, 100%, 40%);">- sms->dst.npi = 0x42;</span><br><span style="color: hsl(0, 100%, 40%);">- memcpy(sms->dst.addr, subscr->extension, sizeof(subscr->extension));</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-   memcpy(sms->text, "Text123", strlen("Text123") + 1);</span><br><span style="color: hsl(0, 100%, 40%);">-     memcpy(sms->user_data, "UserData123", strlen("UserData123") + 1);</span><br><span style="color: hsl(0, 100%, 40%);">-        sms->user_data_len = strlen("UserData123");</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-        /* random values */</span><br><span style="color: hsl(0, 100%, 40%);">-     sms->reply_path_req = 1;</span><br><span style="color: hsl(0, 100%, 40%);">-     sms->status_rep_req = 2;</span><br><span style="color: hsl(0, 100%, 40%);">-     sms->ud_hdr_ind = 3;</span><br><span style="color: hsl(0, 100%, 40%);">- sms->protocol_id = 4;</span><br><span style="color: hsl(0, 100%, 40%);">-        sms->data_coding_scheme = 5;</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">- rc = db_sms_store(sms);</span><br><span style="color: hsl(0, 100%, 40%);">- sms_free(sms);</span><br><span style="color: hsl(0, 100%, 40%);">-  OSMO_ASSERT(rc == 0);</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-   /* now query */</span><br><span style="color: hsl(0, 100%, 40%);">- sms = db_sms_get_unsent_for_subscr(subscr);</span><br><span style="color: hsl(0, 100%, 40%);">-     OSMO_ASSERT(sms);</span><br><span style="color: hsl(0, 100%, 40%);">-       OSMO_ASSERT(sms->receiver == subscr);</span><br><span style="color: hsl(0, 100%, 40%);">-        OSMO_ASSERT(sms->reply_path_req == 1);</span><br><span style="color: hsl(0, 100%, 40%);">-       OSMO_ASSERT(sms->status_rep_req == 2);</span><br><span style="color: hsl(0, 100%, 40%);">-       OSMO_ASSERT(sms->ud_hdr_ind == 3);</span><br><span style="color: hsl(0, 100%, 40%);">-   OSMO_ASSERT(sms->protocol_id == 4);</span><br><span style="color: hsl(0, 100%, 40%);">-  OSMO_ASSERT(sms->data_coding_scheme == 5);</span><br><span style="color: hsl(0, 100%, 40%);">-   OSMO_ASSERT(sms->src.ton == 0x23);</span><br><span style="color: hsl(0, 100%, 40%);">-   OSMO_ASSERT(sms->src.npi == 0x24);</span><br><span style="color: hsl(0, 100%, 40%);">-   OSMO_ASSERT(sms->dst.ton == 0x32);</span><br><span style="color: hsl(0, 100%, 40%);">-   OSMO_ASSERT(sms->dst.npi == 0x42);</span><br><span style="color: hsl(0, 100%, 40%);">-   OSMO_ASSERT(strcmp((char *) sms->text, "Text123") == 0);</span><br><span style="color: hsl(0, 100%, 40%);">-   OSMO_ASSERT(sms->user_data_len == strlen("UserData123"));</span><br><span style="color: hsl(0, 100%, 40%);">-  OSMO_ASSERT(strcmp((char *) sms->user_data, "UserData123") == 0);</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-  /* Mark the SMS as delivered */</span><br><span style="color: hsl(0, 100%, 40%);">- db_sms_mark_delivered(sms);</span><br><span style="color: hsl(0, 100%, 40%);">-     sms_free(sms);</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-  sms = db_sms_get_unsent_for_subscr(subscr);</span><br><span style="color: hsl(0, 100%, 40%);">-     OSMO_ASSERT(!sms);</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-      subscr_put(subscr);</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-static void test_sms_migrate(void)</span><br><span style="color: hsl(0, 100%, 40%);">-{</span><br><span style="color: hsl(0, 100%, 40%);">- struct gsm_subscriber *rcv_subscr;</span><br><span style="color: hsl(0, 100%, 40%);">-      struct gsm_sms *sms;</span><br><span style="color: hsl(0, 100%, 40%);">-    static const uint8_t user_data_1[] = {</span><br><span style="color: hsl(0, 100%, 40%);">-          0x41, 0xf1, 0xd8, 0x05, 0x22, 0x96, 0xcd, 0x2e,</span><br><span style="color: hsl(0, 100%, 40%);">-         0x90, 0xf1, 0xfd, 0x06, 0x00 };</span><br><span style="color: hsl(0, 100%, 40%);">- static const uint8_t user_data_2[] = {</span><br><span style="color: hsl(0, 100%, 40%);">-          0x41, 0xf1, 0xd8, 0x05, 0x22, 0x96, 0xcd, 0x2e,</span><br><span style="color: hsl(0, 100%, 40%);">-         0xd0, 0xf1, 0xfd, 0x06, 0x00 };</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">- rcv_subscr = db_get_subscriber(GSM_SUBSCRIBER_IMSI, "901010000001111");</span><br><span style="color: hsl(0, 100%, 40%);">-       rcv_subscr->group = &dummy_sgrp;</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">- sms = db_sms_get(&dummy_net, 1);</span><br><span style="color: hsl(0, 100%, 40%);">-    OSMO_ASSERT(sms->id == 1);</span><br><span style="color: hsl(0, 100%, 40%);">-   OSMO_ASSERT(sms->receiver == rcv_subscr);</span><br><span style="color: hsl(0, 100%, 40%);">-    OSMO_ASSERT(strcmp(sms->text, "Abc. Def. Foo") == 0);</span><br><span style="color: hsl(0, 100%, 40%);">-      OSMO_ASSERT(sms->user_data_len == ARRAY_SIZE(user_data_1));</span><br><span style="color: hsl(0, 100%, 40%);">-  OSMO_ASSERT(memcmp(sms->user_data, user_data_1, ARRAY_SIZE(user_data_1)) == 0);</span><br><span style="color: hsl(0, 100%, 40%);">-      sms_free(sms);</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-  sms = db_sms_get(&dummy_net, 2);</span><br><span style="color: hsl(0, 100%, 40%);">-    OSMO_ASSERT(sms->id == 2);</span><br><span style="color: hsl(0, 100%, 40%);">-   OSMO_ASSERT(sms->receiver == rcv_subscr);</span><br><span style="color: hsl(0, 100%, 40%);">-    OSMO_ASSERT(strcmp(sms->text, "Abc. Def. Goo") == 0);</span><br><span style="color: hsl(0, 100%, 40%);">-      OSMO_ASSERT(sms->user_data_len == ARRAY_SIZE(user_data_2));</span><br><span style="color: hsl(0, 100%, 40%);">-  OSMO_ASSERT(memcmp(sms->user_data, user_data_2, ARRAY_SIZE(user_data_2)) == 0);</span><br><span style="color: hsl(0, 100%, 40%);">-      sms_free(sms);</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-  subscr_put(rcv_subscr);</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-static void test_subs(const char *imsi, char *imei1, char *imei2, bool make_ext)</span><br><span style="color: hsl(0, 100%, 40%);">-{</span><br><span style="color: hsl(0, 100%, 40%);">-       struct gsm_subscriber *alice = NULL, *alice_db;</span><br><span style="color: hsl(0, 100%, 40%);">- char scratch_str[256];</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-  alice = db_create_subscriber(imsi, GSM_MIN_EXTEN, GSM_MAX_EXTEN,</span><br><span style="color: hsl(0, 100%, 40%);">-                                     make_ext);</span><br><span style="color: hsl(0, 100%, 40%);">- db_subscriber_assoc_imei(alice, imei1);</span><br><span style="color: hsl(0, 100%, 40%);">- if (imei2)</span><br><span style="color: hsl(0, 100%, 40%);">-              db_subscriber_assoc_imei(alice, imei2);</span><br><span style="color: hsl(0, 100%, 40%);">- db_subscriber_alloc_tmsi(alice);</span><br><span style="color: hsl(0, 100%, 40%);">-        alice->lac=42;</span><br><span style="color: hsl(0, 100%, 40%);">-       db_sync_subscriber(alice);</span><br><span style="color: hsl(0, 100%, 40%);">-      /* Get by TMSI */</span><br><span style="color: hsl(0, 100%, 40%);">-       snprintf(scratch_str, sizeof(scratch_str), "%"PRIu32, alice->tmsi);</span><br><span style="color: hsl(0, 100%, 40%);">-        alice_db = db_get_subscriber(GSM_SUBSCRIBER_TMSI, scratch_str);</span><br><span style="color: hsl(0, 100%, 40%);">- COMPARE(alice, alice_db);</span><br><span style="color: hsl(0, 100%, 40%);">-       SUBSCR_PUT(alice_db);</span><br><span style="color: hsl(0, 100%, 40%);">-   /* Get by IMSI */</span><br><span style="color: hsl(0, 100%, 40%);">-       alice_db = db_get_subscriber(GSM_SUBSCRIBER_IMSI, imsi);</span><br><span style="color: hsl(0, 100%, 40%);">-        COMPARE(alice, alice_db);</span><br><span style="color: hsl(0, 100%, 40%);">-       SUBSCR_PUT(alice_db);</span><br><span style="color: hsl(0, 100%, 40%);">-   /* Get by id */</span><br><span style="color: hsl(0, 100%, 40%);">- snprintf(scratch_str, sizeof(scratch_str), "%llu", alice->id);</span><br><span style="color: hsl(0, 100%, 40%);">-     alice_db = db_get_subscriber(GSM_SUBSCRIBER_ID, scratch_str);</span><br><span style="color: hsl(0, 100%, 40%);">-   COMPARE(alice, alice_db);</span><br><span style="color: hsl(0, 100%, 40%);">-       SUBSCR_PUT(alice_db);</span><br><span style="color: hsl(0, 100%, 40%);">-   /* Get by extension */</span><br><span style="color: hsl(0, 100%, 40%);">-  alice_db = db_get_subscriber(GSM_SUBSCRIBER_EXTENSION, alice->extension);</span><br><span style="color: hsl(0, 100%, 40%);">-    if (alice_db) {</span><br><span style="color: hsl(0, 100%, 40%);">-         if (!make_ext)</span><br><span style="color: hsl(0, 100%, 40%);">-                  printf("FAIL: bogus extension created for IMSI %s\n",</span><br><span style="color: hsl(0, 100%, 40%);">-                        imsi);</span><br><span style="color: hsl(0, 100%, 40%);">-           COMPARE(alice, alice_db);</span><br><span style="color: hsl(0, 100%, 40%);">-               SUBSCR_PUT(alice_db);</span><br><span style="color: hsl(0, 100%, 40%);">-   } else if (make_ext)</span><br><span style="color: hsl(0, 100%, 40%);">-            printf("FAIL: no subscriber extension for IMSI %s\n", imsi);</span><br><span style="color: hsl(0, 100%, 40%);">-  SUBSCR_PUT(alice);</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-int main()</span><br><span style="color: hsl(0, 100%, 40%);">-{</span><br><span style="color: hsl(0, 100%, 40%);">-  printf("Testing subscriber database code.\n");</span><br><span style="color: hsl(0, 100%, 40%);">-        osmo_init_logging(&log_info);</span><br><span style="color: hsl(0, 100%, 40%);">-       log_set_print_filename(osmo_stderr_target, 0);</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-  dummy_net.subscr_group = &dummy_sgrp;</span><br><span style="color: hsl(0, 100%, 40%);">-       dummy_sgrp.net         = &dummy_net;</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-        if (db_init("hlr.sqlite3")) {</span><br><span style="color: hsl(0, 100%, 40%);">-         printf("DB: Failed to init database. Please check the option settings.\n");</span><br><span style="color: hsl(0, 100%, 40%);">-           return 1;</span><br><span style="color: hsl(0, 100%, 40%);">-       }        </span><br><span style="color: hsl(0, 100%, 40%);">-       printf("DB: Database initialized.\n");</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-        if (db_prepare()) {</span><br><span style="color: hsl(0, 100%, 40%);">-             printf("DB: Failed to prepare database.\n");</span><br><span style="color: hsl(0, 100%, 40%);">-          return 1;</span><br><span style="color: hsl(0, 100%, 40%);">-       }</span><br><span style="color: hsl(0, 100%, 40%);">-       printf("DB: Database prepared.\n");</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-   struct gsm_subscriber *alice = NULL;</span><br><span style="color: hsl(0, 100%, 40%);">-    struct gsm_subscriber *alice_db;</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-        char *alice_imsi = "3243245432345";</span><br><span style="color: hsl(0, 100%, 40%);">-   alice = db_create_subscriber(alice_imsi, GSM_MIN_EXTEN, GSM_MAX_EXTEN,</span><br><span style="color: hsl(0, 100%, 40%);">-                               true);</span><br><span style="color: hsl(0, 100%, 40%);">-     db_sync_subscriber(alice);</span><br><span style="color: hsl(0, 100%, 40%);">-      alice_db = db_get_subscriber(GSM_SUBSCRIBER_IMSI, alice->imsi);</span><br><span style="color: hsl(0, 100%, 40%);">-      COMPARE(alice, alice_db);</span><br><span style="color: hsl(0, 100%, 40%);">-       SUBSCR_PUT(alice_db);</span><br><span style="color: hsl(0, 100%, 40%);">-   SUBSCR_PUT(alice);</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-      test_subs("3693245423445", "1234567890", NULL, true);</span><br><span style="color: hsl(0, 100%, 40%);">-       test_subs("9993245423445", "1234567890", "6543560920", true);</span><br><span style="color: hsl(0, 100%, 40%);">-     test_subs("3123122223445", "1234567890", NULL, false);</span><br><span style="color: hsl(0, 100%, 40%);">-      test_subs("9123121223445", "1234567890", "6543560920", false);</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-    /* create it again and see it fails */</span><br><span style="color: hsl(0, 100%, 40%);">-  alice = db_create_subscriber(alice_imsi, GSM_MIN_EXTEN, GSM_MAX_EXTEN,</span><br><span style="color: hsl(0, 100%, 40%);">-                               true);</span><br><span style="color: hsl(0, 100%, 40%);">-     OSMO_ASSERT(!alice);</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-    test_sms();</span><br><span style="color: hsl(0, 100%, 40%);">-     test_sms_migrate();</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-     db_fini();</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-      printf("Done\n");</span><br><span style="color: hsl(0, 100%, 40%);">-     return 0;</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-/* stubs */</span><br><span style="color: hsl(0, 100%, 40%);">-void vty_out() {}</span><br><span style="color: hsl(0, 100%, 40%);">-void vlr_subscr_disconnected() {}</span><br><span style="color: hsl(0, 100%, 40%);">-void vlr_subscr_rx_tmsi_reall_compl() {}</span><br><span style="color: hsl(0, 100%, 40%);">-void vlr_subscr_rx_id_resp() {}</span><br><span style="color: hsl(0, 100%, 40%);">-void vlr_subscr_rx_auth_resp() {}</span><br><span style="color: hsl(0, 100%, 40%);">-void vlr_loc_update() {}</span><br><span style="color: hsl(0, 100%, 40%);">-void vlr_proc_acc_req() {}</span><br><span style="color: hsl(0, 100%, 40%);">-void vlr_init() {}</span><br><span style="color: hsl(0, 100%, 40%);">-unsigned int mgcpgw_client_next_endpoint(struct mgcpgw_client *client)</span><br><span style="color: hsl(0, 100%, 40%);">-{ return 0; }</span><br><span style="color: hsl(0, 100%, 40%);">-struct msgb *mgcp_msg_crcx(struct mgcpgw_client *mgcp,</span><br><span style="color: hsl(0, 100%, 40%);">-                       uint16_t rtp_endpoint, unsigned int call_id,</span><br><span style="color: hsl(0, 100%, 40%);">-                    enum mgcp_connection_mode mode)</span><br><span style="color: hsl(0, 100%, 40%);">-{ return NULL; }</span><br><span style="color: hsl(0, 100%, 40%);">-struct msgb *mgcp_msg_mdcx(struct mgcpgw_client *mgcp,</span><br><span style="color: hsl(0, 100%, 40%);">-                           uint16_t rtp_endpoint, const char *rtp_conn_addr,</span><br><span style="color: hsl(0, 100%, 40%);">-                       uint16_t rtp_port, enum mgcp_connection_mode mode)</span><br><span style="color: hsl(0, 100%, 40%);">-{ return NULL; }</span><br><span style="color: hsl(0, 100%, 40%);">-int mgcpgw_client_tx(struct mgcpgw_client *mgcp, struct msgb *msg,</span><br><span style="color: hsl(0, 100%, 40%);">-              mgcp_response_cb_t response_cb, void *priv)</span><br><span style="color: hsl(0, 100%, 40%);">-{ return -EINVAL; }</span><br><span style="color: hsl(0, 100%, 40%);">-const char *mgcpgw_client_remote_addr_str(struct mgcpgw_client *mgcp)</span><br><span style="color: hsl(0, 100%, 40%);">-{ return "0.0.0.0"; }</span><br><span style="color: hsl(0, 100%, 40%);">-uint32_t mgcpgw_client_remote_addr_n(struct mgcpgw_client *mgcp)</span><br><span style="color: hsl(0, 100%, 40%);">-{ return 0; }</span><br><span style="color: hsl(0, 100%, 40%);">-int mgcp_response_parse_params(struct mgcp_response *r)</span><br><span style="color: hsl(0, 100%, 40%);">-{ return -EINVAL; }</span><br><span style="color: hsl(0, 100%, 40%);">-struct RANAP_Cause;</span><br><span style="color: hsl(0, 100%, 40%);">-int iu_tx_release(struct ue_conn_ctx *ctx, const struct RANAP_Cause *cause)</span><br><span style="color: hsl(0, 100%, 40%);">-{ return 0; }</span><br><span>diff --git a/tests/db/db_test.err b/tests/db/db_test.err</span><br><span>deleted file mode 100644</span><br><span>index 27e5703..0000000</span><br><span>--- a/tests/db/db_test.err</span><br><span>+++ /dev/null</span><br><span>@@ -1,3 +0,0 @@</span><br><span style="color: hsl(0, 100%, 40%);">-Going to migrate from revision 3</span><br><span style="color: hsl(0, 100%, 40%);">-Going to migrate from revision 4</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span>\ No newline at end of file</span><br><span>diff --git a/tests/db/db_test.ok b/tests/db/db_test.ok</span><br><span>deleted file mode 100644</span><br><span>index 2632a8c..0000000</span><br><span>--- a/tests/db/db_test.ok</span><br><span>+++ /dev/null</span><br><span>@@ -1,4 +0,0 @@</span><br><span style="color: hsl(0, 100%, 40%);">-Testing subscriber database code.</span><br><span style="color: hsl(0, 100%, 40%);">-DB: Database initialized.</span><br><span style="color: hsl(0, 100%, 40%);">-DB: Database prepared.</span><br><span style="color: hsl(0, 100%, 40%);">-Done</span><br><span>diff --git a/tests/db/hlr.sqlite3 b/tests/db/hlr.sqlite3</span><br><span>deleted file mode 100644</span><br><span>index e59dcdc..0000000</span><br><span>--- a/tests/db/hlr.sqlite3</span><br><span>+++ /dev/null</span><br><span>Binary files differ</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/12027">change 12027</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/12027"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-msc </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: I05880507d9bf029f0ec451efda0ebe54ac09ef12 </div>
<div style="display:none"> Gerrit-Change-Number: 12027 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Neels Hofmeyr <nhofmeyr@sysmocom.de> </div>