diff options
author | Pau Espin Pedrol <pespin@sysmocom.de> | 2021-01-13 18:54:38 +0100 |
---|---|---|
committer | pespin <pespin@sysmocom.de> | 2021-01-18 10:37:05 +0000 |
commit | ac3fd120268a38fb4794982823c6abc8e964cfe8 (patch) | |
tree | bc88fdd84f73ace721b35db63efac5935848a952 /tests/types/TypesTest.cpp | |
parent | 695ce771676732045ac89ac03b43ba071befeafb (diff) |
Split PCU global PCU object from BTS object
Currently the BTS object (and gprs_rlcmac_bts struct) are used to hold
both PCU global fields and BTS specific fields, all mangled together.
The BTS is even accessed in lots of places by means of a singleton.
This patch introduces a new struct gprs_pcu object aimed at holding all
global state, and several fields are already moved from BTS to it. The
new object can be accessed as global variable "the_pcu", reusing and
including an already exisitng "the_pcu" global variable only used for
bssgp related purposes so far.
This is only a first step towards having a complete split global pcu and
BTS, some fields are still kept in BTS and will be moved over follow-up
smaller patches in the future (since this patch is already quite big).
So far, the code still only supports one BTS, which can be accessed
using the_pcu->bts. In the future that field will be replaced with a
list, and the BTS singletons will be removed.
The cur_fn output changes in TbfTest are actually a side effect fix,
since the singleton main_bts() now points internally to the_pcu->bts,
hence the same we allocate and assign in the test. Beforehand, "the_bts"
was allocated in the stack while main_bts() still returned an unrelated
singleton BTS object instance.
Related: OS#4935
Change-Id: I88e3c6471b80245ce3798223f1a61190f14aa840
Diffstat (limited to 'tests/types/TypesTest.cpp')
-rw-r--r-- | tests/types/TypesTest.cpp | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/tests/types/TypesTest.cpp b/tests/types/TypesTest.cpp index bc24b305..7e5d35a0 100644 --- a/tests/types/TypesTest.cpp +++ b/tests/types/TypesTest.cpp @@ -352,7 +352,7 @@ static void test_rlc_dl_ul_basic() uint16_t lost = 0, recv = 0; char show_rbb[65]; uint8_t bits_data[8]; - BTS dummy_bts; + BTS dummy_bts(the_pcu); gprs_rlc_dl_window dl_win; bitvec bits; int bsn_begin, bsn_end, num_blocks; @@ -669,8 +669,8 @@ static void test_egprs_ul_ack_nack() fprintf(stderr, "############## test_egprs_ul_ack_nack\n"); - BTS the_bts; - the_bts.bts_data()->alloc_algorithm = alloc_algorithm_a; + BTS the_bts(the_pcu); + the_pcu->alloc_algorithm = alloc_algorithm_a; the_bts.bts_data()->trx[0].pdch[4].enable(); GprsMs *ms = the_bts.ms_alloc(1, 1); @@ -759,8 +759,8 @@ static void check_imm_ass(struct gprs_rlcmac_tbf *tbf, bool dl, enum ph_burst_ty void test_immediate_assign_dl() { - BTS the_bts; - the_bts.bts_data()->alloc_algorithm = alloc_algorithm_a; + BTS the_bts(the_pcu); + the_pcu->alloc_algorithm = alloc_algorithm_a; the_bts.bts_data()->trx[0].pdch[2].enable(); the_bts.bts_data()->trx[0].pdch[3].enable(); GprsMs *ms = the_bts.ms_alloc(1, 0); @@ -783,8 +783,8 @@ void test_immediate_assign_dl() void test_immediate_assign_ul0m() { - BTS the_bts; - the_bts.bts_data()->alloc_algorithm = alloc_algorithm_a; + BTS the_bts(the_pcu); + the_pcu->alloc_algorithm = alloc_algorithm_a; the_bts.bts_data()->trx[0].pdch[4].enable(); the_bts.bts_data()->trx[0].pdch[5].enable(); @@ -824,8 +824,8 @@ void test_immediate_assign_ul0s() void test_immediate_assign_ul1s() { - BTS the_bts; - the_bts.bts_data()->alloc_algorithm = alloc_algorithm_a; + BTS the_bts(the_pcu); + the_pcu->alloc_algorithm = alloc_algorithm_a; the_bts.bts_data()->trx[0].pdch[1].enable(); the_bts.bts_data()->trx[0].pdch[2].enable(); @@ -925,6 +925,8 @@ int main(int argc, char **argv) log_set_category_filter(osmo_stderr_target, DTBF, 1, LOGL_INFO); log_set_category_filter(osmo_stderr_target, DTBFUL, 1, LOGL_INFO); + the_pcu = gprs_pcu_alloc(tall_pcu_ctx); + printf("Making some basic type testing.\n"); test_llc(); @@ -941,6 +943,8 @@ int main(int argc, char **argv) test_lsb(); test_egprs_ul_ack_nack(); + talloc_free(the_pcu); + return EXIT_SUCCESS; } |