MS store: move test helper to unit test

It's confusing to have test-specific helper with the same name as tested
function directly inside the GprsMsStorage class. Let's convert it into
static function and move to the unit test.

Change-Id: Ia2a5b90779051af894fe15d957c1d26f0a142f33
This commit is contained in:
Max 2019-03-12 12:53:27 +01:00
parent 0fb91b736c
commit f4d3973688
3 changed files with 18 additions and 20 deletions

View File

@ -106,20 +106,3 @@ GprsMs *GprsMsStorage::create_ms()
return ms;
}
GprsMs *GprsMsStorage::create_ms(uint32_t tlli, enum gprs_rlcmac_tbf_direction dir)
{
GprsMs *ms = get_ms(tlli);
if (ms)
return ms;
ms = create_ms();
if (dir == GPRS_RLCMAC_UL_TBF)
ms->set_tlli(tlli);
else
ms->confirm_tlli(tlli);
return ms;
}

View File

@ -39,7 +39,6 @@ public:
virtual void ms_active(class GprsMs *);
GprsMs *get_ms(uint32_t tlli, uint32_t old_tlli = 0, const char *imsi = 0) const;
GprsMs *create_ms(uint32_t tlli, enum gprs_rlcmac_tbf_direction dir);
GprsMs *create_ms();
const LListHead<GprsMs>& ms_list() const {return m_list;}

View File

@ -337,6 +337,22 @@ static void test_ms_change_tlli()
printf("=== end %s ===\n", __func__);
}
static GprsMs *prepare_ms(GprsMsStorage *st, uint32_t tlli, enum gprs_rlcmac_tbf_direction dir)
{
GprsMs *ms = st->get_ms(tlli);
if (ms)
return ms;
ms = st->create_ms();
if (dir == GPRS_RLCMAC_UL_TBF)
ms->set_tlli(tlli);
else
ms->confirm_tlli(tlli);
return ms;
}
static void test_ms_storage()
{
uint32_t tlli = 0xffeeddbb;
@ -355,7 +371,7 @@ static void test_ms_storage()
ms = store.get_ms(tlli + 0);
OSMO_ASSERT(ms == NULL);
ms = store.create_ms(tlli + 0, GPRS_RLCMAC_UL_TBF);
ms = prepare_ms(&store, tlli + 0, GPRS_RLCMAC_UL_TBF);
OSMO_ASSERT(ms != NULL);
OSMO_ASSERT(ms->tlli() == tlli + 0);
ms->set_imsi(imsi1);
@ -371,7 +387,7 @@ static void test_ms_storage()
ms_tmp = store.get_ms(0, 0, imsi2);
OSMO_ASSERT(ms_tmp == NULL);
ms = store.create_ms(tlli + 1, GPRS_RLCMAC_UL_TBF);
ms = prepare_ms(&store, tlli + 1, GPRS_RLCMAC_UL_TBF);
OSMO_ASSERT(ms != NULL);
OSMO_ASSERT(ms->tlli() == tlli + 1);
ms->set_imsi(imsi2);