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

Message ID 1630729155-24584-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/Intel-compilation success Compilation OK
ci/intel-Testing success Testing PASS
ci/iol-aarch64-compile-testing success Testing PASS
ci/iol-x86_64-unit-testing fail Testing issues
ci/iol-broadcom-Performance success Performance Testing PASS
ci/iol-broadcom-Functional success Functional Testing PASS
ci/iol-intel-Functional success Functional Testing PASS
ci/iol-intel-Performance fail Performance Testing issues
ci/iol-mellanox-Performance success Performance Testing PASS
ci/iol-x86_64-compile-testing success Testing PASS

Commit Message

Jie Zhou Sept. 4, 2021, 4:19 a.m. UTC
  Enable a subset of unit tests on Windows. Currently not all the
dependencies (e.g. libraries and some functionalities) of all unit
tests are supported on Windows yet.

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

Comments

Aaron Conole Sept. 7, 2021, 1:43 p.m. UTC | #1
Jie Zhou <jizh@linux.microsoft.com> writes:

> Enable a subset of unit tests on Windows. Currently not all the
> dependencies (e.g. libraries and some functionalities) of all unit
> tests are supported on Windows yet.
>
> Signed-off-by: Jie Zhou <jizh@linux.microsoft.com>
> ---

Hi Jie,

How is it expected that a developer will add unit tests here?  For
example, let's pretend I develop some new test.  Do I insert it into the
non-windows section or the 'all' section?  Will it ever be moved common
(for example, do windows development team aim to provide some additional
test / review cycles for new tests added)?  This have some implication
on how developers need to add tests - maybe there can be a documented
process for getting code more common (between windows / linux /
freebsd)?

-Aaron

PS: I would suggest a possible route is to update to the doc proposed in
http://patches.dpdk.org/project/dpdk/patch/20210714164047.511561-1-aconole@redhat.com/
but it still isn't merged.
  
Jie Zhou Sept. 8, 2021, 10:14 p.m. UTC | #2
On Tue, Sep 07, 2021 at 09:43:56AM -0400, Aaron Conole wrote:
> Jie Zhou <jizh@linux.microsoft.com> writes:
> 
> > Enable a subset of unit tests on Windows. Currently not all the
> > dependencies (e.g. libraries and some functionalities) of all unit
> > tests are supported on Windows yet.
> >
> > Signed-off-by: Jie Zhou <jizh@linux.microsoft.com>
> > ---
> 
> Hi Jie,
> 
> How is it expected that a developer will add unit tests here?  For
> example, let's pretend I develop some new test.  Do I insert it into the
> non-windows section or the 'all' section?  Will it ever be moved common
> (for example, do windows development team aim to provide some additional
> test / review cycles for new tests added)?  This have some implication
> on how developers need to add tests - maybe there can be a documented
> process for getting code more common (between windows / linux /
> freebsd)?
> 
> -Aaron
> 
> PS: I would suggest a possible route is to update to the doc proposed in
> http://patches.dpdk.org/project/dpdk/patch/20210714164047.511561-1-aconole@redhat.com/
> but it still isn't merged.

Thank you Aaron for bringing up this great question! Totally agree that we need some discussion on what is the expectation for onboarding new unit tests from different OS teams. For new tests that definitely missing supports on certain OS(s), should it be authored in a way for across all OSs but skip not supported ones at the beginning? Or just onboard for supported OS thus only add to the non-windows section for example, and later DPDK Windows team move it to common section after porting? I will bring this up in DPDK Windows Community meeting and discuss there first. Yes, we should update the doc (after your change merged) on the process once reaching some agreement.
  
