diff options
Diffstat (limited to 'tests/types/TypesTest.cpp')
-rw-r--r-- | tests/types/TypesTest.cpp | 60 |
1 files changed, 4 insertions, 56 deletions
diff --git a/tests/types/TypesTest.cpp b/tests/types/TypesTest.cpp index c56b125..ede61df 100644 --- a/tests/types/TypesTest.cpp +++ b/tests/types/TypesTest.cpp @@ -89,9 +89,9 @@ static void test_rlc() { { struct gprs_rlc_data rlc = { 0, }; - memset(rlc.block, 0x23, RLC_MAX_LEN); + memset(rlc.complete_blk, 0x23, RLC_MAX_LEN); uint8_t *p = rlc.prepare(20); - OSMO_ASSERT(p == rlc.block); + OSMO_ASSERT(p == rlc.complete_blk); for (int i = 0; i < 20; ++i) OSMO_ASSERT(p[i] == 0x2B); for (int i = 20; i < RLC_MAX_LEN; ++i) @@ -327,12 +327,8 @@ 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; gprs_rlc_dl_window dl_win; - bitvec bits; - int bsn_begin, bsn_end, num_blocks; - Ack_Nack_Description_t desc; dl_win.m_v_b.reset(); @@ -352,61 +348,13 @@ static void test_rlc_dl_ul_basic() } uint8_t rbb_cmp[8] = { 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff }; - bits.data = bits_data; - bits.data_len = sizeof(bits_data); - bits.cur_bit = 0; - - memcpy(desc.RECEIVED_BLOCK_BITMAP, rbb_cmp, - sizeof(desc.RECEIVED_BLOCK_BITMAP)); - desc.FINAL_ACK_INDICATION = 0; - desc.STARTING_SEQUENCE_NUMBER = 35; - - num_blocks = Decoding::decode_gprs_acknack_bits( - &desc, &bits, - &bsn_begin, &bsn_end, &dl_win); - Decoding::extract_rbb(&bits, show_rbb); + Decoding::extract_rbb(rbb_cmp, show_rbb); printf("show_rbb: %s\n", show_rbb); - dl_win.update(&dummy_bts, &bits, 0, &lost, &recv); + dl_win.update(&dummy_bts, show_rbb, 35, &lost, &recv); OSMO_ASSERT(lost == 0); OSMO_ASSERT(recv == 35); - OSMO_ASSERT(bsn_begin == 0); - OSMO_ASSERT(bsn_end == 35); - OSMO_ASSERT(num_blocks == 35); - dl_win.raise(dl_win.move_window()); - - for (int i = 0; i < 8; ++i) { - dl_win.increment_send(); - OSMO_ASSERT(!dl_win.window_empty()); - OSMO_ASSERT(dl_win.distance() == 2 + i); - } - - uint8_t rbb_cmp2[8] = { 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0x31 }; - bits.data = bits_data; - bits.data_len = sizeof(bits_data); - bits.cur_bit = 0; - - memcpy(desc.RECEIVED_BLOCK_BITMAP, rbb_cmp2, - sizeof(desc.RECEIVED_BLOCK_BITMAP)); - desc.FINAL_ACK_INDICATION = 0; - desc.STARTING_SEQUENCE_NUMBER = 35 + 8; - - num_blocks = Decoding::decode_gprs_acknack_bits( - &desc, &bits, - &bsn_begin, &bsn_end, &dl_win); - Decoding::extract_rbb(&bits, show_rbb); - printf("show_rbb: %s\n", show_rbb); - - lost = recv = 0; - dl_win.update(&dummy_bts, &bits, 0, &lost, &recv); - OSMO_ASSERT(lost == 5); - OSMO_ASSERT(recv == 3); - OSMO_ASSERT(bitvec_get_bit_pos(&bits, 0) == 0); - OSMO_ASSERT(bitvec_get_bit_pos(&bits, 7) == 1); - OSMO_ASSERT(bsn_begin == 35); - OSMO_ASSERT(bsn_end == 43); - OSMO_ASSERT(num_blocks == 8); } } |