Merged,
Maxim.
On 12/08/16 21:24, Mike Holmes wrote:
> On 12 September 2016 at 16:48, Bill Fischofer <[email protected]>
> 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 <[email protected]>
>>
>
> Reviewed-by: Mike Holmes <[email protected]>
>
>
>> ---
>> 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
>>
>>
>
>