diff mbox

validation: packet: remove todos from packet tests

Message ID 1473713285-16787-1-git-send-email-bill.fischofer@linaro.org
State Accepted
Commit ed2364544979bbb83f68bf61ea15e9fb86e2e994
Headers show

Commit Message

Bill Fischofer Sept. 12, 2016, 8:48 p.m. UTC
Resolve Bug https://bugs.linaro.org/show_bug.cgi?id=2405 by removing
todos in packet validation test. Add additional tests for todos that can
be resolved within current ODP API set and remove the rest to be deferred
for latest updates.

Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org>

---
 test/common_plat/validation/api/packet/packet.c | 56 ++++++++++++-------------
 1 file changed, 28 insertions(+), 28 deletions(-)

-- 
2.7.4

Comments

Maxim Uvarov Oct. 6, 2016, 1:09 p.m. UTC | #1
ping, please review.

Maxim.

On 09/12/16 23:48, Bill Fischofer wrote:
> Resolve Bug https://bugs.linaro.org/show_bug.cgi?id=2405 by removing

> todos in packet validation test. Add additional tests for todos that can

> be resolved within current ODP API set and remove the rest to be deferred

> for latest updates.

>

> Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org>

> ---

>   test/common_plat/validation/api/packet/packet.c | 56 ++++++++++++-------------

>   1 file changed, 28 insertions(+), 28 deletions(-)

>

> diff --git a/test/common_plat/validation/api/packet/packet.c b/test/common_plat/validation/api/packet/packet.c

> index a4426e2..c75cde9 100644

> --- a/test/common_plat/validation/api/packet/packet.c

> +++ b/test/common_plat/validation/api/packet/packet.c

> @@ -32,6 +32,28 @@ static struct udata_struct {

>   	"abcdefg",

>   };

>   

> +static void _packet_compare_data(odp_packet_t pkt1, odp_packet_t pkt2)

> +{

> +	uint32_t len = odp_packet_len(pkt1);

> +	uint32_t offset = 0;

> +	uint32_t seglen1, seglen2, cmplen;

> +

> +	CU_ASSERT_FATAL(len == odp_packet_len(pkt2));

> +

> +	while (len > 0) {

> +		void *pkt1map = odp_packet_offset(pkt1, offset, &seglen1, NULL);

> +		void *pkt2map = odp_packet_offset(pkt2, offset, &seglen2, NULL);

> +

> +		CU_ASSERT_PTR_NOT_NULL_FATAL(pkt1map);

> +		CU_ASSERT_PTR_NOT_NULL_FATAL(pkt2map);

> +		cmplen = seglen1 < seglen2 ? seglen1 : seglen2;

> +		CU_ASSERT(!memcmp(pkt1map, pkt2map, cmplen));

> +

> +		offset += cmplen;

> +		len    -= cmplen;

> +	}

> +}

> +

>   int packet_suite_init(void)

>   {

>   	odp_pool_param_t params;

> @@ -298,7 +320,8 @@ void packet_test_event_conversion(void)

>   

>   	tmp_pkt = odp_packet_from_event(ev);

>   	CU_ASSERT_FATAL(tmp_pkt != ODP_PACKET_INVALID);

> -	/** @todo: Need an API to compare packets */

> +	CU_ASSERT(tmp_pkt == pkt);

> +	_packet_compare_data(tmp_pkt, pkt);

>   }

>   

>   void packet_test_basic_metadata(void)

> @@ -502,7 +525,7 @@ void packet_test_headroom(void)

>   

>   	seg_data_len = odp_packet_seg_len(pkt);

>   	CU_ASSERT(seg_data_len >= 1);

> -	/** @todo: should be len - 1 */

> +

>   	pull_val = seg_data_len / 2;

>   	push_val = room;

>   

> @@ -625,7 +648,7 @@ void packet_test_tailroom(void)

>   

>   	seg_data_len = odp_packet_seg_data_len(pkt, segment);

>   	CU_ASSERT(seg_data_len >= 1);

> -	/** @todo: should be len - 1 */

> +

>   	pull_val = seg_data_len / 2;

>   	/* Leave one byte in a tailroom for odp_packet_tail() to succeed */

>   	push_val = (room > 0) ? room - 1 : room;

> @@ -681,10 +704,10 @@ void packet_test_segments(void)

>   		CU_ASSERT_PTR_NOT_NULL(seg_data);

>   		CU_ASSERT(odp_packet_seg_to_u64(seg) !=

>   			  odp_packet_seg_to_u64(ODP_PACKET_SEG_INVALID));

> +		CU_ASSERT(odp_memcmp(seg_data, seg_data, seg_data_len) == 0);

>   

>   		data_len += seg_data_len;

>   

> -		/** @todo: touch memory in a segment */

>   		seg_index++;

>   		seg = odp_packet_next_seg(pkt, seg);

>   	}

> @@ -713,10 +736,10 @@ void packet_test_segments(void)

>   		CU_ASSERT(seg_data != NULL);

>   		CU_ASSERT(odp_packet_seg_to_u64(seg) !=

>   			  odp_packet_seg_to_u64(ODP_PACKET_SEG_INVALID));

> +		CU_ASSERT(odp_memcmp(seg_data, seg_data, seg_data_len) == 0);

