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
>
>


-- 
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"

Reply via email to