app/testpmd: fix variable use before null check
[dpdk.git] / app / test / meson.build
index 56ea13f..80cdea5 100644 (file)
@@ -96,6 +96,7 @@ test_sources = files('commands.c',
        'test_service_cores.c',
        'test_spinlock.c',
        'test_stack.c',
+       'test_stack_perf.c',
        'test_string_fns.c',
        'test_table.c',
        'test_table_acl.c',
@@ -108,6 +109,7 @@ test_sources = files('commands.c',
        'test_timer.c',
        'test_timer_perf.c',
        'test_timer_racecond.c',
+       'test_timer_secondary.c',
        'test_ticketlock.c',
        'test_version.c',
        'virtual_pmd.c'
@@ -177,6 +179,7 @@ fast_parallel_test_names = [
         'sched_autotest',
         'spinlock_autotest',
         'stack_autotest',
+        'stack_nb_autotest',
         'string_autotest',
         'table_autotest',
         'tailq_autotest',
@@ -241,6 +244,8 @@ perf_test_names = [
         'distributor_perf_autotest',
         'ring_pmd_perf_autotest',
         'pmd_perf_autotest',
+        'stack_perf_autotest',
+        'stack_nb_perf_autotest',
 ]
 
 # All test cases in driver_test_names list are non-parallel
@@ -340,17 +345,43 @@ if get_option('tests')
        timeout_seconds = 600
        timeout_seconds_fast = 10
 
+       # Retrieve the number of CPU cores, defaulting to 4.
+       num_cores = '0-3'
+       if host_machine.system() == 'linux'
+               num_cores = run_command('cat',
+                                       '/sys/devices/system/cpu/present'
+                                      ).stdout().strip()
+       elif host_machine.system() == 'freebsd'
+               snum_cores = run_command('/sbin/sysctl', '-n',
+                                        'hw.ncpu').stdout().strip()
+               inum_cores = snum_cores.to_int() - 1
+                num_cores = '0-@0@'.format(inum_cores)
+       endif
+
+       num_cores_arg = '-l ' + 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')
@@ -359,6 +390,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')
@@ -367,6 +399,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')
@@ -375,6 +408,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')