On Wed, Dec 17, 2014 at 10:41:52PM +0000, Maxim Uvarov wrote:
> Signed-off-by: Maxim Uvarov <[email protected]>
> ---
>  test/validation/odp_pktio.c | 105 
> ++++++++++++++++++++++++++++++++++++++++----
>  1 file changed, 96 insertions(+), 9 deletions(-)
> 
> diff --git a/test/validation/odp_pktio.c b/test/validation/odp_pktio.c
> index 0ba9938..02c4a7b 100644
> --- a/test/validation/odp_pktio.c
> +++ b/test/validation/odp_pktio.c
> @@ -398,6 +398,90 @@ static void test_odp_pktio_sched_multi(void)
>       pktio_test_txrx(ODP_QUEUE_TYPE_SCHED, 4);
>  }
>  
> +static void pktio_test_mtu(void)
> +{
> +     int i;
> +     int ret;
> +     int def;
> +     odp_pktio_t pktio = create_pktio(iface_name[0]);
> +
> +     printf("testing mtu for %s\n", iface_name[0]);

This printf isn't needed, cunit tells you which test is being run, same
with the others below.

> +
> +     def = odp_pktio_mtu(pktio);
> +     CU_ASSERT(def > 0);
> +
> +     for (i = 9000; i > 100; i /= 2) {

I don't think support for jumbo frames should be mandatory.

> +             printf(" %d ", i);
> +
> +             ret = odp_pktio_set_mtu(pktio, i);
> +             CU_ASSERT(0 == ret);
> +
> +             ret = odp_pktio_mtu(pktio);
> +             CU_ASSERT(i == ret);
> +     }
> +

This is only really testing that the APIs can be called without blowing
up, to test it properly you need to send packets and check their size is
limited to the MTU. That can be added later though.

> +     ret = odp_pktio_set_mtu(pktio, def);
> +     CU_ASSERT(0 == ret);
> +
> +     ret = odp_pktio_close(pktio);
> +     CU_ASSERT(ret == 0);
> +
> +     return;
> +}
> +
> +static void pktio_test_promisc(void)
> +{
> +     int ret;
> +     odp_pktio_t pktio = create_pktio(iface_name[0]);
> +
> +     printf("testing promisc for %s\n", iface_name[0]);
> +
> +     ret = odp_pktio_promisc_mode_set(pktio, 1);
> +     CU_ASSERT(0 == ret);
> +
> +     /* Check */
> +     ret = odp_pktio_promisc_mode(pktio);
> +     CU_ASSERT(1 == ret);
> +
> +     ret = odp_pktio_promisc_mode_set(pktio, 0);
> +     CU_ASSERT(0 == ret);
> +
> +     /* Check */
> +     ret = odp_pktio_promisc_mode(pktio);
> +     CU_ASSERT(0 == ret);
> +

Not actually checking that enabling/disabling promiscuous mode actually
does anything. Again could be added later.

> +     ret = odp_pktio_close(pktio);
> +     CU_ASSERT(ret == 0);
> +
> +     return;
> +}
> +
> +static void pktio_test_mac(void)
> +{
> +     unsigned char mac_addr[ODPH_ETHADDR_LEN];
> +     size_t mac_len;
> +     int ret;
> +     odp_pktio_t pktio = create_pktio(iface_name[0]);
> +
> +     printf("testing mac for %s\n", iface_name[0]);
> +
> +     mac_len = odp_pktio_mac_addr(pktio, mac_addr, ODPH_ETHADDR_LEN);
> +     CU_ASSERT(ODPH_ETHADDR_LEN == mac_len);
> +
> +     printf(" %X:%X:%X:%X:%X:%X ",
> +            mac_addr[0], mac_addr[1], mac_addr[2],
> +            mac_addr[3], mac_addr[4], mac_addr[5]);
> +
> +     /* Fail case */
> +     mac_len = odp_pktio_mac_addr(pktio, mac_addr, 2);
> +     CU_ASSERT(0 == mac_len);
> +
> +     ret = odp_pktio_close(pktio);
> +     CU_ASSERT(ret == 0);
> +
> +     return;
> +}
> +
>  static void test_odp_pktio_open(void)
>  {
>       odp_pktio_t pktio[2];
> @@ -472,18 +556,21 @@ static int init_pktio_suite(void)
>  }
>  
>  CU_TestInfo pktio_tests[] = {
> -     {"pktio open",         test_odp_pktio_open},
> -     {"pktio close",        test_odp_pktio_close},
> -     {"pktio inq",          test_odp_pktio_inq},
> -     {"pktio outq",         test_odp_pktio_outq},
> -     {"pktio poll queues",  test_odp_pktio_poll_queue},
> -     {"pktio poll multi",   test_odp_pktio_poll_multi},
> -     {"pktio sched queues", test_odp_pktio_sched_queue},
> -     {"pktio sched multi",  test_odp_pktio_sched_multi},
> +     {"pktio open",          test_odp_pktio_open},
> +     {"pktio close",         test_odp_pktio_close},
> +     {"pktio inq",           test_odp_pktio_inq},
> +     {"pktio outq",          test_odp_pktio_outq},
> +     {"pktio poll queues",   test_odp_pktio_poll_queue},
> +     {"pktio poll multi",    test_odp_pktio_poll_multi},
> +     {"pktio sched queues",  test_odp_pktio_sched_queue},
> +     {"pktio sched multi",   test_odp_pktio_sched_multi},
> +     {"pktio mtu",           pktio_test_mtu},
> +     {"pktio promisc mode",  pktio_test_promisc},
> +     {"pktio mac",           pktio_test_mac},
>       CU_TEST_INFO_NULL
>  };
>  
>  CU_SuiteInfo odp_testsuites[] = {
> -     {"odp_pktio", init_pktio_suite, NULL, NULL, NULL, pktio_tests},
> +     {"Packet I/O", init_pktio_suite, NULL, NULL, NULL, pktio_tests},
>       CU_SUITE_INFO_NULL
>  };
> -- 
> 1.8.5.1.163.gd7aced9
> 

-- 
Stuart.


_______________________________________________
lng-odp mailing list
[email protected]
http://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to