Change in openbsc[master]: Cleanup and extend db test
diff mbox

Message ID gerrit.1462964973137.I9e39af85718514dd0f081d41c234c9dda77c4b27@gerrit.osmocom.org
State New
Headers show

Commit Message

gerrit-no-reply@lists.osmocom.org May 11, 2016, 11:09 a.m. UTC
From Max <msuraev@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

Comments

gerrit-no-reply@lists.osmocom.org May 12, 2016, 1:38 p.m. UTC | #1
From Max <msuraev@sysmocom.de>:

Hello Holger Freyther,

I'd like you to reexamine a change.  Please visit

    https://gerrit.osmocom.org/43

to look at the new patch set (#2).

Change subject: Cleanup db test
......................................................................

Cleanup db test

Move copy-pasted code into separate function to make writing more tests
easier.

Change-Id: I9e39af85718514dd0f081d41c234c9dda77c4b27
---
M openbsc/tests/db/db_test.c
1 file changed, 34 insertions(+), 53 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/openbsc refs/changes/43/43/2
gerrit-no-reply@lists.osmocom.org May 13, 2016, 10:22 a.m. UTC | #2
From Max <msuraev@sysmocom.de>:

Hello Holger Freyther,

I'd like you to reexamine a change.  Please visit

    https://gerrit.osmocom.org/43

to look at the new patch set (#3).

Change subject: Cleanup db test
......................................................................

Cleanup db test

Move copy-pasted code into separate function to make writing more tests
easier.

Related: OS#1658
Change-Id: I9e39af85718514dd0f081d41c234c9dda77c4b27
---
M openbsc/tests/db/db_test.c
1 file changed, 34 insertions(+), 53 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/openbsc refs/changes/43/43/3
gerrit-no-reply@lists.osmocom.org May 17, 2016, 4:14 p.m. UTC | #3
From Holger Freyther <holger@freyther.de>:

Holger Freyther has posted comments on this change.

Change subject: Cleanup db test
......................................................................


Patch Set 3: Code-Review+2

Patch
diff mbox

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);