>   

>   		data_len += seg_data_len;

>   

> -		/** @todo: touch memory in a segment */

>   		seg_index++;

>   		seg = odp_packet_next_seg(seg_pkt, seg);

>   	}

> @@ -784,7 +807,6 @@ void packet_test_error_flags(void)

>   	/**

>   	 * The packet have not been classified so it doesn't have error flags

>   	 * properly set. Just check that functions return one of allowed values.

> -	 * @todo: try with known good and bad packets.

>   	 */

>   	err = odp_packet_has_error(pkt);

>   	CU_ASSERT(err == 0 || err == 1);

> @@ -922,28 +944,6 @@ static void _packet_compare_inflags(odp_packet_t pkt1, odp_packet_t pkt2)

>   	COMPARE_INFLAG(pkt1, pkt2, shaper_len_adjust);

>   }

>   

> -static void _packet_compare_data(odp_packet_t pkt1, odp_packet_t pkt2)

> -{

> -	uint32_t len = odp_packet_len(pkt1);

> -	uint32_t offset = 0;

> -	uint32_t seglen1, seglen2, cmplen;

> -

> -	CU_ASSERT_FATAL(len == odp_packet_len(pkt2));

> -

> -	while (len > 0) {

> -		void *pkt1map = odp_packet_offset(pkt1, offset, &seglen1, NULL);

> -		void *pkt2map = odp_packet_offset(pkt2, offset, &seglen2, NULL);

> -

> -		CU_ASSERT_PTR_NOT_NULL_FATAL(pkt1map);

> -		CU_ASSERT_PTR_NOT_NULL_FATAL(pkt2map);

> -		cmplen = seglen1 < seglen2 ? seglen1 : seglen2;

> -		CU_ASSERT(!memcmp(pkt1map, pkt2map, cmplen));

> -

> -		offset += cmplen;

> -		len    -= cmplen;

> -	}

> -}

> -

>   static void _packet_compare_udata(odp_packet_t pkt1, odp_packet_t pkt2)

>   {

>   	uint32_t usize1 = odp_packet_user_area_size(pkt1);
Bill Fischofer Oct. 20, 2016, 3:31 a.m. UTC | #2
Ping. This trivial patch still needs a review.

On Thu, Oct 6, 2016 at 8:09 AM, Maxim Uvarov <maxim.uvarov@linaro.org>
wrote:

> ping, please review.

>

> Maxim.

>

>

> On 09/12/16 23:48, Bill Fischofer wrote:

>

>> Resolve Bug https://bugs.linaro.org/show_bug.cgi?id=2405 by removing

>> todos in packet validation test. Add additional tests for todos that can

>> be resolved within current ODP API set and remove the rest to be deferred

>> for latest updates.

>>

>> Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org>

>> ---

>>   test/common_plat/validation/api/packet/packet.c | 56

>> ++++++++++++-------------

>>   1 file changed, 28 insertions(+), 28 deletions(-)

>>

>> diff --git a/test/common_plat/validation/api/packet/packet.c

>> b/test/common_plat/validation/api/packet/packet.c

>> index a4426e2..c75cde9 100644

>> --- a/test/common_plat/validation/api/packet/packet.c

>> +++ b/test/common_plat/validation/api/packet/packet.c

>> @@ -32,6 +32,28 @@ static struct udata_struct {

>>         "abcdefg",

>>   };

>>   +static void _packet_compare_data(odp_packet_t pkt1, odp_packet_t pkt2)

>> +{

>> +       uint32_t len = odp_packet_len(pkt1);

>> +       uint32_t offset = 0;

>> +       uint32_t seglen1, seglen2, cmplen;

>> +

>> +       CU_ASSERT_FATAL(len == odp_packet_len(pkt2));

>> +

>> +       while (len > 0) {

>> +               void *pkt1map = odp_packet_offset(pkt1, offset, &seglen1,

>> NULL);

>> +               void *pkt2map = odp_packet_offset(pkt2, offset, &seglen2,

>> NULL);

>> +

>> +               CU_ASSERT_PTR_NOT_NULL_FATAL(pkt1map);

>> +               CU_ASSERT_PTR_NOT_NULL_FATAL(pkt2map);

>> +               cmplen = seglen1 < seglen2 ? seglen1 : seglen2;

>> +               CU_ASSERT(!memcmp(pkt1map, pkt2map, cmplen));

>> +

>> +               offset += cmplen;

>> +               len    -= cmplen;

>> +       }

>> +}

>> +

>>   int packet_suite_init(void)

>>   {

>>         odp_pool_param_t params;

>> @@ -298,7 +320,8 @@ void packet_test_event_conversion(void)

>>         tmp_pkt = odp_packet_from_event(ev);

>>         CU_ASSERT_FATAL(tmp_pkt != ODP_PACKET_INVALID);

>> -       /** @todo: Need an API to compare packets */

>> +       CU_ASSERT(tmp_pkt == pkt);

>> +       _packet_compare_data(tmp_pkt, pkt);

>>   }

>>     void packet_test_basic_metadata(void)

>> @@ -502,7 +525,7 @@ void packet_test_headroom(void)

>>         seg_data_len = odp_packet_seg_len(pkt);

>>         CU_ASSERT(seg_data_len >= 1);

>> -       /** @todo: should be len - 1 */

>> +

>>         pull_val = seg_data_len / 2;

>>         push_val = room;

>>   @@ -625,7 +648,7 @@ void packet_test_tailroom(void)

>>         seg_data_len = odp_packet_seg_data_len(pkt, segment);

>>         CU_ASSERT(seg_data_len >= 1);

>> -       /** @todo: should be len - 1 */

>> +

>>         pull_val = seg_data_len / 2;

>>         /* Leave one byte in a tailroom for odp_packet_tail() to succeed

>> */

>>         push_val = (room > 0) ? room - 1 : room;

>> @@ -681,10 +704,10 @@ void packet_test_segments(void)

>>                 CU_ASSERT_PTR_NOT_NULL(seg_data);

>>                 CU_ASSERT(odp_packet_seg_to_u64(seg) !=

>>                           odp_packet_seg_to_u64(ODP_PACKET_SEG_INVALID));

>> +               CU_ASSERT(odp_memcmp(seg_data, seg_data, seg_data_len)

>> == 0);

>>                 data_len += seg_data_len;

>>   -             /** @todo: touch memory in a segment */

>>                 seg_index++;

>>                 seg = odp_packet_next_seg(pkt, seg);

>>         }

