[v2,13/13] app/test: enable subset of unit tests on Windows

Message ID 1629306834-6277-14-git-send-email-jizh@linux.microsoft.com (mailing list archive)
State Superseded, archived
Delegated to: Thomas Monjalon
Headers
Series app/test: enable subset of tests on Windows |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/github-robot: build success github build: passed
ci/iol-broadcom-Performance success Performance Testing PASS
ci/iol-broadcom-Functional success Functional Testing PASS
ci/iol-aarch64-compile-testing success Testing PASS
ci/iol-intel-Functional success Functional Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-aarch64-unit-testing fail Testing issues
ci/iol-x86_64-unit-testing success Testing PASS
ci/iol-x86_64-compile-testing success Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/Intel-compilation success Compilation OK
ci/intel-Testing success Testing PASS

Commit Message

Jie Zhou Aug. 18, 2021, 5:13 p.m. UTC
  In app/test/meson.build
- Specify the subset of source files to compile on Windows
- Specify the subset of tests to be enabled on Windows

Signed-off-by: Jie Zhou <jizh@linux.microsoft.com>
---
 app/test/meson.build | 859 ++++++++++++++++++++++++++-----------------
 1 file changed, 515 insertions(+), 344 deletions(-)
  

Comments

Dmitry Kozlyuk Aug. 28, 2021, 10:18 p.m. UTC | #1
2021-08-18 10:13 (UTC-0700), Jie Zhou:
> In app/test/meson.build
> - Specify the subset of source files to compile on Windows
> - Specify the subset of tests to be enabled on Windows
> Signed-off-by: Jie Zhou <jizh@linux.microsoft.com>
> ---
>  app/test/meson.build | 859 ++++++++++++++++++++++++++-----------------
>  1 file changed, 515 insertions(+), 344 deletions(-)

Commit messages should explain the reason for the change,
which itself is precisely described by the diff below.
For example, why these specific tests are selected?

Please don't create two lists, it will be hard to maintain.

> diff --git a/app/test/meson.build b/app/test/meson.build
> index 7240304916..1e77657510 100644
> --- a/app/test/meson.build
> +++ b/app/test/meson.build
[...]
> @@ -362,7 +533,7 @@ endif
>  if dpdk_conf.has('RTE_EVENT_SKELETON')
>      test_deps += 'event_skeleton'
>  endif
> -if dpdk_conf.has('RTE_LIB_TELEMETRY')
> +if not(is_windows) and dpdk_conf.has('RTE_LIB_TELEMETRY')
>      test_sources += ['test_telemetry_json.c', 'test_telemetry_data.c']
>      fast_tests += [['telemetry_json_autotest', true], ['telemetry_data_autotest', true]]
>  endif

"not" is not a function, "if not is_windows and ..." is the preferred style.
  
Jie Zhou Aug. 31, 2021, 5:01 p.m. UTC | #2
On Sun, Aug 29, 2021 at 01:18:12AM +0300, Dmitry Kozlyuk wrote:
> 2021-08-18 10:13 (UTC-0700), Jie Zhou:
> > In app/test/meson.build
> > - Specify the subset of source files to compile on Windows
> > - Specify the subset of tests to be enabled on Windows
> > Signed-off-by: Jie Zhou <jizh@linux.microsoft.com>
> > ---
> >  app/test/meson.build | 859 ++++++++++++++++++++++++++-----------------
> >  1 file changed, 515 insertions(+), 344 deletions(-)
> 
> Commit messages should explain the reason for the change,
> which itself is precisely described by the diff below.
> For example, why these specific tests are selected?
> 
> Please don't create two lists, it will be hard to maintain.
>
Since not all the libraries unit tests depend on are built on Windows yet, and not all unit tests are ported on Windows yet, what would be a proper way to have one list but only a subset of the list actually enabled on Windows? Thanks for any suggestions.
 
> > diff --git a/app/test/meson.build b/app/test/meson.build
> > index 7240304916..1e77657510 100644
> > --- a/app/test/meson.build
> > +++ b/app/test/meson.build
> [...]
> > @@ -362,7 +533,7 @@ endif
> >  if dpdk_conf.has('RTE_EVENT_SKELETON')
> >      test_deps += 'event_skeleton'
> >  endif
> > -if dpdk_conf.has('RTE_LIB_TELEMETRY')
> > +if not(is_windows) and dpdk_conf.has('RTE_LIB_TELEMETRY')
> >      test_sources += ['test_telemetry_json.c', 'test_telemetry_data.c']
> >      fast_tests += [['telemetry_json_autotest', true], ['telemetry_data_autotest', true]]
> >  endif
> 
> "not" is not a function, "if not is_windows and ..." is the preferred style.
Will fix in V3.
  
