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 <[email protected]> wrote: > Ping. This trivial patch still needs a review. > > On Thu, Oct 6, 2016 at 8:09 AM, Maxim Uvarov <[email protected]> > 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 <[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); >> >> >
