diff options
author | Maxim Uvarov <maxim.uvarov@linaro.org> | 2016-10-14 14:51:25 +0300 |
---|---|---|
committer | Maxim Uvarov <maxim.uvarov@linaro.org> | 2017-07-14 10:15:52 +0300 |
commit | b5dca2f1b0fff412fc56ba8bafba25507dcf1d64 (patch) | |
tree | 5982805152c4724d2ee13db78f160e7f80634f38 | |
parent | 4e8595151c075074744b8a1ad689a052df18c27e (diff) |
test: skip pktio_perf tests on 1 and 2 cpus machines
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 <maxim.uvarov@linaro.org>
Reviewed-by: Mike Holmes <mike.holmes@linaro.org>
-rw-r--r-- | test/performance/odp_pktio_perf.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/test/performance/odp_pktio_perf.c b/test/performance/odp_pktio_perf.c index 18a1aa2a2..988f298b0 100644 --- a/test/performance/odp_pktio_perf.c +++ b/test/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; } |