Dmitry Kozlyuk Aug. 31, 2021, 5:39 p.m. UTC | #3
2021-08-31 10:01 (UTC-0700), Jie Zhou:
> On Sun, Aug 29, 2021 at 01:18:12AM +0300, Dmitry Kozlyuk wrote:
> > 2021-08-18 10:13 (UTC-0700), Jie Zhou:  
> > > In app/test/meson.build
> > > - Specify the subset of source files to compile on Windows
> > > - Specify the subset of tests to be enabled on Windows
> > > Signed-off-by: Jie Zhou <jizh@linux.microsoft.com>
> > > ---
> > >  app/test/meson.build | 859 ++++++++++++++++++++++++++-----------------
> > >  1 file changed, 515 insertions(+), 344 deletions(-)  
> > 
> > Commit messages should explain the reason for the change,
> > which itself is precisely described by the diff below.
> > For example, why these specific tests are selected?
> > 
> > Please don't create two lists, it will be hard to maintain.
> >  
> Since not all the libraries unit tests depend on are built on Windows yet, and not all unit tests are ported on Windows yet, what would be a proper way to have one list but only a subset of the list actually enabled on Windows? Thanks for any suggestions.

I would put all the common tests to the list first,
then extend the list depending on the platform.
  

Patch

diff --git a/app/test/meson.build b/app/test/meson.build
index 7240304916..1e77657510 100644
--- a/app/test/meson.build
+++ b/app/test/meson.build
@@ -1,353 +1,524 @@ 
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation
 
-if is_windows
-	build = false
-	reason = 'not supported on Windows'
-	subdir_done()
-endif
-
 if not get_option('tests')
     subdir_done()
 endif
 
