Some environments do not provide a minimum 4 cores for running tests.  This
allows those environments to still execute 'ninja test' without causing
multiple failures.

Signed-off-by: Aaron Conole <acon...@redhat.com>
---
 app/test/meson.build | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/app/test/meson.build b/app/test/meson.build
index ddb4d09ae..975b38daa 100644
--- a/app/test/meson.build
+++ b/app/test/meson.build
@@ -337,10 +337,15 @@ 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)],
+                       args : test_args + ['--file-prefix=@0@'.format(arg)],
                        timeout : timeout_seconds_fast,
                        suite : 'fast-tests')
        endforeach
@@ -348,6 +353,7 @@ if get_option('tests')
        foreach arg : fast_non_parallel_test_names
                test(arg, dpdk_test,
                        env : ['DPDK_TEST=' + arg],
+                       args : test_args + ['--file-prefix=@0@'.format(arg)],
                        timeout : timeout_seconds_fast,
                        is_parallel : false,
                        suite : 'fast-tests')
@@ -356,6 +362,7 @@ if get_option('tests')
        foreach arg : perf_test_names
                test(arg, dpdk_test,
                env : ['DPDK_TEST=' + arg],
+               args : test_args + ['--file-prefix=@0@'.format(arg)],
                timeout : timeout_seconds,
                is_parallel : false,
                suite : 'perf-tests')
@@ -364,6 +371,7 @@ if get_option('tests')
        foreach arg : driver_test_names
                test(arg, dpdk_test,
                        env : ['DPDK_TEST=' + arg],
+                       args : test_args + ['--file-prefix=@0@'.format(arg)],
                        timeout : timeout_seconds,
                        is_parallel : false,
                        suite : 'driver-tests')
@@ -372,6 +380,7 @@ if get_option('tests')
        foreach arg : dump_test_names
                test(arg, dpdk_test,
                        env : ['DPDK_TEST=' + arg],
+                       args : test_args + ['--file-prefix=@0@'.format(arg)],
                        timeout : timeout_seconds,
                        is_parallel : false,
                        suite : 'debug-tests')
-- 
2.19.1

Reply via email to