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 <j...@linux.microsoft.com>
---
 app/test/meson.build | 361 ++++++++++++++++++++++---------------------
 1 file changed, 188 insertions(+), 173 deletions(-)

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
-- 
2.32.0.windows.2

Reply via email to