>> @@ -713,10 +736,10 @@ void packet_test_segments(void)

>>                 CU_ASSERT(seg_data != NULL);

>>                 CU_ASSERT(odp_packet_seg_to_u64(seg) !=

>>                           odp_packet_seg_to_u64(ODP_PACKET_SEG_INVALID));

>> +               CU_ASSERT(odp_memcmp(seg_data, seg_data, seg_data_len)

>> == 0);

>>                 data_len += seg_data_len;

>>   -             /** @todo: touch memory in a segment */

>>                 seg_index++;

>>                 seg = odp_packet_next_seg(seg_pkt, seg);

>>         }

>> @@ -784,7 +807,6 @@ void packet_test_error_flags(void)

>>         /**

>>          * The packet have not been classified so it doesn't have error

>> flags

>>          * properly set. Just check that functions return one of allowed

>> values.

>> -        * @todo: try with known good and bad packets.

>>          */

>>         err = odp_packet_has_error(pkt);

>>         CU_ASSERT(err == 0 || err == 1);

>> @@ -922,28 +944,6 @@ static void _packet_compare_inflags(odp_packet_t

>> pkt1, odp_packet_t pkt2)

>>         COMPARE_INFLAG(pkt1, pkt2, shaper_len_adjust);

>>   }

>>   -static void _packet_compare_data(odp_packet_t pkt1, odp_packet_t pkt2)

>> -{

>> -       uint32_t len = odp_packet_len(pkt1);

>> -       uint32_t offset = 0;

>> -       uint32_t seglen1, seglen2, cmplen;

>> -

>> -       CU_ASSERT_FATAL(len == odp_packet_len(pkt2));

>> -

>> -       while (len > 0) {

>> -               void *pkt1map = odp_packet_offset(pkt1, offset, &seglen1,

>> NULL);

>> -               void *pkt2map = odp_packet_offset(pkt2, offset, &seglen2,

>> NULL);

>> -

>> -               CU_ASSERT_PTR_NOT_NULL_FATAL(pkt1map);

>> -               CU_ASSERT_PTR_NOT_NULL_FATAL(pkt2map);

>> -               cmplen = seglen1 < seglen2 ? seglen1 : seglen2;

>> -               CU_ASSERT(!memcmp(pkt1map, pkt2map, cmplen));

>> -

>> -               offset += cmplen;

>> -               len    -= cmplen;

>> -       }

>> -}

>> -

>>   static void _packet_compare_udata(odp_packet_t pkt1, odp_packet_t pkt2)