Dmitry Kozlyuk Sept. 23, 2021, 7:35 a.m. UTC | #3
2021-09-08 15:14 (UTC-0700), Jie Zhou:
> On Tue, Sep 07, 2021 at 09:43:56AM -0400, Aaron Conole wrote:
> > Jie Zhou <jizh@linux.microsoft.com> writes:
> >   
> > > Enable a subset of unit tests on Windows. Currently not all the
> > > dependencies (e.g. libraries and some functionalities) of all unit
> > > tests are supported on Windows yet.
> > >
> > > Signed-off-by: Jie Zhou <jizh@linux.microsoft.com>
> > > ---  
> > 
> > Hi Jie,
> > 
> > How is it expected that a developer will add unit tests here?  For
> > example, let's pretend I develop some new test.  Do I insert it into the
> > non-windows section or the 'all' section?  Will it ever be moved common
> > (for example, do windows development team aim to provide some additional
> > test / review cycles for new tests added)?  This have some implication
> > on how developers need to add tests - maybe there can be a documented
> > process for getting code more common (between windows / linux /
> > freebsd)?
> > 
> > -Aaron
> > 
> > PS: I would suggest a possible route is to update to the doc proposed in
> > http://patches.dpdk.org/project/dpdk/patch/20210714164047.511561-1-aconole@redhat.com/
> > but it still isn't merged.  
> 
> Thank you Aaron for bringing up this great question! Totally agree that we need some discussion on what is the expectation for onboarding new unit tests from different OS teams. For new tests that definitely missing supports on certain OS(s), should it be authored in a way for across all OSs but skip not supported ones at the beginning? Or just onboard for supported OS thus only add to the non-windows section for example, and later DPDK Windows team move it to common section after porting? I will bring this up in DPDK Windows Community meeting and discuss there first. Yes, we should update the doc (after your change merged) on the process once reaching some agreement.

Hi Aaron, Jie,

Currently tests that should not run on certain platforms are disabled with
#ifdef. This has an advantage that these tests mark themselves as skipped.
There are no principal objections against this approach instead of many lists.
Many tests files will need to be modified, but only mechanically.

New tests for generic features should be cross-platform by default; why not?
An exception I can think of is EAL that may implement some new API only for
one OS. In this case the best we can do is to make sure the test code is not
inherently bound to some OS. This is something we can document. For example,
it should use <rte_ip.h> instead of including Unix network headers directly.
  
Jie Zhou Sept. 30, 2021, 11:57 p.m. UTC | #4
On Thu, Sep 23, 2021 at 10:35:37AM +0300, Dmitry Kozlyuk wrote:
> 2021-09-08 15:14 (UTC-0700), Jie Zhou:
> > On Tue, Sep 07, 2021 at 09:43:56AM -0400, Aaron Conole wrote:
> > > Jie Zhou <jizh@linux.microsoft.com> writes:
> > >   
> > > > Enable a subset of unit tests on Windows. Currently not all the
> > > > dependencies (e.g. libraries and some functionalities) of all unit
> > > > tests are supported on Windows yet.
> > > >
> > > > Signed-off-by: Jie Zhou <jizh@linux.microsoft.com>
> > > > ---  
> > > 
> > > Hi Jie,
> > > 
> > > How is it expected that a developer will add unit tests here?  For
> > > example, let's pretend I develop some new test.  Do I insert it into the
> > > non-windows section or the 'all' section?  Will it ever be moved common
> > > (for example, do windows development team aim to provide some additional
> > > test / review cycles for new tests added)?  This have some implication
> > > on how developers need to add tests - maybe there can be a documented
> > > process for getting code more common (between windows / linux /
> > > freebsd)?
> > > 
> > > -Aaron
> > > 
> > > PS: I would suggest a possible route is to update to the doc proposed in
> > > http://patches.dpdk.org/project/dpdk/patch/20210714164047.511561-1-aconole@redhat.com/
> > > but it still isn't merged.  
> > 
> > Thank you Aaron for bringing up this great question! Totally agree that we need some discussion on what is the expectation for onboarding new unit tests from different OS teams. For new tests that definitely missing supports on certain OS(s), should it be authored in a way for across all OSs but skip not supported ones at the beginning? Or just onboard for supported OS thus only add to the non-windows section for example, and later DPDK Windows team move it to common section after porting? I will bring this up in DPDK Windows Community meeting and discuss there first. Yes, we should update the doc (after your change merged) on the process once reaching some agreement.
> 
> Hi Aaron, Jie,
> 
> Currently tests that should not run on certain platforms are disabled with
> #ifdef. This has an advantage that these tests mark themselves as skipped.
> There are no principal objections against this approach instead of many lists.
> Many tests files will need to be modified, but only mechanically.
> 
> New tests for generic features should be cross-platform by default; why not?
> An exception I can think of is EAL that may implement some new API only for
> one OS. In this case the best we can do is to make sure the test code is not
> inherently bound to some OS. This is something we can document. For example,
> it should use <rte_ip.h> instead of including Unix network headers directly.

