[PATCH] Add test cases for EGPRS retransmission in DL

Aravind Sirsikar Arvind.Sirsikar at radisys.com
Wed Apr 13 09:06:32 UTC 2016


> On 07 Apr 2016, at 13:17, Holger Freyther <holger at 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


More information about the osmocom-net-gprs mailing list