>>   {

>>         uint32_t usize1 = odp_packet_user_area_size(pkt1);

>>

>

>
Bill Fischofer Dec. 7, 2016, 9:16 p.m. UTC | #3
Ping. This trivial patch is still awaiting review. Can someone please
volunteer to do this so Bug 2405 can be resolved?  Thanks.

On Wed, Oct 19, 2016 at 10:31 PM, Bill Fischofer
<bill.fischofer@linaro.org> wrote:
> Ping. This trivial patch still needs a review.

>

> On Thu, Oct 6, 2016 at 8:09 AM, Maxim Uvarov <maxim.uvarov@linaro.org>

> wrote:

>>

>> ping, please review.

>>

>> Maxim.

>>

>>

>> On 09/12/16 23:48, Bill Fischofer wrote:

>>>

>>> Resolve Bug https://bugs.linaro.org/show_bug.cgi?id=2405 by removing

>>> todos in packet validation test. Add additional tests for todos that can

>>> be resolved within current ODP API set and remove the rest to be deferred

>>> for latest updates.

>>>

>>> Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org>

>>> ---

>>>   test/common_plat/validation/api/packet/packet.c | 56

>>> ++++++++++++-------------

>>>   1 file changed, 28 insertions(+), 28 deletions(-)

>>>

>>> diff --git a/test/common_plat/validation/api/packet/packet.c

>>> b/test/common_plat/validation/api/packet/packet.c

>>> index a4426e2..c75cde9 100644

>>> --- a/test/common_plat/validation/api/packet/packet.c

>>> +++ b/test/common_plat/validation/api/packet/packet.c

>>> @@ -32,6 +32,28 @@ static struct udata_struct {

>>>         "abcdefg",

>>>   };

>>>   +static void _packet_compare_data(odp_packet_t pkt1, odp_packet_t pkt2)

>>> +{

>>> +       uint32_t len = odp_packet_len(pkt1);

>>> +       uint32_t offset = 0;

>>> +       uint32_t seglen1, seglen2, cmplen;

>>> +

>>> +       CU_ASSERT_FATAL(len == odp_packet_len(pkt2));

>>> +

>>> +       while (len > 0) {

>>> +               void *pkt1map = odp_packet_offset(pkt1, offset, &seglen1,

>>> NULL);

>>> +               void *pkt2map = odp_packet_offset(pkt2, offset, &seglen2,

>>> NULL);

>>> +

>>> +               CU_ASSERT_PTR_NOT_NULL_FATAL(pkt1map);

>>> +               CU_ASSERT_PTR_NOT_NULL_FATAL(pkt2map);

>>> +               cmplen = seglen1 < seglen2 ? seglen1 : seglen2;

>>> +               CU_ASSERT(!memcmp(pkt1map, pkt2map, cmplen));

>>> +

>>> +               offset += cmplen;

>>> +               len    -= cmplen;

>>> +       }

>>> +}

>>> +

>>>   int packet_suite_init(void)

>>>   {

>>>         odp_pool_param_t params;

>>> @@ -298,7 +320,8 @@ void packet_test_event_conversion(void)

>>>         tmp_pkt = odp_packet_from_event(ev);

>>>         CU_ASSERT_FATAL(tmp_pkt != ODP_PACKET_INVALID);

>>> -       /** @todo: Need an API to compare packets */

>>> +       CU_ASSERT(tmp_pkt == pkt);

>>> +       _packet_compare_data(tmp_pkt, pkt);

>>>   }

>>>     void packet_test_basic_metadata(void)

>>> @@ -502,7 +525,7 @@ void packet_test_headroom(void)

>>>         seg_data_len = odp_packet_seg_len(pkt);

>>>         CU_ASSERT(seg_data_len >= 1);

>>> -       /** @todo: should be len - 1 */

>>> +

>>>         pull_val = seg_data_len / 2;

>>>         push_val = room;

>>>   @@ -625,7 +648,7 @@ void packet_test_tailroom(void)

>>>         seg_data_len = odp_packet_seg_data_len(pkt, segment);

>>>         CU_ASSERT(seg_data_len >= 1);

>>> -       /** @todo: should be len - 1 */

>>> +

>>>         pull_val = seg_data_len / 2;

>>>         /* Leave one byte in a tailroom for odp_packet_tail() to succeed

>>> */

>>>         push_val = (room > 0) ? room - 1 : room;

>>> @@ -681,10 +704,10 @@ void packet_test_segments(void)

>>>                 CU_ASSERT_PTR_NOT_NULL(seg_data);

>>>                 CU_ASSERT(odp_packet_seg_to_u64(seg) !=

>>>                           odp_packet_seg_to_u64(ODP_PACKET_SEG_INVALID));

>>> +               CU_ASSERT(odp_memcmp(seg_data, seg_data, seg_data_len) ==

>>> 0);

>>>                 data_len += seg_data_len;

>>>   -             /** @todo: touch memory in a segment */

>>>                 seg_index++;

>>>                 seg = odp_packet_next_seg(pkt, seg);

>>>         }

>>> @@ -713,10 +736,10 @@ void packet_test_segments(void)

>>>                 CU_ASSERT(seg_data != NULL);

>>>                 CU_ASSERT(odp_packet_seg_to_u64(seg) !=

>>>                           odp_packet_seg_to_u64(ODP_PACKET_SEG_INVALID));

>>> +               CU_ASSERT(odp_memcmp(seg_data, seg_data, seg_data_len) ==

>>> 0);

>>>                 data_len += seg_data_len;

>>>   -             /** @todo: touch memory in a segment */

>>>                 seg_index++;

>>>                 seg = odp_packet_next_seg(seg_pkt, seg);

>>>         }

>>> @@ -784,7 +807,6 @@ void packet_test_error_flags(void)

>>>         /**

>>>          * The packet have not been classified so it doesn't have error

>>> flags

>>>          * properly set. Just check that functions return one of allowed

>>> values.

>>> -        * @todo: try with known good and bad packets.

>>>          */

>>>         err = odp_packet_has_error(pkt);

>>>         CU_ASSERT(err == 0 || err == 1);

>>> @@ -922,28 +944,6 @@ static void _packet_compare_inflags(odp_packet_t

>>> pkt1, odp_packet_t pkt2)

>>>         COMPARE_INFLAG(pkt1, pkt2, shaper_len_adjust);

>>>   }

>>>   -static void _packet_compare_data(odp_packet_t pkt1, odp_packet_t pkt2)

