On 07 Apr 2016, at 13:17, Holger Freyther
<holger(a)freyther.de> wrote:
Hello Holger,
Add test cases to validate retransmission of EGPRS RLC
data block for
all the MCS in downlink direction without support of MCS change during
retransmission
> testcases are always good! I would prefer to have
stronger assertions or at least some comments in the commit message that says what we
should look for in the debug log. Stronger assertions are certainly preferred.
The patch will be resent with more assertion as you have suggested and the patch
description will also be updated to describe what is expected in the generated log file.
+static void establish_and_use_egprs_dl_tbf_for_retx(BTS *the_bts, int
+mcs) {
+ for (i = 0; i < sizeof(test_data); i++)
+ test_data[i] = i%512;
> okay, that is our test data. Can we easily see
that all of it has been transferred?
The aim of the test case is to verify retransmission logic in DL. The validation of data
itself is done only through generated log.
+ /* Send only a few RLC/MAC blocks */
> How many? How many are there, why a few?
The intention was to have at least 2 RLC DATA blocks. The purpose is to validate
retransmission logic functionally with minimum RLC data blocks, hence few.
+ fn = 0;
+ uint8_t block_nr = 0;
+ int index1 = 0;
+
+ while (index1 < 4) {
+ /* Request to send one block */
+ request_dl_rlc_block(dl_tbf, &fn, &block_nr);
+ index1++;
+ if (dl_tbf->m_window.m_v_b.is_unacked(0))
+ dl_tbf->m_window.m_v_b.mark_nacked(0);
+ if (mcs > 6)
+ if (dl_tbf->m_window.m_v_b.is_unacked(1))
+ dl_tbf->m_window.m_v_b.mark_nacked(1);
+
+ }
> E.g. here it might be a good case to really look
at the window and verify we have unacked frames?
Ok. I will add BSN validation for assertion.
+
+ /* Drain the queue */
+ while (dl_tbf->have_data())
+ /* Request to send one RLC/MAC block */
+ request_dl_rlc_block(dl_tbf, &fn);
> and specifically check which parts went back to
unacked?
Ok. I will add the validation of BSN state for assertion.
thank you
Aravind Sirsikar