The eal flags unit test assumes that a certain number of cores are
available (4 and 8 cores), however this may not always be the case.
Individual developers may run the unit test on their local desktop
which typically have 2 to 4 cores, in said case the test is bound
to fail for lacking 4 or 8 cores.
Additionally, as we push forward introducing CI into DPDK we are limited
to the hardware specification of CI services (e.g. Travis CI) that only
have 2 cores on their servers, in which case the test would fail.
To fix this we check available cores before running a subtest. This
applies to subtests that are dedicated to test that the -l and --lcore
flags work correctly. If not enough cores are available the subtest is
simply skipped, otherwise the subtest is run.
Signed-off-by: Michael Santana <msantana@redhat.com>
Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Aaron Conole <aconole@redhat.com>
#include <limits.h>
#include <fcntl.h>
#include <limits.h>
#include <fcntl.h>
-#include <rte_per_lcore.h>
#include <rte_debug.h>
#include <rte_string_fns.h>
#include <rte_debug.h>
#include <rte_string_fns.h>
"process ran without error with invalid -l flag\n");
return -1;
}
"process ran without error with invalid -l flag\n");
return -1;
}
- if (launch_proc(argv15) != 0) {
+ if (rte_lcore_is_enabled(0) && rte_lcore_is_enabled(1) &&
+ rte_lcore_is_enabled(2) && rte_lcore_is_enabled(3) &&
+ launch_proc(argv15) != 0) {
printf("Error - "
"process did not run ok with valid corelist value\n");
return -1;
printf("Error - "
"process did not run ok with valid corelist value\n");
return -1;
- if (launch_proc(argv29) != 0) {
+ if (rte_lcore_is_enabled(0) && rte_lcore_is_enabled(1) &&
+ rte_lcore_is_enabled(2) && rte_lcore_is_enabled(3) &&
+ rte_lcore_is_enabled(3) && rte_lcore_is_enabled(5) &&
+ rte_lcore_is_enabled(4) && rte_lcore_is_enabled(7) &&
+ launch_proc(argv29) != 0) {
printf("Error - "
"process did not run ok with valid corelist value\n");
return -1;
printf("Error - "
"process did not run ok with valid corelist value\n");
return -1;
snprintf(prefix, sizeof(prefix), "--file-prefix=%s", tmp);
#endif
snprintf(prefix, sizeof(prefix), "--file-prefix=%s", tmp);
#endif
+ if (!rte_lcore_is_enabled(0) || !rte_lcore_is_enabled(1))
+ return TEST_SKIPPED;
+
/* --master-lcore flag but no value */
const char *argv1[] = { prgname, prefix, mp_flag,
"-c", "3", "--master-lcore"};
/* --master-lcore flag but no value */
const char *argv1[] = { prgname, prefix, mp_flag,
"-c", "3", "--master-lcore"};