>>> -{

>>> -       uint32_t len = odp_packet_len(pkt1);

>>> -       uint32_t offset = 0;

>>> -       uint32_t seglen1, seglen2, cmplen;

>>> -

>>> -       CU_ASSERT_FATAL(len == odp_packet_len(pkt2));

>>> -

>>> -       while (len > 0) {

>>> -               void *pkt1map = odp_packet_offset(pkt1, offset, &seglen1,

>>> NULL);

>>> -               void *pkt2map = odp_packet_offset(pkt2, offset, &seglen2,

>>> NULL);

>>> -

>>> -               CU_ASSERT_PTR_NOT_NULL_FATAL(pkt1map);

>>> -               CU_ASSERT_PTR_NOT_NULL_FATAL(pkt2map);

>>> -               cmplen = seglen1 < seglen2 ? seglen1 : seglen2;

>>> -               CU_ASSERT(!memcmp(pkt1map, pkt2map, cmplen));

>>> -

>>> -               offset += cmplen;

>>> -               len    -= cmplen;

>>> -       }

>>> -}

>>> -

>>>   static void _packet_compare_udata(odp_packet_t pkt1, odp_packet_t pkt2)

>>>   {

>>>         uint32_t usize1 = odp_packet_user_area_size(pkt1);

>>

>>

>
Mike Holmes Dec. 8, 2016, 6:24 p.m. UTC | #4
On 12 September 2016 at 16:48, Bill Fischofer <bill.fischofer@linaro.org>
wrote:

> Resolve Bug https://bugs.linaro.org/show_bug.cgi?id=2405 by removing

> todos in packet validation test. Add additional tests for todos that can

> be resolved within current ODP API set and remove the rest to be deferred

> for latest updates.

>

> Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org>

>


Reviewed-by: Mike Holmes <mike.holmes@linaro.org>



> ---

>  test/common_plat/validation/api/packet/packet.c | 56

> ++++++++++++-------------

>  1 file changed, 28 insertions(+), 28 deletions(-)

>

> diff --git a/test/common_plat/validation/api/packet/packet.c

> b/test/common_plat/validation/api/packet/packet.c

> index a4426e2..c75cde9 100644

> --- a/test/common_plat/validation/api/packet/packet.c

> +++ b/test/common_plat/validation/api/packet/packet.c

> @@ -32,6 +32,28 @@ static struct udata_struct {

>         "abcdefg",

>  };

>

> +static void _packet_compare_data(odp_packet_t pkt1, odp_packet_t pkt2)

> +{

> +       uint32_t len = odp_packet_len(pkt1);

> +       uint32_t offset = 0;

> +       uint32_t seglen1, seglen2, cmplen;

> +

> +       CU_ASSERT_FATAL(len == odp_packet_len(pkt2));

> +

> +       while (len > 0) {

> +               void *pkt1map = odp_packet_offset(pkt1, offset, &seglen1,

> NULL);

> +               void *pkt2map = odp_packet_offset(pkt2, offset, &seglen2,

> NULL);

> +

> +               CU_ASSERT_PTR_NOT_NULL_FATAL(pkt1map);

> +               CU_ASSERT_PTR_NOT_NULL_FATAL(pkt2map);

> +               cmplen = seglen1 < seglen2 ? seglen1 : seglen2;

> +               CU_ASSERT(!memcmp(pkt1map, pkt2map, cmplen));

> +

> +               offset += cmplen;

> +               len    -= cmplen;

> +       }

> +}

> +

>  int packet_suite_init(void)

>  {

>         odp_pool_param_t params;

> @@ -298,7 +320,8 @@ void packet_test_event_conversion(void)

>

>         tmp_pkt = odp_packet_from_event(ev);

>         CU_ASSERT_FATAL(tmp_pkt != ODP_PACKET_INVALID);

> -       /** @todo: Need an API to compare packets */

> +       CU_ASSERT(tmp_pkt == pkt);

> +       _packet_compare_data(tmp_pkt, pkt);

>  }

>

>  void packet_test_basic_metadata(void)

> @@ -502,7 +525,7 @@ void packet_test_headroom(void)

>

>         seg_data_len = odp_packet_seg_len(pkt);

>         CU_ASSERT(seg_data_len >= 1);

> -       /** @todo: should be len - 1 */

> +

>         pull_val = seg_data_len / 2;

>         push_val = room;

>

> @@ -625,7 +648,7 @@ void packet_test_tailroom(void)

>

>         seg_data_len = odp_packet_seg_data_len(pkt, segment);

>         CU_ASSERT(seg_data_len >= 1);

> -       /** @todo: should be len - 1 */

> +

>         pull_val = seg_data_len / 2;

>         /* Leave one byte in a tailroom for odp_packet_tail() to succeed */

>         push_val = (room > 0) ? room - 1 : room;

> @@ -681,10 +704,10 @@ void packet_test_segments(void)

>                 CU_ASSERT_PTR_NOT_NULL(seg_data);

>                 CU_ASSERT(odp_packet_seg_to_u64(seg) !=

>                           odp_packet_seg_to_u64(ODP_PACKET_SEG_INVALID));

> +               CU_ASSERT(odp_memcmp(seg_data, seg_data, seg_data_len) ==

> 0);

>

>                 data_len += seg_data_len;

>

> -               /** @todo: touch memory in a segment */

>                 seg_index++;

>                 seg = odp_packet_next_seg(pkt, seg);

>         }

