On 05 Apr 2016, at 09:37, Aravind Sirsikar
<Arvind.Sirsikar(a)radisys.com> wrote:
Hi!
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.
+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?
+ /* Send only a few RLC/MAC blocks */
How many? How many are there, why a 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?
+
+ /* 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?
thank you
holger