test/rcu: add API and functional tests
[dpdk.git] / app / test / meson.build
index 867cc58..4e8077c 100644 (file)
@@ -85,6 +85,8 @@ test_sources = files('commands.c',
        'test_power_acpi_cpufreq.c',
        'test_power_kvm_vm.c',
        'test_prefetch.c',
+       'test_rcu_qsbr.c',
+       'test_rcu_qsbr_perf.c',
        'test_reciprocal_division.c',
        'test_reciprocal_division_perf.c',
        'test_red.c',
@@ -109,6 +111,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'
@@ -133,6 +136,7 @@ test_deps = ['acl',
        'metrics',
        'pipeline',
        'port',
+       'rcu',
        'reorder',
        'ring',
        'stack',
@@ -171,6 +175,7 @@ fast_parallel_test_names = [
         'multiprocess_autotest',
         'per_lcore_autotest',
         'prefetch_autotest',
+        'rcu_qsbr_autotest',
         'red_autotest',
         'ring_autotest',
         'ring_pmd_autotest',
@@ -239,6 +244,7 @@ perf_test_names = [
         'member_perf_autotest',
         'efd_perf_autotest',
         'lpm6_perf_autotest',
+        'rcu_qsbr_perf_autotest',
         'red_perf',
         'distributor_perf_autotest',
         'ring_pmd_perf_autotest',
@@ -344,17 +350,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')
@@ -363,6 +395,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 +404,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 +413,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')