> @@ -713,10 +736,10 @@ void packet_test_segments(void)

>                 CU_ASSERT(seg_data != NULL);

>                 CU_ASSERT(odp_packet_seg_to_u64(seg) !=

>                           odp_packet_seg_to_u64(ODP_PACKET_SEG_INVALID));

> +               CU_ASSERT(odp_memcmp(seg_data, seg_data, seg_data_len) ==

> 0);

>

>                 data_len += seg_data_len;

>

> -               /** @todo: touch memory in a segment */

>                 seg_index++;

>                 seg = odp_packet_next_seg(seg_pkt, seg);

>         }

> @@ -784,7 +807,6 @@ void packet_test_error_flags(void)

>         /**

>          * The packet have not been classified so it doesn't have error

> flags

>          * properly set. Just check that functions return one of allowed

> values.

> -        * @todo: try with known good and bad packets.

>          */

>         err = odp_packet_has_error(pkt);

>         CU_ASSERT(err == 0 || err == 1);

> @@ -922,28 +944,6 @@ static void _packet_compare_inflags(odp_packet_t

> pkt1, odp_packet_t pkt2)

>         COMPARE_INFLAG(pkt1, pkt2, shaper_len_adjust);

>  }

>

> -static void _packet_compare_data(odp_packet_t pkt1, odp_packet_t pkt2)

> -{

> -       uint32_t len = odp_packet_len(pkt1);

> -       uint32_t offset = 0;

> -       uint32_t seglen1, seglen2, cmplen;

> -

> -       CU_ASSERT_FATAL(len == odp_packet_len(pkt2));

> -

> -       while (len > 0) {

> -               void *pkt1map = odp_packet_offset(pkt1, offset, &seglen1,

> NULL);

> -               void *pkt2map = odp_packet_offset(pkt2, offset, &seglen2,

> NULL);

> -

> -               CU_ASSERT_PTR_NOT_NULL_FATAL(pkt1map);

> -               CU_ASSERT_PTR_NOT_NULL_FATAL(pkt2map);

> -               cmplen = seglen1 < seglen2 ? seglen1 : seglen2;

> -               CU_ASSERT(!memcmp(pkt1map, pkt2map, cmplen));

> -

> -               offset += cmplen;

> -               len    -= cmplen;

> -       }

> -}

> -

>  static void _packet_compare_udata(odp_packet_t pkt1, odp_packet_t pkt2)

>  {

>         uint32_t usize1 = odp_packet_user_area_size(pkt1);

> --

> 2.7.4

>

>



-- 
Mike Holmes
Program Manager - Linaro Networking Group
Linaro.org <http://www.linaro.org/> *│ *Open source software for ARM SoCs
"Work should be fun and collaborative, the rest follows"
Maxim Uvarov Dec. 9, 2016, 12:08 p.m. UTC | #5
Merged,
Maxim.

On 12/08/16 21:24, Mike Holmes wrote:
> On 12 September 2016 at 16:48, Bill Fischofer <bill.fischofer@linaro.org>

> wrote:

> 

>> Resolve Bug https://bugs.linaro.org/show_bug.cgi?id=2405 by removing

>> todos in packet validation test. Add additional tests for todos that can

>> be resolved within current ODP API set and remove the rest to be deferred

>> for latest updates.

>>

>> Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org>

>>

> 

> Reviewed-by: Mike Holmes <mike.holmes@linaro.org>

> 

> 

>> ---

>>  test/common_plat/validation/api/packet/packet.c | 56

>> ++++++++++++-------------

>>  1 file changed, 28 insertions(+), 28 deletions(-)

>>

>> diff --git a/test/common_plat/validation/api/packet/packet.c

>> b/test/common_plat/validation/api/packet/packet.c

>> index a4426e2..c75cde9 100644

>> --- a/test/common_plat/validation/api/packet/packet.c

>> +++ b/test/common_plat/validation/api/packet/packet.c

>> @@ -32,6 +32,28 @@ static struct udata_struct {

>>         "abcdefg",

>>  };

>>

>> +static void _packet_compare_data(odp_packet_t pkt1, odp_packet_t pkt2)

>> +{

>> +       uint32_t len = odp_packet_len(pkt1);

>> +       uint32_t offset = 0;

>> +       uint32_t seglen1, seglen2, cmplen;

>> +

>> +       CU_ASSERT_FATAL(len == odp_packet_len(pkt2));

>> +

>> +       while (len > 0) {

>> +               void *pkt1map = odp_packet_offset(pkt1, offset, &seglen1,

>> NULL);

>> +               void *pkt2map = odp_packet_offset(pkt2, offset, &seglen2,

>> NULL);

>> +

>> +               CU_ASSERT_PTR_NOT_NULL_FATAL(pkt1map);

>> +               CU_ASSERT_PTR_NOT_NULL_FATAL(pkt2map);

>> +               cmplen = seglen1 < seglen2 ? seglen1 : seglen2;

>> +               CU_ASSERT(!memcmp(pkt1map, pkt2map, cmplen));

>> +

>> +               offset += cmplen;

>> +               len    -= cmplen;

>> +       }

>> +}

>> +

>>  int packet_suite_init(void)

>>  {

>>         odp_pool_param_t params;

>> @@ -298,7 +320,8 @@ void packet_test_event_conversion(void)

>>

>>         tmp_pkt = odp_packet_from_event(ev);

>>         CU_ASSERT_FATAL(tmp_pkt != ODP_PACKET_INVALID);

>> -       /** @todo: Need an API to compare packets */

>> +       CU_ASSERT(tmp_pkt == pkt);

>> +       _packet_compare_data(tmp_pkt, pkt);

>>  }

>>

>>  void packet_test_basic_metadata(void)

>> @@ -502,7 +525,7 @@ void packet_test_headroom(void)

>>

>>         seg_data_len = odp_packet_seg_len(pkt);

>>         CU_ASSERT(seg_data_len >= 1);

>> -       /** @todo: should be len - 1 */

>> +

>>         pull_val = seg_data_len / 2;

>>         push_val = room;

>>

>> @@ -625,7 +648,7 @@ void packet_test_tailroom(void)

>>

>>         seg_data_len = odp_packet_seg_data_len(pkt, segment);

>>         CU_ASSERT(seg_data_len >= 1);

>> -       /** @todo: should be len - 1 */

>> +

>>         pull_val = seg_data_len / 2;

>>         /* Leave one byte in a tailroom for odp_packet_tail() to succeed */

>>         push_val = (room > 0) ? room - 1 : room;

>> @@ -681,10 +704,10 @@ void packet_test_segments(void)

>>                 CU_ASSERT_PTR_NOT_NULL(seg_data);

>>                 CU_ASSERT(odp_packet_seg_to_u64(seg) !=

>>                           odp_packet_seg_to_u64(ODP_PACKET_SEG_INVALID));

>> +               CU_ASSERT(odp_memcmp(seg_data, seg_data, seg_data_len) ==

>> 0);

>>

>>                 data_len += seg_data_len;

>>

>> -               /** @todo: touch memory in a segment */

>>                 seg_index++;

>>                 seg = odp_packet_next_seg(pkt, seg);

>>         }

