This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/OpenBSC@lists.osmocom.org/.
gerrit-no-reply at lists.osmocom.org gerrit-no-reply at lists.osmocom.org>From Max <msuraev at sysmocom.de>: Max has uploaded a new change for review. https://gerrit.osmocom.org/43 Change subject: Cleanup and extend db test ...................................................................... Cleanup and extend db test * Move copy-pasted code into separate function to make writing more tests easier * Add explicit check for db_get_subscriber result to prevent silent segfault of the test Change-Id: I9e39af85718514dd0f081d41c234c9dda77c4b27 --- M openbsc/tests/db/db_test.c 1 file changed, 37 insertions(+), 53 deletions(-) git pull ssh://gerrit.osmocom.org:29418/openbsc refs/changes/43/43/1 diff --git a/openbsc/tests/db/db_test.c b/openbsc/tests/db/db_test.c index fb159a5..a375253 100644 --- a/openbsc/tests/db/db_test.c +++ b/openbsc/tests/db/db_test.c @@ -159,10 +159,44 @@ subscr_put(rcv_subscr); } -int main() +static void test_subs(const char *alice_imsi, char *imei1, char *imei2) { + struct gsm_subscriber *alice = NULL, *alice_db; char scratch_str[256]; + alice = db_create_subscriber(alice_imsi); + db_subscriber_assoc_imei(alice, imei1); + if (imei2) + db_subscriber_assoc_imei(alice, imei2); + db_subscriber_alloc_tmsi(alice); + alice->lac=42; + db_sync_subscriber(alice); + /* Get by TMSI */ + snprintf(scratch_str, sizeof(scratch_str), "%"PRIu32, alice->tmsi); + alice_db = db_get_subscriber(GSM_SUBSCRIBER_TMSI, scratch_str); + COMPARE(alice, alice_db); + SUBSCR_PUT(alice_db); + /* Get by IMSI */ + alice_db = db_get_subscriber(GSM_SUBSCRIBER_IMSI, alice_imsi); + COMPARE(alice, alice_db); + SUBSCR_PUT(alice_db); + /* Get by id */ + snprintf(scratch_str, sizeof(scratch_str), "%llu", alice->id); + alice_db = db_get_subscriber(GSM_SUBSCRIBER_ID, scratch_str); + COMPARE(alice, alice_db); + SUBSCR_PUT(alice_db); + /* Get by extension */ + alice_db = db_get_subscriber(GSM_SUBSCRIBER_EXTENSION, alice->extension); + if (alice_db) { + COMPARE(alice, alice_db); + SUBSCR_PUT(alice_db); + } else + printf("failed to get subscriber for %s\n", alice->imsi); + SUBSCR_PUT(alice); +} + +int main() +{ printf("Testing subscriber database code.\n"); osmo_init_logging(&log_info); log_set_print_filename(osmo_stderr_target, 0); @@ -193,58 +227,8 @@ SUBSCR_PUT(alice_db); SUBSCR_PUT(alice); - alice_imsi = "3693245423445"; - alice = db_create_subscriber(alice_imsi); - db_subscriber_assoc_imei(alice, "1234567890"); - db_subscriber_alloc_tmsi(alice); - alice->lac=42; - db_sync_subscriber(alice); - /* Get by TMSI */ - snprintf(scratch_str, sizeof(scratch_str), "%"PRIu32, alice->tmsi); - alice_db = db_get_subscriber(GSM_SUBSCRIBER_TMSI, scratch_str); - COMPARE(alice, alice_db); - SUBSCR_PUT(alice_db); - /* Get by IMSI */ - alice_db = db_get_subscriber(GSM_SUBSCRIBER_IMSI, alice_imsi); - COMPARE(alice, alice_db); - SUBSCR_PUT(alice_db); - /* Get by id */ - snprintf(scratch_str, sizeof(scratch_str), "%llu", alice->id); - alice_db = db_get_subscriber(GSM_SUBSCRIBER_ID, scratch_str); - COMPARE(alice, alice_db); - SUBSCR_PUT(alice_db); - /* Get by extension */ - alice_db = db_get_subscriber(GSM_SUBSCRIBER_EXTENSION, alice->extension); - COMPARE(alice, alice_db); - SUBSCR_PUT(alice_db); - SUBSCR_PUT(alice); - - alice_imsi = "9993245423445"; - alice = db_create_subscriber(alice_imsi); - db_subscriber_alloc_tmsi(alice); - alice->lac=42; - db_sync_subscriber(alice); - db_subscriber_assoc_imei(alice, "1234567890"); - db_subscriber_assoc_imei(alice, "6543560920"); - /* Get by TMSI */ - snprintf(scratch_str, sizeof(scratch_str), "%"PRIu32, alice->tmsi); - alice_db = db_get_subscriber(GSM_SUBSCRIBER_TMSI, scratch_str); - COMPARE(alice, alice_db); - SUBSCR_PUT(alice_db); - /* Get by IMSI */ - alice_db = db_get_subscriber(GSM_SUBSCRIBER_IMSI, alice_imsi); - COMPARE(alice, alice_db); - SUBSCR_PUT(alice_db); - /* Get by id */ - snprintf(scratch_str, sizeof(scratch_str), "%llu", alice->id); - alice_db = db_get_subscriber(GSM_SUBSCRIBER_ID, scratch_str); - COMPARE(alice, alice_db); - SUBSCR_PUT(alice_db); - /* Get by extension */ - alice_db = db_get_subscriber(GSM_SUBSCRIBER_EXTENSION, alice->extension); - COMPARE(alice, alice_db); - SUBSCR_PUT(alice_db); - SUBSCR_PUT(alice); + test_subs("3693245423445", "1234567890", NULL); + test_subs("9993245423445", "1234567890", "6543560920"); /* create it again and see it fails */ alice = db_create_subscriber(alice_imsi); -- To view, visit https://gerrit.osmocom.org/43 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I9e39af85718514dd0f081d41c234c9dda77c4b27 Gerrit-PatchSet: 1 Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-Owner: Max <msuraev at sysmocom.de>