db: Add testcase for the db migration.
This commit is contained in:
parent
e7cc9aa447
commit
6114401b9b
|
@ -271,6 +271,8 @@ static int update_db_revision_3(void)
|
|||
dbi_result result;
|
||||
struct gsm_sms *sms;
|
||||
|
||||
LOGP(DDB, LOGL_NOTICE, "Going to migrate from revision 3\n");
|
||||
|
||||
result = dbi_conn_query(conn, "BEGIN EXCLUSIVE TRANSACTION");
|
||||
if (!result) {
|
||||
LOGP(DDB, LOGL_ERROR,
|
||||
|
|
|
@ -2,7 +2,7 @@ AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/include
|
|||
AM_CFLAGS=-Wall -ggdb3 $(LIBOSMOCORE_CFLAGS) $(LIBOSMOGSM_CFLAGS) $(LIBOSMOABIS_CFLAGS) $(LIBSMPP34_CFLAGS) $(COVERAGE_CFLAGS)
|
||||
AM_LDFLAGS = $(COVERAGE_LDFLAGS)
|
||||
|
||||
EXTRA_DIST = db_test.ok
|
||||
EXTRA_DIST = db_test.ok db_test.err hlr.sqlite3
|
||||
|
||||
noinst_PROGRAMS = db_test
|
||||
|
||||
|
|
|
@ -118,6 +118,39 @@ static void test_sms(void)
|
|||
subscr_put(subscr);
|
||||
}
|
||||
|
||||
static void test_sms_migrate(void)
|
||||
{
|
||||
struct gsm_subscriber *rcv_subscr;
|
||||
struct gsm_sms *sms;
|
||||
static const uint8_t user_data_1[] = {
|
||||
0x41, 0xf1, 0xd8, 0x05, 0x22, 0x96, 0xcd, 0x2e,
|
||||
0x90, 0xf1, 0xfd, 0x06, 0x00 };
|
||||
static const uint8_t user_data_2[] = {
|
||||
0x41, 0xf1, 0xd8, 0x05, 0x22, 0x96, 0xcd, 0x2e,
|
||||
0xd0, 0xf1, 0xfd, 0x06, 0x00 };
|
||||
|
||||
rcv_subscr = db_get_subscriber(GSM_SUBSCRIBER_IMSI, "901010000001111");
|
||||
rcv_subscr->net = &dummy_net;
|
||||
|
||||
sms = db_sms_get(&dummy_net, 1);
|
||||
OSMO_ASSERT(sms->id == 1);
|
||||
OSMO_ASSERT(sms->receiver == rcv_subscr);
|
||||
OSMO_ASSERT(strcmp(sms->text, "Abc. Def. Foo") == 0);
|
||||
OSMO_ASSERT(sms->user_data_len == ARRAY_SIZE(user_data_1));
|
||||
OSMO_ASSERT(memcmp(sms->user_data, user_data_1, ARRAY_SIZE(user_data_1)) == 0);
|
||||
sms_free(sms);
|
||||
|
||||
sms = db_sms_get(&dummy_net, 2);
|
||||
OSMO_ASSERT(sms->id == 2);
|
||||
OSMO_ASSERT(sms->receiver == rcv_subscr);
|
||||
OSMO_ASSERT(strcmp(sms->text, "Abc. Def. Goo") == 0);
|
||||
OSMO_ASSERT(sms->user_data_len == ARRAY_SIZE(user_data_2));
|
||||
OSMO_ASSERT(memcmp(sms->user_data, user_data_2, ARRAY_SIZE(user_data_2)) == 0);
|
||||
sms_free(sms);
|
||||
|
||||
subscr_put(rcv_subscr);
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
char scratch_str[256];
|
||||
|
@ -202,6 +235,7 @@ int main()
|
|||
SUBSCR_PUT(alice);
|
||||
|
||||
test_sms();
|
||||
test_sms_migrate();
|
||||
|
||||
db_fini();
|
||||
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
<000d> db.c:274 Going to migrate from revision 3
|
||||
[0;m
|
Binary file not shown.
|
@ -10,7 +10,9 @@ AT_CLEANUP
|
|||
AT_SETUP([db])
|
||||
AT_KEYWORDS([db])
|
||||
cat $abs_srcdir/db/db_test.ok > expout
|
||||
AT_CHECK([$abs_top_builddir/tests/db/db_test], [], [expout], [ignore])
|
||||
cat $abs_srcdir/db/db_test.err > experr
|
||||
cat $abs_srcdir/db/hlr.sqlite3 > hlr.sqlite3
|
||||
AT_CHECK([$abs_top_builddir/tests/db/db_test], [], [expout], [experr])
|
||||
AT_CLEANUP
|
||||
|
||||
AT_SETUP([channel])
|
||||
|
|
Loading…
Reference in New Issue