>> @@ -713,10 +736,10 @@ void packet_test_segments(void)

>>                 CU_ASSERT(seg_data != NULL);

>>                 CU_ASSERT(odp_packet_seg_to_u64(seg) !=

>>                           odp_packet_seg_to_u64(ODP_PACKET_SEG_INVALID));

>> +               CU_ASSERT(odp_memcmp(seg_data, seg_data, seg_data_len) ==

>> 0);

>>

>>                 data_len += seg_data_len;

>>

>> -               /** @todo: touch memory in a segment */

>>                 seg_index++;

>>                 seg = odp_packet_next_seg(seg_pkt, seg);

>>         }

>> @@ -784,7 +807,6 @@ void packet_test_error_flags(void)

>>         /**

>>          * The packet have not been classified so it doesn't have error

>> flags

>>          * properly set. Just check that functions return one of allowed

>> values.

>> -        * @todo: try with known good and bad packets.

>>          */

>>         err = odp_packet_has_error(pkt);

>>         CU_ASSERT(err == 0 || err == 1);

>> @@ -922,28 +944,6 @@ static void _packet_compare_inflags(odp_packet_t

>> pkt1, odp_packet_t pkt2)

>>         COMPARE_INFLAG(pkt1, pkt2, shaper_len_adjust);

>>  }

>>

>> -static void _packet_compare_data(odp_packet_t pkt1, odp_packet_t pkt2)

>> -{

>> -       uint32_t len = odp_packet_len(pkt1);

>> -       uint32_t offset = 0;

>> -       uint32_t seglen1, seglen2, cmplen;

>> -

>> -       CU_ASSERT_FATAL(len == odp_packet_len(pkt2));

>> -

>> -       while (len > 0) {

>> -               void *pkt1map = odp_packet_offset(pkt1, offset, &seglen1,

>> NULL);

>> -               void *pkt2map = odp_packet_offset(pkt2, offset, &seglen2,

>> NULL);

>> -

>> -               CU_ASSERT_PTR_NOT_NULL_FATAL(pkt1map);

>> -               CU_ASSERT_PTR_NOT_NULL_FATAL(pkt2map);

>> -               cmplen = seglen1 < seglen2 ? seglen1 : seglen2;

>> -               CU_ASSERT(!memcmp(pkt1map, pkt2map, cmplen));

>> -

>> -               offset += cmplen;

>> -               len    -= cmplen;

>> -       }

>> -}

>> -

>>  static void _packet_compare_udata(odp_packet_t pkt1, odp_packet_t pkt2)