-test_sources = files(
-        'commands.c',
-        'packet_burst_generator.c',
-        'test.c',
-        'test_acl.c',
-        'test_alarm.c',
-        'test_atomic.c',
-        'test_barrier.c',
-        'test_bitops.c',
-        'test_bitmap.c',
-        'test_bpf.c',
-        'test_byteorder.c',
-        'test_cksum.c',
-        'test_cmdline.c',
-        'test_cmdline_cirbuf.c',
-        'test_cmdline_etheraddr.c',
-        'test_cmdline_ipaddr.c',
-        'test_cmdline_lib.c',
-        'test_cmdline_num.c',
-        'test_cmdline_portlist.c',
-        'test_cmdline_string.c',
-        'test_common.c',
-        'test_cpuflags.c',
-        'test_crc.c',
-        'test_cryptodev.c',
-        'test_cryptodev_asym.c',
-        'test_cryptodev_blockcipher.c',
-        'test_cryptodev_security_pdcp.c',
-        'test_cycles.c',
-        'test_debug.c',
-        'test_distributor.c',
-        'test_distributor_perf.c',
-        'test_eal_flags.c',
-        'test_eal_fs.c',
-        'test_efd.c',
-        'test_efd_perf.c',
-        'test_errno.c',
-        'test_ethdev_link.c',
-        'test_event_crypto_adapter.c',
-        'test_event_eth_rx_adapter.c',
-        'test_event_ring.c',
-        'test_event_timer_adapter.c',
-        'test_eventdev.c',
-        'test_external_mem.c',
-        'test_fbarray.c',
-        'test_fib.c',
-        'test_fib_perf.c',
-        'test_fib6.c',
-        'test_fib6_perf.c',
-        'test_func_reentrancy.c',
-        'test_flow_classify.c',
-        'test_graph.c',
-        'test_graph_perf.c',
-        'test_hash.c',
-        'test_hash_functions.c',
-        'test_hash_multiwriter.c',
-        'test_hash_readwrite.c',
-        'test_hash_perf.c',
-        'test_hash_readwrite_lf_perf.c',
-        'test_interrupts.c',
-        'test_ipfrag.c',
-        'test_ipsec.c',
-        'test_ipsec_sad.c',
-        'test_ipsec_perf.c',
-        'test_kni.c',
-        'test_kvargs.c',
-        'test_lcores.c',
-        'test_logs.c',
-        'test_lpm.c',
-        'test_lpm6.c',
-        'test_lpm6_perf.c',
-        'test_lpm_perf.c',
-        'test_malloc.c',
-        'test_mbuf.c',
-        'test_member.c',
-        'test_member_perf.c',
-        'test_memcpy.c',
-        'test_memcpy_perf.c',
-        'test_memory.c',
-        'test_mempool.c',
-        'test_mempool_perf.c',
-        'test_memzone.c',
-        'test_meter.c',
-        'test_metrics.c',
-        'test_mcslock.c',
-        'test_mp_secondary.c',
-        'test_per_lcore.c',
-        'test_pflock.c',
-        'test_pmd_perf.c',
-        'test_power.c',
-        'test_power_cpufreq.c',
-        'test_power_kvm_vm.c',
-        'test_prefetch.c',
-        'test_rand_perf.c',
-        'test_rawdev.c',
-        'test_rcu_qsbr.c',
-        'test_rcu_qsbr_perf.c',
-        'test_reciprocal_division.c',
-        'test_reciprocal_division_perf.c',
-        'test_red.c',
-        'test_reorder.c',
-        'test_rib.c',
-        'test_rib6.c',
-        'test_ring.c',
-        'test_ring_mpmc_stress.c',
-        'test_ring_hts_stress.c',
-        'test_ring_mt_peek_stress.c',
-        'test_ring_mt_peek_stress_zc.c',
-        'test_ring_perf.c',
-        'test_ring_rts_stress.c',
-        'test_ring_st_peek_stress.c',
-        'test_ring_st_peek_stress_zc.c',
-        'test_ring_stress.c',
-        'test_rwlock.c',
-        'test_sched.c',
-        'test_security.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',
-        'test_table_combined.c',
-        'test_table_pipeline.c',
-        'test_table_ports.c',
-        'test_table_tables.c',
-        'test_tailq.c',
-        'test_thash.c',
-        'test_timer.c',
-        'test_timer_perf.c',
-        'test_timer_racecond.c',
-        'test_timer_secondary.c',
-        'test_ticketlock.c',
-        'test_trace.c',
-        'test_trace_register.c',
-        'test_trace_perf.c',
-        'test_version.c',
-        'virtual_pmd.c',
-)
-
-test_deps = [
-        'acl',
-        'bus_pci',
-        'bus_vdev',
-        'bitratestats',
-        'bpf',
-        'cfgfile',
-        'cmdline',
-        'cryptodev',
-        'distributor',
-        'efd',
-        'ethdev',
-        'eventdev',
-        'fib',
-        'flow_classify',
-        'graph',
-        'hash',
-        'ipsec',
-        'latencystats',
-        'lpm',
-        'member',
-        'metrics',
-        'node',
-        'pipeline',
-        'port',
-        'rawdev',
-        'rcu',
-        'reorder',
-        'rib',
-        'ring',
-        'security',
-        'stack',
-        'telemetry',
-        'timer',
-]
-
-# Each test is marked with flag true/false
-# to indicate whether it can run in no-huge mode.
-fast_tests = [
-        ['acl_autotest', true],
-        ['atomic_autotest', false],
-        ['bitops_autotest', true],
-        ['byteorder_autotest', true],
-        ['cksum_autotest', true],
-        ['cmdline_autotest', true],
-        ['common_autotest', true],
-        ['cpuflags_autotest', true],
-        ['debug_autotest', true],
-        ['eal_flags_c_opt_autotest', false],
-        ['eal_flags_main_opt_autotest', false],
-        ['eal_flags_n_opt_autotest', false],
-        ['eal_flags_hpet_autotest', false],
-        ['eal_flags_no_huge_autotest', false],
-        ['eal_flags_a_opt_autotest', false],
-        ['eal_flags_b_opt_autotest', false],
-        ['eal_flags_vdev_opt_autotest', false],
-        ['eal_flags_r_opt_autotest', false],
-        ['eal_flags_mem_autotest', false],
-        ['eal_flags_file_prefix_autotest', false],
-        ['eal_flags_misc_autotest', false],
-        ['eal_fs_autotest', true],
-        ['errno_autotest', true],
-        ['ethdev_link_status', true],
-        ['event_ring_autotest', true],
-        ['fib_autotest', true],
-        ['fib6_autotest', true],
-        ['func_reentrancy_autotest', false],
-        ['flow_classify_autotest', false],
-        ['hash_autotest', true],
-        ['interrupt_autotest', true],
-        ['ipfrag_autotest', false],
-        ['lcores_autotest', true],
-        ['logs_autotest', true],
-        ['lpm_autotest', true],
-        ['lpm6_autotest', true],
-        ['malloc_autotest', false],
-        ['mbuf_autotest', false],
-        ['mcslock_autotest', false],
-        ['memcpy_autotest', true],
-        ['memory_autotest', false],
-        ['mempool_autotest', false],
-        ['memzone_autotest', false],
-        ['meter_autotest', true],
-        ['multiprocess_autotest', false],
-        ['per_lcore_autotest', true],
-        ['pflock_autotest', true],
-        ['prefetch_autotest', true],
-        ['rcu_qsbr_autotest', true],
-        ['red_autotest', true],
-        ['rib_autotest', true],
-        ['rib6_autotest', true],
-        ['ring_autotest', true],
-        ['rwlock_test1_autotest', true],
-        ['rwlock_rda_autotest', true],
-        ['rwlock_rds_wrm_autotest', true],
-        ['rwlock_rde_wro_autotest', true],
-        ['sched_autotest', true],
-        ['security_autotest', false],
-        ['spinlock_autotest', true],
-        ['stack_autotest', false],
-        ['stack_lf_autotest', false],
-        ['string_autotest', true],
-        ['table_autotest', true],
-        ['tailq_autotest', true],
-        ['ticketlock_autotest', true],
-        ['timer_autotest', false],
-        ['user_delay_us', true],
-        ['version_autotest', true],
-        ['crc_autotest', true],
-        ['distributor_autotest', false],
-        ['eventdev_common_autotest', true],
-        ['fbarray_autotest', true],
-        ['hash_readwrite_func_autotest', false],
-        ['ipsec_autotest', true],
-        ['kni_autotest', false],
-        ['kvargs_autotest', true],
-        ['member_autotest', true],
-        ['metrics_autotest', true],
-        ['power_cpufreq_autotest', false],
-        ['power_autotest', true],
-        ['power_kvm_vm_autotest', false],
-        ['reorder_autotest', true],
-        ['service_autotest', true],
-        ['thash_autotest', true],
-        ['trace_autotest', true],
-]
-
-perf_test_names = [
-        'ring_perf_autotest',
-        'mempool_perf_autotest',
-        'memcpy_perf_autotest',
-        'hash_perf_autotest',
-        'timer_perf_autotest',
-        'reciprocal_division',
-        'reciprocal_division_perf',
-        'lpm_perf_autotest',
-        'rib_slow_autotest',
-        'fib_slow_autotest',
-        'fib_perf_autotest',
-        'red_all',
-        'barrier_autotest',
-        'hash_multiwriter_autotest',
-        'timer_racecond_autotest',
-        'efd_autotest',
-        'hash_functions_autotest',
-        'member_perf_autotest',
-        'efd_perf_autotest',
-        'lpm6_perf_autotest',
-        'rib6_slow_autotest',
-        'fib6_slow_autotest',
-        'fib6_perf_autotest',
-        'rcu_qsbr_perf_autotest',
-        'red_perf',
-        'distributor_perf_autotest',
-        'pmd_perf_autotest',
-        'stack_perf_autotest',
-        'stack_lf_perf_autotest',
-        'rand_perf_autotest',
-        'hash_readwrite_perf_autotest',
-        'hash_readwrite_lf_perf_autotest',
-        'trace_perf_autotest',
-        'ipsec_perf_autotest',
-]
-
-driver_test_names = [
-        'cryptodev_aesni_mb_autotest',
-        'cryptodev_aesni_gcm_autotest',
-        'cryptodev_cn9k_autotest',
-        'cryptodev_cn10k_autotest',
-        'cryptodev_dpaa_sec_autotest',
-        'cryptodev_dpaa2_sec_autotest',
-        'cryptodev_null_autotest',
-        'cryptodev_octeontx2_autotest',
-        'cryptodev_openssl_autotest',
-        'cryptodev_openssl_asym_autotest',
-        'cryptodev_qat_autotest',
-        'cryptodev_sw_armv8_autotest',
-        'cryptodev_sw_kasumi_autotest',
-        'cryptodev_sw_mvsam_autotest',
-        'cryptodev_sw_snow3g_autotest',
-        'cryptodev_sw_zuc_autotest',
-        'eventdev_selftest_octeontx',
-        'eventdev_selftest_sw',
-        'rawdev_autotest',
-]
-
-dump_test_names = [
-        'dump_struct_sizes',
-        'dump_mempool',
-        'dump_malloc_stats',
-        'dump_devargs',
-        'dump_log_types',
-        'dump_ring',
-        'dump_physmem',
-        'dump_memzone',
-]
+if is_windows
+	test_sources = files('commands.c',
+		'packet_burst_generator.c',
+		'test.c',
+		'test_alarm.c',
+		'test_atomic.c',
+		'test_barrier.c',
+		'test_bitops.c',
+		'test_bitmap.c',
+		'test_byteorder.c',
+		'test_cmdline.c',
+		'test_cmdline_cirbuf.c',
+		'test_cmdline_etheraddr.c',
+		'test_cmdline_lib.c',
+		'test_cmdline_num.c',
+		'test_cmdline_portlist.c',
+		'test_cmdline_string.c',
+		'test_common.c',
+		'test_cpuflags.c',
+		'test_crc.c',
+		'test_cycles.c',
+		'test_errno.c',
+		'test_ethdev_link.c',
+		'test_fbarray.c',
+		'test_func_reentrancy.c',
+		'test_hash.c',
+		'test_hash_functions.c',
+		'test_hash_multiwriter.c',
+		'test_hash_readwrite.c',
+		'test_hash_readwrite_lf_perf.c',
+		'test_interrupts.c',
+		'test_kvargs.c',
+		'test_logs.c',
+		'test_lpm.c',
+		'test_memcpy.c',
+		'test_memory.c',
+		'test_mempool.c',
+		'test_mempool_perf.c',
+		'test_memzone.c',
+		'test_meter.c',
+		'test_metrics.c',
+		'test_mcslock.c',
+		'test_per_lcore.c',
+		'test_pmd_perf.c',
+		'test_power.c',
+		'test_power_cpufreq.c',
+		'test_power_kvm_vm.c',
+		'test_prefetch.c',
+		'test_rand_perf.c',
+		'test_rcu_qsbr.c',
+		'test_rcu_qsbr_perf.c',
+		'test_reorder.c',
+		'test_rib.c',
+		'test_rib6.c',
+		'test_ring.c',
+		'test_ring_mpmc_stress.c',
+		'test_ring_mt_peek_stress.c',
+		'test_ring_mt_peek_stress_zc.c',
+		'test_ring_perf.c',
+		'test_ring_rts_stress.c',
+		'test_ring_st_peek_stress.c',
+		'test_ring_st_peek_stress_zc.c',
+		'test_ring_stress.c',
+		'test_rwlock.c',
+		'test_service_cores.c',
+		'test_spinlock.c',
+		'test_stack.c',
+		'test_stack_perf.c',
+		'test_string_fns.c',
+		'test_tailq.c',
+		'test_thash.c',
+		'test_timer.c',
+		'test_timer_perf.c',
+		'test_timer_racecond.c',
+		'test_ticketlock.c',
+		'test_trace_register.c',
+		'test_trace_perf.c',
+		'test_version.c',
+		'virtual_pmd.c'
+	)
+
+	test_deps = [
+		'bus_pci',
+		'bus_vdev',
+		'bitratestats',
+		'cfgfile',
+		'cmdline',
+		'efd',
+		'ethdev',
+		'hash',
+		'latencystats',
+		'lpm',
+		'metrics',
+		'rcu',
+		'reorder',
+		'rib',
+		'ring',
+		'stack',
+		'telemetry',
+		'timer',
+	]
+
+    # Each test is marked with flag true/false
+    # to indicate whether it can run in no-huge mode.
+    fast_tests = [
+            ['alarm_autotest', true],
+            ['bitops_autotest', true],
+            ['byteorder_autotest', true],
+            ['cmdline_autotest', true],
+            ['common_autotest', true],
+            ['cpuflags_autotest', true],
+            ['errno_autotest', true],
+            ['ethdev_link_status', true],
+            ['hash_autotest', true],
+            ['interrupt_autotest', true],
+            ['logs_autotest', true],
+            ['lpm_autotest', true],
+            ['mcslock_autotest', false],
+            ['memory_autotest', false],
+            ['mempool_autotest', false],
+            ['memzone_autotest', false],
+            ['meter_autotest', true],
+            ['per_lcore_autotest', true],
+            ['prefetch_autotest', true],
+            ['rcu_qsbr_autotest', true],
+            ['rib_autotest', true],
+            ['rib6_autotest', true],
+            ['ring_autotest', true],
+            ['rwlock_test1_autotest', true],
+            ['rwlock_rda_autotest', true],
+            ['rwlock_rds_wrm_autotest', true],
+            ['rwlock_rde_wro_autotest', true],
+            ['spinlock_autotest', true],
+            ['stack_autotest', false],
+            ['stack_lf_autotest', false],
+            ['string_autotest', true],
+            ['tailq_autotest', true],
+            ['ticketlock_autotest', true],
+            ['user_delay_us', true],
+            ['version_autotest', true],
+            ['crc_autotest', true],
+            ['fbarray_autotest', true],
+            ['hash_readwrite_func_autotest', false],
+            ['kvargs_autotest', true],
+            ['metrics_autotest', true],
+            ['reorder_autotest', true],
+            ['service_autotest', true],
+            ['thash_autotest', true],
+    ]
+
+    perf_test_names = [
+            'atomic_autotest',
+            'memcpy_autotest',
+            'ring_perf_autotest',
+            'timer_autotest',
+            'timer_perf_autotest',
+            'rib_slow_autotest',
+            'barrier_autotest',
+            'hash_multiwriter_autotest',
+            'timer_racecond_autotest',
+            'hash_functions_autotest',
+            'pmd_perf_autotest',
+            'stack_perf_autotest',
+            'stack_lf_perf_autotest',
+            'rand_perf_autotest',
+            'hash_readwrite_perf_autotest',
+            'hash_readwrite_lf_perf_autotest',
+            'trace_perf_autotest',
+    ]
+
+    driver_test_names = [
+    ]
+
+    dump_test_names = [
+    ]
+else
+    test_sources = files(
+            'commands.c',
+            'packet_burst_generator.c',
+            'test.c',
+            'test_acl.c',
+            'test_alarm.c',
+            'test_atomic.c',
+            'test_barrier.c',
+            'test_bitops.c',
+            'test_bitmap.c',
+            'test_bpf.c',
+            'test_byteorder.c',
+            'test_cksum.c',
+            'test_cmdline.c',
+            'test_cmdline_cirbuf.c',
+            'test_cmdline_etheraddr.c',
+            'test_cmdline_ipaddr.c',
+            'test_cmdline_lib.c',
+            'test_cmdline_num.c',
+            'test_cmdline_portlist.c',
+            'test_cmdline_string.c',
+            'test_common.c',
+            'test_cpuflags.c',
+            'test_crc.c',
+            'test_cryptodev.c',
+            'test_cryptodev_asym.c',
+            'test_cryptodev_blockcipher.c',
+            'test_cryptodev_security_pdcp.c',
+            'test_cycles.c',
+            'test_debug.c',
+            'test_distributor.c',
+            'test_distributor_perf.c',
+            'test_eal_flags.c',
+            'test_eal_fs.c',
+            'test_efd.c',
+            'test_efd_perf.c',
+            'test_errno.c',
+            'test_ethdev_link.c',
+            'test_event_crypto_adapter.c',
+            'test_event_eth_rx_adapter.c',
+            'test_event_ring.c',
+            'test_event_timer_adapter.c',
+            'test_eventdev.c',
+            'test_external_mem.c',
+            'test_fbarray.c',
+            'test_fib.c',
+            'test_fib_perf.c',
+            'test_fib6.c',
+            'test_fib6_perf.c',
+            'test_func_reentrancy.c',
+            'test_flow_classify.c',
+            'test_graph.c',
+            'test_graph_perf.c',
+            'test_hash.c',
+            'test_hash_functions.c',
+            'test_hash_multiwriter.c',
+            'test_hash_readwrite.c',
+            'test_hash_perf.c',
+            'test_hash_readwrite_lf_perf.c',
+            'test_interrupts.c',
+            'test_ipfrag.c',
+            'test_ipsec.c',
+            'test_ipsec_sad.c',
+            'test_ipsec_perf.c',
+            'test_kni.c',
+            'test_kvargs.c',
+            'test_lcores.c',
+            'test_logs.c',
+            'test_lpm.c',
+            'test_lpm6.c',
+            'test_lpm6_perf.c',
+            'test_lpm_perf.c',
+            'test_malloc.c',
+            'test_mbuf.c',
+            'test_member.c',
+            'test_member_perf.c',
+            'test_memcpy.c',
+            'test_memcpy_perf.c',
+            'test_memory.c',
+            'test_mempool.c',
+            'test_mempool_perf.c',
+            'test_memzone.c',
+            'test_meter.c',
+            'test_metrics.c',
+            'test_mcslock.c',
+            'test_mp_secondary.c',
+            'test_per_lcore.c',
+            'test_pflock.c',
+            'test_pmd_perf.c',
+            'test_power.c',
+            'test_power_cpufreq.c',
+            'test_power_kvm_vm.c',
+            'test_prefetch.c',
+            'test_rand_perf.c',
+            'test_rawdev.c',
+            'test_rcu_qsbr.c',
+            'test_rcu_qsbr_perf.c',
+            'test_reciprocal_division.c',
+            'test_reciprocal_division_perf.c',
+            'test_red.c',
+            'test_reorder.c',
+            'test_rib.c',
+            'test_rib6.c',
+            'test_ring.c',
+            'test_ring_mpmc_stress.c',
+            'test_ring_hts_stress.c',
+            'test_ring_mt_peek_stress.c',
+            'test_ring_mt_peek_stress_zc.c',
+            'test_ring_perf.c',
+            'test_ring_rts_stress.c',
+            'test_ring_st_peek_stress.c',
+            'test_ring_st_peek_stress_zc.c',
+            'test_ring_stress.c',
+            'test_rwlock.c',
+            'test_sched.c',
+            'test_security.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',
+            'test_table_combined.c',
+            'test_table_pipeline.c',
+            'test_table_ports.c',
+            'test_table_tables.c',
+            'test_tailq.c',
+            'test_thash.c',
+            'test_timer.c',
+            'test_timer_perf.c',
+            'test_timer_racecond.c',
+            'test_timer_secondary.c',
+            'test_ticketlock.c',
+            'test_trace.c',
+            'test_trace_register.c',
+            'test_trace_perf.c',
+            'test_version.c',
+            'virtual_pmd.c',
+    )
+
+    test_deps = [
+            'acl',
+            'bus_pci',
+            'bus_vdev',
+            'bitratestats',
+            'bpf',
+            'cfgfile',
+            'cmdline',
+            'cryptodev',
+            'distributor',
+            'efd',
+            'ethdev',
+            'eventdev',
+            'fib',
+            'flow_classify',
+            'graph',
+            'hash',
+            'ipsec',
+            'latencystats',
+            'lpm',
+            'member',
+            'metrics',
+            'node',
+            'pipeline',
+            'port',
+            'rawdev',
+            'rcu',
+            'reorder',
+            'rib',
+            'ring',
+            'security',
+            'stack',
+            'telemetry',
+            'timer',
+    ]
+
+    # Each test is marked with flag true/false
+    # to indicate whether it can run in no-huge mode.
+    fast_tests = [
+            ['acl_autotest', true],
+            ['atomic_autotest', false],
+            ['bitops_autotest', true],
+            ['byteorder_autotest', true],
+            ['cksum_autotest', true],
+            ['cmdline_autotest', true],
+            ['common_autotest', true],
+            ['cpuflags_autotest', true],
+            ['debug_autotest', true],
+            ['eal_flags_c_opt_autotest', false],
+            ['eal_flags_main_opt_autotest', false],
+            ['eal_flags_n_opt_autotest', false],
+            ['eal_flags_hpet_autotest', false],
+            ['eal_flags_no_huge_autotest', false],
+            ['eal_flags_a_opt_autotest', false],
+            ['eal_flags_b_opt_autotest', false],
+            ['eal_flags_vdev_opt_autotest', false],
+            ['eal_flags_r_opt_autotest', false],
+            ['eal_flags_mem_autotest', false],
+            ['eal_flags_file_prefix_autotest', false],
+            ['eal_flags_misc_autotest', false],
+            ['eal_fs_autotest', true],
+            ['errno_autotest', true],
+            ['ethdev_link_status', true],
+            ['event_ring_autotest', true],
+            ['fib_autotest', true],
+            ['fib6_autotest', true],
+            ['func_reentrancy_autotest', false],
+            ['flow_classify_autotest', false],
+            ['hash_autotest', true],
+            ['interrupt_autotest', true],
+            ['ipfrag_autotest', false],
+            ['lcores_autotest', true],
+            ['logs_autotest', true],
+            ['lpm_autotest', true],
+            ['lpm6_autotest', true],
+            ['malloc_autotest', false],
+            ['mbuf_autotest', false],
+            ['mcslock_autotest', false],
+            ['memcpy_autotest', true],
+            ['memory_autotest', false],
+            ['mempool_autotest', false],
+            ['memzone_autotest', false],
+            ['meter_autotest', true],
+            ['multiprocess_autotest', false],
+            ['per_lcore_autotest', true],
+            ['pflock_autotest', true],
+            ['prefetch_autotest', true],
+            ['rcu_qsbr_autotest', true],
+            ['red_autotest', true],
+            ['rib_autotest', true],
+            ['rib6_autotest', true],
+            ['ring_autotest', true],
+            ['rwlock_test1_autotest', true],
+            ['rwlock_rda_autotest', true],
+            ['rwlock_rds_wrm_autotest', true],
+            ['rwlock_rde_wro_autotest', true],
+            ['sched_autotest', true],
+            ['security_autotest', false],
+            ['spinlock_autotest', true],
+            ['stack_autotest', false],
+            ['stack_lf_autotest', false],
+            ['string_autotest', true],
+            ['table_autotest', true],
+            ['tailq_autotest', true],
+            ['ticketlock_autotest', true],
+            ['timer_autotest', false],
+            ['user_delay_us', true],
+            ['version_autotest', true],
+            ['crc_autotest', true],
+            ['distributor_autotest', false],
+            ['eventdev_common_autotest', true],
+            ['fbarray_autotest', true],
+            ['hash_readwrite_func_autotest', false],
+            ['ipsec_autotest', true],
+            ['kni_autotest', false],
+            ['kvargs_autotest', true],
+            ['member_autotest', true],
+            ['metrics_autotest', true],
+            ['power_cpufreq_autotest', false],
+            ['power_autotest', true],
+            ['power_kvm_vm_autotest', false],
+            ['reorder_autotest', true],
+            ['service_autotest', true],
+            ['thash_autotest', true],
+            ['trace_autotest', true],
+    ]
+
+    perf_test_names = [
+            'ring_perf_autotest',
+            'mempool_perf_autotest',
+            'memcpy_perf_autotest',
+            'hash_perf_autotest',
+            'timer_perf_autotest',
+            'reciprocal_division',
+            'reciprocal_division_perf',
+            'lpm_perf_autotest',
+            'rib_slow_autotest',
+            'fib_slow_autotest',
+            'fib_perf_autotest',
+            'red_all',
+            'barrier_autotest',
+            'hash_multiwriter_autotest',
+            'timer_racecond_autotest',
+            'efd_autotest',
+            'hash_functions_autotest',
+            'member_perf_autotest',
+            'efd_perf_autotest',
+            'lpm6_perf_autotest',
+            'rib6_slow_autotest',
+            'fib6_slow_autotest',
+            'fib6_perf_autotest',
+            'rcu_qsbr_perf_autotest',
+            'red_perf',
+            'distributor_perf_autotest',
+            'pmd_perf_autotest',
+            'stack_perf_autotest',
+            'stack_lf_perf_autotest',
+            'rand_perf_autotest',
+            'hash_readwrite_perf_autotest',
+            'hash_readwrite_lf_perf_autotest',
+            'trace_perf_autotest',
+            'ipsec_perf_autotest',
+    ]
+
+    driver_test_names = [
+            'cryptodev_aesni_mb_autotest',
+            'cryptodev_aesni_gcm_autotest',
+            'cryptodev_cn9k_autotest',
+            'cryptodev_cn10k_autotest',
+            'cryptodev_dpaa_sec_autotest',
+            'cryptodev_dpaa2_sec_autotest',
+            'cryptodev_null_autotest',
+            'cryptodev_octeontx2_autotest',
+            'cryptodev_openssl_autotest',
+            'cryptodev_openssl_asym_autotest',
+            'cryptodev_qat_autotest',
+            'cryptodev_sw_armv8_autotest',
+            'cryptodev_sw_kasumi_autotest',
+            'cryptodev_sw_mvsam_autotest',
+            'cryptodev_sw_snow3g_autotest',
+            'cryptodev_sw_zuc_autotest',
+            'eventdev_selftest_octeontx',
+            'eventdev_selftest_sw',
+            'rawdev_autotest',
+    ]
+
+    dump_test_names = [
+            'dump_struct_sizes',
+            'dump_mempool',
+            'dump_malloc_stats',
+            'dump_devargs',
+            'dump_log_types',
+            'dump_ring',
+            'dump_physmem',
+            'dump_memzone',
+    ]
+endif
 
 # The following linkages are an exception to allow running the
 # unit tests without requiring that the developer install the
@@ -362,7 +533,7 @@  endif
 if dpdk_conf.has('RTE_EVENT_SKELETON')
     test_deps += 'event_skeleton'
 endif
-if dpdk_conf.has('RTE_LIB_TELEMETRY')
+if not(is_windows) and dpdk_conf.has('RTE_LIB_TELEMETRY')
     test_sources += ['test_telemetry_json.c', 'test_telemetry_data.c']
     fast_tests += [['telemetry_json_autotest', true], ['telemetry_data_autotest', true]]
 endif