diff options
Diffstat (limited to 'tests/ulc')
-rw-r--r-- | tests/ulc/PdchUlcTest.cpp | 27 | ||||
-rw-r--r-- | tests/ulc/PdchUlcTest.err | 87 |
2 files changed, 86 insertions, 28 deletions
diff --git a/tests/ulc/PdchUlcTest.cpp b/tests/ulc/PdchUlcTest.cpp index 3547bf6f..7d649b03 100644 --- a/tests/ulc/PdchUlcTest.cpp +++ b/tests/ulc/PdchUlcTest.cpp @@ -35,6 +35,7 @@ extern "C" { #include "bts.h" #include "sba.h" #include "pdch_ul_controller.h" +#include "alloc_algo.h" /* globals used by the code */ void *tall_pcu_ctx; @@ -165,10 +166,14 @@ static void test_reserve_multiple() printf("=== end: %s ===\n", __FUNCTION__); } -int _alloc_algorithm_dummy(struct gprs_rlcmac_bts *bts, struct gprs_rlcmac_tbf *tbf, - bool single, int8_t use_tbf) +int _alloc_algorithm_dummy(const struct alloc_resources_req *req, + struct alloc_resources_res *res) { - tbf->trx = &bts->trx[0]; + res->trx = &req->bts->trx[0]; + res->first_common_ts = &res->trx->pdch[0]; + res->reserved_ul_slots = 1 << 0; + res->reserved_dl_slots = 1 << 0; + res->ass_slots_mask = 1 << 0; return 0; } @@ -181,8 +186,11 @@ static void test_fn_wrap_around() the_pcu->alloc_algorithm = _alloc_algorithm_dummy; struct gprs_rlcmac_bts *bts = setup_new_bts(); - struct GprsMs *ms = ms_alloc(bts, 0x12345678); - struct gprs_rlcmac_tbf *tbf1 = tbf_alloc_dl_tbf(bts, ms, 0, true); + struct GprsMs *ms = ms_alloc(bts, NULL); + ms_confirm_tlli(ms, 0x12345678); + OSMO_ASSERT(ms_new_dl_tbf_assigned_on_pch(ms) == 0); + struct gprs_rlcmac_tbf *tbf1 = ms_dl_tbf(ms); + OSMO_ASSERT(tbf1); struct gprs_rlcmac_pdch *pdch = &tbf1->trx->pdch[0]; int rc; uint32_t fn, last_fn; @@ -315,9 +323,10 @@ int main(int argc, char **argv) log_set_log_level(osmo_stderr_target, LOGL_DEBUG); log_set_print_category_hex(osmo_stderr_target, 0); log_set_print_category(osmo_stderr_target, 0); - log_parse_category_mask(osmo_stderr_target, "DPCU,1:DRLCMAC,1:DRLCMACUL,1"); + log_parse_category_mask(osmo_stderr_target, "DPCU,1:DRLCMAC,1:DRLCMACUL,1:DMS,1"); the_pcu = gprs_pcu_alloc(tall_pcu_ctx); + OSMO_ASSERT(osmo_tdef_set(the_pcu->T_defs, -2030, 0, OSMO_TDEF_S) == 0); test_reserve_multiple(); test_fn_wrap_around(); @@ -337,11 +346,13 @@ extern "C" { abort(); } void l1if_connect_pdch() { abort(); + } void l1if_disconnect_pdch() { + abort(); } - void l1if_close_pdch() { + void l1if_close_trx() { abort(); } - void l1if_open_pdch() { + void l1if_open_trx() { abort(); } } diff --git a/tests/ulc/PdchUlcTest.err b/tests/ulc/PdchUlcTest.err index d122f31c..14183c55 100644 --- a/tests/ulc/PdchUlcTest.err +++ b/tests/ulc/PdchUlcTest.err @@ -1,56 +1,103 @@ +PDCH(bts=0,trx=0,ts=0) PDCH state: disabled => enabled +PDCH(bts=0,trx=0,ts=0) Reserving FN 72 for type SBA +PDCH(bts=0,trx=0,ts=0) Reserving FN 78 for type SBA +PDCH(bts=0,trx=0,ts=0) Reserving FN 72 for type SBA PDCH(bts=0,trx=0,ts=0) Trying to reserve already reserved FN 72 +PDCH(bts=0,trx=0,ts=0) Reserving FN 78 for type SBA PDCH(bts=0,trx=0,ts=0) Trying to reserve already reserved FN 78 +PDCH(bts=0,trx=0,ts=0) Reserving FN 72 for type POLL PDCH(bts=0,trx=0,ts=0) Trying to reserve already reserved FN 72 +PDCH(bts=0,trx=0,ts=0) Reserving FN 78 for type POLL PDCH(bts=0,trx=0,ts=0) Trying to reserve already reserved FN 78 +PDCH(bts=0,trx=0,ts=0) Reserving FN 82 for type POLL +PDCH(bts=0,trx=0,ts=0) Reserving FN 86 for type POLL +PDCH(bts=0,trx=0,ts=0) Reserving FN 91 for type POLL PDCH(bts=0,trx=0,ts=0) Trying to release unregistered SBA (FN=78, TA=0) PDCH(bts=0,trx=0,ts=0) Timeout for registered SBA (FN=72, TA=0) -Creating MS object, TLLI = 0x12345678 -MS(TLLI=0x12345678, IMSI=, TA=220, 0/0,) Attaching DL TBF: TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NEW) +PDCH(bts=0,trx=0,ts=0) PDCH state: disabled => enabled +Creating MS object +The MS object cannot fully confirm an unexpected TLLI: 0x12345678, partly confirmed +PDCH(bts=0,trx=0,ts=0) Attaching TBF(DL:TFI-0-0-0:G:TLLI-0x12345678){NEW}, 1 TBFs, USFs = 00, TFIs = 00000001. +MS(TLLI-0x12345678:TA-220:MSCLS-0-0) Attaching DL TBF: TBF(DL:TFI-0-0-0:G:TLLI-0x12345678){NEW} +MS(TLLI-0x12345678:TA-220:MSCLS-0-0:DL): + tbf: now used by 1 (tbf) +PDCH(bts=0,trx=0,ts=0) Reserving FN 2715608 for type POLL +PDCH(bts=0,trx=0,ts=0) Reserving FN 2715613 for type POLL +PDCH(bts=0,trx=0,ts=0) Reserving FN 2715617 for type POLL +PDCH(bts=0,trx=0,ts=0) Reserving FN 2715622 for type POLL +PDCH(bts=0,trx=0,ts=0) Reserving FN 2715626 for type POLL +PDCH(bts=0,trx=0,ts=0) Reserving FN 2715630 for type POLL +PDCH(bts=0,trx=0,ts=0) Reserving FN 2715635 for type POLL +PDCH(bts=0,trx=0,ts=0) Reserving FN 2715639 for type POLL +PDCH(bts=0,trx=0,ts=0) Reserving FN 2715643 for type POLL +PDCH(bts=0,trx=0,ts=0) Reserving FN 0 for type POLL +PDCH(bts=0,trx=0,ts=0) Reserving FN 4 for type POLL +PDCH(bts=0,trx=0,ts=0) Reserving FN 8 for type POLL +PDCH(bts=0,trx=0,ts=0) Reserving FN 13 for type POLL +PDCH(bts=0,trx=0,ts=0) Reserving FN 17 for type POLL +PDCH(bts=0,trx=0,ts=0) Reserving FN 21 for type POLL +PDCH(bts=0,trx=0,ts=0) Reserving FN 26 for type POLL +PDCH(bts=0,trx=0,ts=0) Reserving FN 30 for type POLL +PDCH(bts=0,trx=0,ts=0) Reserving FN 34 for type POLL +PDCH(bts=0,trx=0,ts=0) Reserving FN 39 for type POLL PDCH(bts=0,trx=0,ts=0) Expiring FN=2715613 but previous FN=2715608 is still reserved! -PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715608, reason=UL_ASS): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NEW) -PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715613, reason=UL_ASS): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NEW) +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715608, reason=UL_ASS): TBF(DL:TFI-0-0-0:G:TLLI-0x12345678){ASSIGN} +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715613, reason=UL_ASS): TBF(DL:TFI-0-0-0:G:TLLI-0x12345678){ASSIGN} PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=2715617 is still reserved! -PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715617, reason=UL_ASS): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NEW) +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715617, reason=UL_ASS): TBF(DL:TFI-0-0-0:G:TLLI-0x12345678){ASSIGN} PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=2715622 is still reserved! -PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715622, reason=UL_ASS): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NEW) +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715622, reason=UL_ASS): TBF(DL:TFI-0-0-0:G:TLLI-0x12345678){ASSIGN} PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=2715626 is still reserved! -PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715626, reason=UL_ASS): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NEW) +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715626, reason=UL_ASS): TBF(DL:TFI-0-0-0:G:TLLI-0x12345678){ASSIGN} PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=2715630 is still reserved! -PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715630, reason=UL_ASS): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NEW) +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715630, reason=UL_ASS): TBF(DL:TFI-0-0-0:G:TLLI-0x12345678){ASSIGN} PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=2715635 is still reserved! -PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715635, reason=UL_ASS): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NEW) +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715635, reason=UL_ASS): TBF(DL:TFI-0-0-0:G:TLLI-0x12345678){ASSIGN} PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=2715639 is still reserved! -PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715639, reason=UL_ASS): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NEW) +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715639, reason=UL_ASS): TBF(DL:TFI-0-0-0:G:TLLI-0x12345678){ASSIGN} PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=2715643 is still reserved! -PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715643, reason=UL_ASS): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NEW) +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715643, reason=UL_ASS): TBF(DL:TFI-0-0-0:G:TLLI-0x12345678){ASSIGN} PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=4 is still reserved! -PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=4, reason=UL_ASS): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NEW) +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=4, reason=UL_ASS): TBF(DL:TFI-0-0-0:G:TLLI-0x12345678){ASSIGN} PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=8 is still reserved! -PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=8, reason=UL_ASS): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NEW) +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=8, reason=UL_ASS): TBF(DL:TFI-0-0-0:G:TLLI-0x12345678){ASSIGN} PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=13 is still reserved! -PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=13, reason=UL_ASS): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NEW) +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=13, reason=UL_ASS): TBF(DL:TFI-0-0-0:G:TLLI-0x12345678){ASSIGN} PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=17 is still reserved! -PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=17, reason=UL_ASS): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NEW) +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=17, reason=UL_ASS): TBF(DL:TFI-0-0-0:G:TLLI-0x12345678){ASSIGN} PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=21 is still reserved! -PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=21, reason=UL_ASS): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NEW) +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=21, reason=UL_ASS): TBF(DL:TFI-0-0-0:G:TLLI-0x12345678){ASSIGN} PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=26 is still reserved! -PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=26, reason=UL_ASS): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NEW) +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=26, reason=UL_ASS): TBF(DL:TFI-0-0-0:G:TLLI-0x12345678){ASSIGN} PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=30 is still reserved! -PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=30, reason=UL_ASS): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NEW) +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=30, reason=UL_ASS): TBF(DL:TFI-0-0-0:G:TLLI-0x12345678){ASSIGN} PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=34 is still reserved! -PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=34, reason=UL_ASS): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NEW) +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=34, reason=UL_ASS): TBF(DL:TFI-0-0-0:G:TLLI-0x12345678){ASSIGN} PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=39 is still reserved! -PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=39, reason=UL_ASS): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NEW) +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=39, reason=UL_ASS): TBF(DL:TFI-0-0-0:G:TLLI-0x12345678){ASSIGN} +MS(TLLI-0x12345678:TA-220:MSCLS-0-0:DL) Destroying MS object +PDCH(bts=0,trx=0,ts=0) Detaching TBF(DL:TFI-0-0-0:G:TLLI-0x12345678){ASSIGN}, 1 TBFs, USFs = 00, TFIs = 00000001. +MS(TLLI-0x12345678:TA-220:MSCLS-0-0:DL) Detaching TBF: TBF(DL:G:TLLI-0x12345678){ASSIGN} +MS(TLLI-0x12345678:TA-220:MSCLS-0-0): - tbf: now used by 0 (-) +PDCH(bts=0,trx=0,ts=0) PDCH state: disabled => enabled +PDCH(bts=0,trx=0,ts=0) Reserving FN 104 for type SBA +PDCH(bts=0,trx=0,ts=0) Reserving FN 117 for type SBA +PDCH(bts=0,trx=0,ts=0) Reserving FN 121 for type SBA +PDCH(bts=0,trx=0,ts=0) Reserving FN 125 for type SBA +PDCH(bts=0,trx=0,ts=0) PDCH state: disabled => enabled PDCH(bts=0,trx=0,ts=0) POLL scheduled at FN 26 + 13 = 39 +PDCH(bts=0,trx=0,ts=0) Reserving FN 104 for type SBA PDCH(bts=0,trx=0,ts=0) UL block already scheduled at FN 91 + 13 = 104 PDCH(bts=0,trx=0,ts=0) POLL scheduled at FN 91 + 17 = 108 +PDCH(bts=0,trx=0,ts=0) Reserving FN 108 for type SBA PDCH(bts=0,trx=0,ts=0) UL block already scheduled at FN 91 + 13 = 104 PDCH(bts=0,trx=0,ts=0) UL block already scheduled at FN 91 + 17 = 108 PDCH(bts=0,trx=0,ts=0) POLL scheduled at FN 91 + 21 = 112 +PDCH(bts=0,trx=0,ts=0) Reserving FN 112 for type SBA PDCH(bts=0,trx=0,ts=0) UL block already scheduled at FN 91 + 13 = 104 PDCH(bts=0,trx=0,ts=0) UL block already scheduled at FN 91 + 17 = 108 PDCH(bts=0,trx=0,ts=0) UL block already scheduled at FN 91 + 21 = 112 PDCH(bts=0,trx=0,ts=0) POLL scheduled at FN 91 + 26 = 117 +PDCH(bts=0,trx=0,ts=0) Reserving FN 117 for type SBA PDCH(bts=0,trx=0,ts=0) UL block already scheduled at FN 91 + 13 = 104 PDCH(bts=0,trx=0,ts=0) UL block already scheduled at FN 91 + 17 = 108 PDCH(bts=0,trx=0,ts=0) UL block already scheduled at FN 91 + 21 = 112 |