>>  {

>>         uint32_t usize1 = odp_packet_user_area_size(pkt1);

>> --

>> 2.7.4

>>

>>

> 

>
diff mbox

Patch

diff --git a/test/common_plat/validation/api/packet/packet.c b/test/common_plat/validation/api/packet/packet.c
index a4426e2..c75cde9 100644
--- a/test/common_plat/validation/api/packet/packet.c
+++ b/test/common_plat/validation/api/packet/packet.c
@@ -32,6 +32,28 @@  static struct udata_struct {
 	"abcdefg",
 };
 
+static void _packet_compare_data(odp_packet_t pkt1, odp_packet_t pkt2)
+{
+	uint32_t len = odp_packet_len(pkt1);
+	uint32_t offset = 0;
+	uint32_t seglen1, seglen2, cmplen;
+
+	CU_ASSERT_FATAL(len == odp_packet_len(pkt2));
+
+	while (len > 0) {
+		void *pkt1map = odp_packet_offset(pkt1, offset, &seglen1, NULL);
+		void *pkt2map = odp_packet_offset(pkt2, offset, &seglen2, NULL);
+
+		CU_ASSERT_PTR_NOT_NULL_FATAL(pkt1map);
+		CU_ASSERT_PTR_NOT_NULL_FATAL(pkt2map);
+		cmplen = seglen1 < seglen2 ? seglen1 : seglen2;
+		CU_ASSERT(!memcmp(pkt1map, pkt2map, cmplen));
+
+		offset += cmplen;
+		len    -= cmplen;
+	}
+}
+
 int packet_suite_init(void)
 {
 	odp_pool_param_t params;
@@ -298,7 +320,8 @@  void packet_test_event_conversion(void)
 
 	tmp_pkt = odp_packet_from_event(ev);
 	CU_ASSERT_FATAL(tmp_pkt != ODP_PACKET_INVALID);
-	/** @todo: Need an API to compare packets */
+	CU_ASSERT(tmp_pkt == pkt);
+	_packet_compare_data(tmp_pkt, pkt);
 }
 
 void packet_test_basic_metadata(void)
@@ -502,7 +525,7 @@  void packet_test_headroom(void)
 
 	seg_data_len = odp_packet_seg_len(pkt);
 	CU_ASSERT(seg_data_len >= 1);
-	/** @todo: should be len - 1 */
+
 	pull_val = seg_data_len / 2;
 	push_val = room;
 
@@ -625,7 +648,7 @@  void packet_test_tailroom(void)
 
 	seg_data_len = odp_packet_seg_data_len(pkt, segment);
 	CU_ASSERT(seg_data_len >= 1);
-	/** @todo: should be len - 1 */
+
 	pull_val = seg_data_len / 2;
 	/* Leave one byte in a tailroom for odp_packet_tail() to succeed */
 	push_val = (room > 0) ? room - 1 : room;
@@ -681,10 +704,10 @@  void packet_test_segments(void)
 		CU_ASSERT_PTR_NOT_NULL(seg_data);
 		CU_ASSERT(odp_packet_seg_to_u64(seg) !=
 			  odp_packet_seg_to_u64(ODP_PACKET_SEG_INVALID));
+		CU_ASSERT(odp_memcmp(seg_data, seg_data, seg_data_len) == 0);
 
 		data_len += seg_data_len;
 
-		/** @todo: touch memory in a segment */
 		seg_index++;
 		seg = odp_packet_next_seg(pkt, seg);
 	}
@@ -713,10 +736,10 @@  void packet_test_segments(void)
 		CU_ASSERT(seg_data != NULL);
 		CU_ASSERT(odp_packet_seg_to_u64(seg) !=
 			  odp_packet_seg_to_u64(ODP_PACKET_SEG_INVALID));
+		CU_ASSERT(odp_memcmp(seg_data, seg_data, seg_data_len) == 0);
 
 		data_len += seg_data_len;
 
-		/** @todo: touch memory in a segment */
 		seg_index++;
 		seg = odp_packet_next_seg(seg_pkt, seg);
 	}
@@ -784,7 +807,6 @@  void packet_test_error_flags(void)
 	/**
 	 * The packet have not been classified so it doesn't have error flags
 	 * properly set. Just check that functions return one of allowed values.
-	 * @todo: try with known good and bad packets.
 	 */
 	err = odp_packet_has_error(pkt);
 	CU_ASSERT(err == 0 || err == 1);
@@ -922,28 +944,6 @@  static void _packet_compare_inflags(odp_packet_t pkt1, odp_packet_t pkt2)
 	COMPARE_INFLAG(pkt1, pkt2, shaper_len_adjust);
 }
 
-static void _packet_compare_data(odp_packet_t pkt1, odp_packet_t pkt2)
-{
-	uint32_t len = odp_packet_len(pkt1);
-	uint32_t offset = 0;
-	uint32_t seglen1, seglen2, cmplen;
-
-	CU_ASSERT_FATAL(len == odp_packet_len(pkt2));
-
-	while (len > 0) {
-		void *pkt1map = odp_packet_offset(pkt1, offset, &seglen1, NULL);
-		void *pkt2map = odp_packet_offset(pkt2, offset, &seglen2, NULL);
-
-		CU_ASSERT_PTR_NOT_NULL_FATAL(pkt1map);
-		CU_ASSERT_PTR_NOT_NULL_FATAL(pkt2map);
-		cmplen = seglen1 < seglen2 ? seglen1 : seglen2;
-		CU_ASSERT(!memcmp(pkt1map, pkt2map, cmplen));
-
-		offset += cmplen;
-		len    -= cmplen;
-	}
-}
-
 static void _packet_compare_udata(odp_packet_t pkt1, odp_packet_t pkt2)
 {
 	uint32_t usize1 = odp_packet_user_area_size(pkt1);