Thank you Dmitry. I will address this in V4 to use consolidated lists across all platforms. Aaron, please let me know if any other comments or concerns I can address together in V4. Thanks.
  

Patch

diff --git a/app/test/meson.build b/app/test/meson.build
index 6960cad80b..108995db21 100644
--- a/app/test/meson.build
+++ b/app/test/meson.build
@@ -1,12 +1,6 @@ 
 # 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
@@ -15,19 +9,15 @@  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',
@@ -35,60 +25,21 @@  test_sources = files(
         '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',
@@ -96,27 +47,20 @@  test_sources = files(
         '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',
@@ -125,27 +69,17 @@  test_sources = files(
         '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',
@@ -153,36 +87,21 @@  test_sources = files(
 )
 
 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',
@@ -191,56 +110,25 @@  test_deps = [
 # 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],
@@ -248,64 +136,32 @@  fast_tests = [
         ['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',
@@ -313,42 +169,201 @@  perf_test_names = [
         '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 not is_windows
+    test_sources += files(
+            'test_acl.c',
+            'test_bpf.c',
+            'test_cksum.c',
+            'test_cmdline_ipaddr.c',
+            'test_cryptodev.c',
+            'test_cryptodev_asym.c',
+            'test_cryptodev_blockcipher.c',
+            'test_cryptodev_security_pdcp.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_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_fib.c',
+            'test_fib_perf.c',
+            'test_fib6.c',
+            'test_fib6_perf.c',
+            'test_flow_classify.c',
+            'test_graph.c',
+            'test_graph_perf.c',
+            'test_hash_perf.c',
+            'test_ipfrag.c',
+            'test_ipsec.c',
+            'test_ipsec_sad.c',
+            'test_ipsec_perf.c',
+            'test_kni.c',
+            'test_lcores.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_perf.c',
+            'test_mp_secondary.c',
+            'test_pflock.c',
+            'test_rawdev.c',
+            'test_reciprocal_division.c',
+            'test_reciprocal_division_perf.c',
+            'test_red.c',
+            'test_ring_hts_stress.c',
+            'test_sched.c',
+            'test_security.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_timer_secondary.c',
+            'test_trace.c',
+    )
+
+    test_deps += [
+            'acl',
+            'bpf',
+            'cryptodev',
+            'distributor',
+            'eventdev',
+            'fib',
+            'flow_classify',
+            'graph',
+            'ipsec',
+            'member',
+            'node',
+            'pipeline',
+            'port',
+            'rawdev',
+            'security',
+    ]
+
+    fast_tests += [
+            ['atomic_autotest', true],
+            ['acl_autotest', true],
+            ['cksum_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],
+            ['event_ring_autotest', true],
+            ['fib_autotest', true],
+            ['fib6_autotest', true],
+            ['func_reentrancy_autotest', false],
+            ['flow_classify_autotest', false],
+            ['ipfrag_autotest', false],
+            ['lcores_autotest', true],
+            ['lpm6_autotest', true],
+            ['malloc_autotest', false],
+            ['mbuf_autotest', false],
+            ['memcopy_autotest', true],
+            ['multiprocess_autotest', false],
+            ['pflock_autotest', true],
+            ['red_autotest', true],
+            ['sched_autotest', true],
+            ['security_autotest', false],
+            ['table_autotest', true],
+            ['timer_autotest', false],
+            ['distributor_autotest', false],
+            ['eventdev_common_autotest', true],
+            ['ipsec_autotest', true],
+            ['kni_autotest', false],
+            ['member_autotest', true],
+            ['power_cpufreq_autotest', false],
+            ['power_autotest', true],
+            ['power_kvm_vm_autotest', false],
+            ['trace_autotest', true],
+    ]
+
+    perf_test_names += [
+            'mempool_perf_autotest',
+            'memcpy_perf_autotest',
+            'hash_perf_autotest',
+            'reciprocal_division',
+            'reciprocal_division_perf',
+            'lpm_perf_autotest',
+            'fib_slow_autotest',
+            'fib_perf_autotest',
+            'red_all',
+            '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',
+            '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
 # DPDK libraries.  Explicit linkage of drivers (plugin libraries)
@@ -362,7 +377,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