On 14 October 2016 at 07:51, Maxim Uvarov <[email protected]> wrote:
> Make check should skip the test instead of failing it.
> Test splits RX and TX cores for packet processing. Core
> 0 bind to control thread. So running machine should have
> at least 2 worker threads which is not enough on 1 and 2
> cpus machine. CUnit uses special value 77 to mark test as
> SKIPPED and not fail on it.
>
> Signed-off-by: Maxim Uvarov <[email protected]>

Reviewed-by: Mike Holmes <[email protected]>

> ---
>
>  v3: update if logic (found just after apply.)
>  v2: update description (Mike)
>  test/common_plat/performance/odp_pktio_perf.c | 16 +++++++++++-----
>  1 file changed, 11 insertions(+), 5 deletions(-)
>
> diff --git a/test/common_plat/performance/odp_pktio_perf.c 
> b/test/common_plat/performance/odp_pktio_perf.c
> index f041b13..483f067 100644
> --- a/test/common_plat/performance/odp_pktio_perf.c
> +++ b/test/common_plat/performance/odp_pktio_perf.c
> @@ -34,6 +34,8 @@
>  #include <inttypes.h>
>  #include <test_debug.h>
>
> +#define TEST_SKIP 77
> +
>  #define PKT_BUF_NUM       8192
>  #define MAX_NUM_IFACES    2
>  #define TEST_HDR_MAGIC    0x92749451
> @@ -558,7 +560,7 @@ static int setup_txrx_masks(odp_cpumask_t *thd_mask_tx,
>                                            gbl_args->args.cpu_count);
>         if (num_workers < 2) {
>                 LOG_ERR("Need at least two cores\n");
> -               return -1;
> +               return TEST_SKIP;
>         }
>
>         if (gbl_args->args.num_tx_workers) {
> @@ -659,7 +661,7 @@ static int run_test_single(odp_cpumask_t *thd_mask_tx,
>
>  static int run_test(void)
>  {
> -       int ret = 1;
> +       int ret;
>         int i;
>         odp_cpumask_t txmask, rxmask;
>         test_status_t status = {
> @@ -669,8 +671,9 @@ static int run_test(void)
>                 .warmup = 1,
>         };
>
> -       if (setup_txrx_masks(&txmask, &rxmask) != 0)
> -               return -1;
> +       ret = setup_txrx_masks(&txmask, &rxmask);
> +       if (ret)
> +               return ret;
>
>         printf("Starting test with params:\n");
>         printf("\tTransmit workers:     \t%d\n", odp_cpumask_count(&txmask));
> @@ -691,8 +694,11 @@ static int run_test(void)
>         run_test_single(&txmask, &rxmask, &status);
>         status.warmup = 0;
>
> -       while (ret > 0)
> +       while (1) {
>                 ret = run_test_single(&txmask, &rxmask, &status);
> +               if (ret <= 0)
> +                       break;
> +       }
>
>         return ret;
>  }
> --
> 2.7.1.250.gff4ea60
>



-- 
Mike Holmes
Program Manager - Linaro Networking Group
Linaro.org │ Open source software for ARM SoCs
"Work should be fun and collaborative, the rest follows"

Reply via email to