[dpdk-dev] [PATCH 3/3] app/test/meson: auto detect number of cores
Aaron Conole
aconole at redhat.com
Thu Apr 11 21:52:29 CEST 2019
The arguments being passed will cause failures on laptops that have,
for instance, 2 cores only. Most of the tests don't require more
than a single core. Some require multiple cores (but those tests
should be modified to 'SKIP' when the correct number of cores
aren't available).
The unit test results shouldn't be impacted by this change, but it
allows for a future enhancement to pass flags such as '--no-huge'.
Also include a fix to a reported issue with running on FreeBSD.
Signed-off-by: Aaron Conole <aconole at redhat.com>
---
Conflicts with http://patches.dpdk.org/patch/50850/
app/test/meson.build | 24 +++++++++++++++++++++---
1 file changed, 21 insertions(+), 3 deletions(-)
diff --git a/app/test/meson.build b/app/test/meson.build
index 867cc5863..1010bfbc8 100644
--- a/app/test/meson.build
+++ b/app/test/meson.build
@@ -344,17 +344,32 @@ if get_option('tests')
timeout_seconds = 600
timeout_seconds_fast = 10
+ # Retreive the number of CPU cores
+ num_cores = run_command('lscpu', '-p=cpu').stdout().strip().split('\n')[-1]
+ num_cores_arg = '-l 0-' + num_cores
+
+ test_args = [num_cores_arg, '-n 4']
foreach arg : fast_parallel_test_names
- test(arg, dpdk_test,
- env : ['DPDK_TEST=' + arg],
- args : ['-c f','-n 4', '--file-prefix=@0@'.format(arg)],
+ if host_machine.system() == 'linux'
+ test(arg, dpdk_test,
+ env : ['DPDK_TEST=' + arg],
+ args : test_args +
+ ['--file-prefix=@0@'.format(arg)],
+ timeout : timeout_seconds_fast,
+ suite : 'fast-tests')
+ else
+ test(arg, dpdk_test,
+ env : ['DPDK_TEST=' + arg],
+ args : test_args,
timeout : timeout_seconds_fast,
suite : 'fast-tests')
+ endif
endforeach
foreach arg : fast_non_parallel_test_names
test(arg, dpdk_test,
env : ['DPDK_TEST=' + arg],
+ args : test_args,
timeout : timeout_seconds_fast,
is_parallel : false,
suite : 'fast-tests')
@@ -363,6 +378,7 @@ if get_option('tests')
foreach arg : perf_test_names
test(arg, dpdk_test,
env : ['DPDK_TEST=' + arg],
+ args : test_args,
timeout : timeout_seconds,
is_parallel : false,
suite : 'perf-tests')
@@ -371,6 +387,7 @@ if get_option('tests')
foreach arg : driver_test_names
test(arg, dpdk_test,
env : ['DPDK_TEST=' + arg],
+ args : test_args,
timeout : timeout_seconds,
is_parallel : false,
suite : 'driver-tests')
@@ -379,6 +396,7 @@ if get_option('tests')
foreach arg : dump_test_names
test(arg, dpdk_test,
env : ['DPDK_TEST=' + arg],
+ args : test_args,
timeout : timeout_seconds,
is_parallel : false,
suite : 'debug-tests')
--
2.19.1
More information about the dev
mailing list