get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/104813/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 104813,
    "url": "http://patchwork.dpdk.org/api/patches/104813/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/patch/1638384245-12587-10-git-send-email-jizh@linux.microsoft.com/",
    "project": {
        "id": 1,
        "url": "http://patchwork.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<1638384245-12587-10-git-send-email-jizh@linux.microsoft.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1638384245-12587-10-git-send-email-jizh@linux.microsoft.com",
    "date": "2021-12-01T18:44:05",
    "name": "[v10,9/9] app/test: enable subset of unit tests on Windows",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "41ac3ab9d7984090039c8574f2afad9fd02cd653",
    "submitter": {
        "id": 1934,
        "url": "http://patchwork.dpdk.org/api/people/1934/?format=api",
        "name": "Jie Zhou",
        "email": "jizh@linux.microsoft.com"
    },
    "delegate": {
        "id": 1,
        "url": "http://patchwork.dpdk.org/api/users/1/?format=api",
        "username": "tmonjalo",
        "first_name": "Thomas",
        "last_name": "Monjalon",
        "email": "thomas@monjalon.net"
    },
    "mbox": "http://patchwork.dpdk.org/project/dpdk/patch/1638384245-12587-10-git-send-email-jizh@linux.microsoft.com/mbox/",
    "series": [
        {
            "id": 20828,
            "url": "http://patchwork.dpdk.org/api/series/20828/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=20828",
            "date": "2021-12-01T18:43:57",
            "name": "app/test: enable subset of tests on Windows",
            "version": 10,
            "mbox": "http://patchwork.dpdk.org/series/20828/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/patches/104813/comments/",
    "check": "fail",
    "checks": "http://patchwork.dpdk.org/api/patches/104813/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@inbox.dpdk.org",
        "Delivered-To": "patchwork@inbox.dpdk.org",
        "Received": [
            "from mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 55146A0C41;\n\tWed,  1 Dec 2021 19:45:16 +0100 (CET)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id D279A4270E;\n\tWed,  1 Dec 2021 19:44:19 +0100 (CET)",
            "from linux.microsoft.com (linux.microsoft.com [13.77.154.182])\n by mails.dpdk.org (Postfix) with ESMTP id EACDA40E78\n for <dev@dpdk.org>; Wed,  1 Dec 2021 19:44:10 +0100 (CET)",
            "from\n linuxonhyperv3.guj3yctzbm1etfxqx2vob5hsef.xx.internal.cloudapp.net\n (linux.microsoft.com [13.77.154.182])\n by linux.microsoft.com (Postfix) with ESMTPSA id E9A2120E61B6;\n Wed,  1 Dec 2021 10:44:09 -0800 (PST)"
        ],
        "DKIM-Filter": "OpenDKIM Filter v2.11.0 linux.microsoft.com E9A2120E61B6",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com;\n s=default; t=1638384250;\n bh=zWlujJA+c4DmKkdo+ILSjyxTCZpmy+nMAc+TR3ADzCQ=;\n h=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n b=FN2BLFRI8Sc9z3zNBJu8HdZ3yp/gznrtqrNknmluC6gEi6qQDybPGSwQBq2Ezq+OC\n aFegIPQrZxo2CkeUN5+jPMPoFvUfVxV1GqsUfhenW8o12edNhGZYVPtMnLg7SaUgeD\n dxUXHlCS+pkJDbgtekny8KFM8mEqopXt15rLzfMw=",
        "From": "Jie Zhou <jizh@linux.microsoft.com>",
        "To": "dev@dpdk.org",
        "Cc": "dmitry.kozliuk@gmail.com, roretzla@microsoft.com,\n navasile@linux.microsoft.com, dmitrym@microsoft.com,\n pallavi.kadam@intel.com, talshn@nvidia.com, thomas@monjalon.net,\n aconole@redhat.com",
        "Subject": "[PATCH v10 9/9] app/test: enable subset of unit tests on Windows",
        "Date": "Wed,  1 Dec 2021 10:44:05 -0800",
        "Message-Id": "<1638384245-12587-10-git-send-email-jizh@linux.microsoft.com>",
        "X-Mailer": "git-send-email 1.8.3.1",
        "In-Reply-To": "<1638384245-12587-1-git-send-email-jizh@linux.microsoft.com>",
        "References": "<1638381938-6113-1-git-send-email-jizh@linux.microsoft.com>\n <1638384245-12587-1-git-send-email-jizh@linux.microsoft.com>",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org"
    },
    "content": "- For fast tests and perf tests, add test stubs to skip not supported\n  ones.\n- For driver tests, for now skip on Windows totally to avoid\n  unnecessary amount of test stubs. For example, there are about 30\n  cryptodev related tests (even though in the meson for CI it only\n  listed about half) which will be enabled by \"patch-18949: app/test:\n  enable crypto unit tests on Windows\".\n- For dump tests, currently the tests hang on Windows which require\n  further investigation. Keep the dump test list just for non-Windows\n  for easier tracking.\n\nSigned-off-by: Jie Zhou <jizh@linux.microsoft.com>\n\n---\n app/test/meson.build                     | 117 ++++++++++++-----------\n app/test/test_acl.c                      |  12 +++\n app/test/test_bpf.c                      |  15 ++-\n app/test/test_cksum.c                    |  12 +++\n app/test/test_cmdline_ipaddr.c           |   5 +\n app/test/test_cryptodev.c                |   4 +\n app/test/test_cryptodev_asym.c           |   4 +\n app/test/test_cryptodev_blockcipher.c    |   4 +\n app/test/test_cryptodev_security_ipsec.c |   4 +\n app/test/test_cryptodev_security_pdcp.c  |   4 +\n app/test/test_debug.c                    |  17 +++-\n app/test/test_distributor.c              |  13 +++\n app/test/test_distributor_perf.c         |  13 +++\n app/test/test_dmadev.c                   |  14 ++-\n app/test/test_dmadev_api.c               |   4 +\n app/test/test_eal_flags.c                |  90 +++++++++++++++++\n app/test/test_eal_fs.c                   |  12 +++\n app/test/test_efd.c                      |  15 ++-\n app/test/test_efd_perf.c                 |  16 +++-\n app/test/test_event_crypto_adapter.c     |  15 ++-\n app/test/test_event_eth_rx_adapter.c     |  25 ++++-\n app/test/test_event_eth_tx_adapter.c     |  12 +++\n app/test/test_event_ring.c               |  16 +++-\n app/test/test_event_timer_adapter.c      |  16 +++-\n app/test/test_eventdev.c                 |  20 +++-\n app/test/test_external_mem.c             |  18 +++-\n app/test/test_fib.c                      |  22 ++++-\n app/test/test_fib6.c                     |  24 ++++-\n app/test/test_fib6_perf.c                |  16 +++-\n app/test/test_fib_perf.c                 |  15 ++-\n app/test/test_flow_classify.c            |  13 +++\n app/test/test_func_reentrancy.c          |  12 +++\n app/test/test_graph.c                    |  18 +++-\n app/test/test_graph_perf.c               |  16 +++-\n app/test/test_hash_perf.c                |  12 +++\n app/test/test_ipfrag.c                   |  16 +++-\n app/test/test_ipsec.c                    |  15 ++-\n app/test/test_ipsec_perf.c               |  15 ++-\n app/test/test_ipsec_sad.c                |  14 ++-\n app/test/test_kni.c                      |  10 +-\n app/test/test_lcores.c                   |  12 +++\n app/test/test_lpm.c                      |  14 ++-\n app/test/test_lpm6.c                     |  14 ++-\n app/test/test_lpm6_perf.c                |  14 ++-\n app/test/test_lpm_perf.c                 |  13 ++-\n app/test/test_malloc.c                   |  17 +++-\n app/test/test_mbuf.c                     |  13 ++-\n app/test/test_member.c                   |  16 +++-\n app/test/test_member_perf.c              |  16 +++-\n app/test/test_memcpy_perf.c              |  18 +++-\n app/test/test_mempool_perf.c             |  12 +++\n app/test/test_mp_secondary.c             |  12 +++\n app/test/test_pie.c                      |  30 +++++-\n app/test/test_rawdev.c                   |  17 +++-\n app/test/test_rcu_qsbr_perf.c            |  12 +++\n app/test/test_reciprocal_division.c      |  12 +++\n app/test/test_reciprocal_division_perf.c |  12 +++\n app/test/test_red.c                      |  29 +++++-\n app/test/test_reorder.c                  |  15 ++-\n app/test/test_rib.c                      |  22 ++++-\n app/test/test_rib6.c                     |  22 ++++-\n app/test/test_sched.c                    |  14 ++-\n app/test/test_security.c                 |  16 +++-\n app/test/test_table.c                    |  13 +++\n app/test/test_table_acl.c                |   3 +\n app/test/test_table_combined.c           |   4 +\n app/test/test_table_pipeline.c           |   4 +\n app/test/test_table_ports.c              |   4 +\n app/test/test_table_tables.c             |   4 +\n app/test/test_timer_secondary.c          |  13 +++\n app/test/test_trace.c                    |  32 ++++++-\n 71 files changed, 1038 insertions(+), 126 deletions(-)",
    "diff": "diff --git a/app/test/meson.build b/app/test/meson.build\nindex 97ee83029e..52eddab36d 100644\n--- a/app/test/meson.build\n+++ b/app/test/meson.build\n@@ -1,12 +1,6 @@\n # SPDX-License-Identifier: BSD-3-Clause\n # Copyright(c) 2017 Intel Corporation\n \n-if is_windows\n-    build = false\n-    reason = 'not supported on Windows'\n-    subdir_done()\n-endif\n-\n if not get_option('tests')\n     subdir_done()\n endif\n@@ -158,34 +152,17 @@ test_sources = files(\n )\n \n test_deps = [\n-        'acl',\n         'bus_pci',\n         'bus_vdev',\n-        'bpf',\n+        'bitratestats',\n         'cfgfile',\n         'cmdline',\n-        'cryptodev',\n-        'distributor',\n-        'dmadev',\n-        'efd',\n         'ethdev',\n-        'eventdev',\n-        'fib',\n-        'flow_classify',\n-        'graph',\n         'hash',\n-        'ipsec',\n-        'lpm',\n-        'member',\n-        'node',\n-        'pipeline',\n-        'port',\n-        'rawdev',\n+        'latencystats',\n+        'metrics',\n         'rcu',\n-        'reorder',\n-        'rib',\n         'ring',\n-        'security',\n         'stack',\n         'telemetry',\n         'timer',\n@@ -334,39 +311,69 @@ perf_test_names = [\n ]\n \n driver_test_names = [\n-        'cryptodev_aesni_mb_autotest',\n-        'cryptodev_aesni_gcm_autotest',\n-        'cryptodev_cn9k_autotest',\n-        'cryptodev_cn10k_autotest',\n-        'cryptodev_dpaa_sec_autotest',\n-        'cryptodev_dpaa2_sec_autotest',\n-        'cryptodev_null_autotest',\n-        'cryptodev_octeontx2_autotest',\n-        'cryptodev_openssl_autotest',\n-        'cryptodev_openssl_asym_autotest',\n-        'cryptodev_qat_autotest',\n-        'cryptodev_sw_armv8_autotest',\n-        'cryptodev_sw_kasumi_autotest',\n-        'cryptodev_sw_mvsam_autotest',\n-        'cryptodev_sw_snow3g_autotest',\n-        'cryptodev_sw_zuc_autotest',\n-        'dmadev_autotest',\n-        'eventdev_selftest_octeontx',\n-        'eventdev_selftest_sw',\n-        'rawdev_autotest',\n ]\n \n dump_test_names = [\n-        'dump_struct_sizes',\n-        'dump_mempool',\n-        'dump_malloc_stats',\n-        'dump_devargs',\n-        'dump_log_types',\n-        'dump_ring',\n-        'dump_physmem',\n-        'dump_memzone',\n ]\n \n+if not is_windows\n+    test_deps += [\n+            'acl',\n+            'bpf',\n+            'cryptodev',\n+            'distributor',\n+            'dmadev',\n+            'efd',\n+            'eventdev',\n+            'fib',\n+            'flow_classify',\n+            'graph',\n+            'ipsec',\n+            'lpm',\n+            'member',\n+            'node',\n+            'pipeline',\n+            'port',\n+            'rawdev',\n+            'reorder',\n+            'rib',\n+            'security',\n+    ]\n+\n+    driver_test_names += [\n+            'cryptodev_aesni_mb_autotest',\n+            'cryptodev_aesni_gcm_autotest',\n+            'cryptodev_cn9k_autotest',\n+            'cryptodev_cn10k_autotest',\n+            'cryptodev_dpaa_sec_autotest',\n+            'cryptodev_dpaa2_sec_autotest',\n+            'cryptodev_null_autotest',\n+            'cryptodev_octeontx2_autotest',\n+            'cryptodev_openssl_autotest',\n+            'cryptodev_openssl_asym_autotest',\n+            'cryptodev_qat_autotest',\n+            'cryptodev_sw_armv8_autotest',\n+            'cryptodev_sw_kasumi_autotest',\n+            'cryptodev_sw_mvsam_autotest',\n+            'cryptodev_sw_snow3g_autotest',\n+            'cryptodev_sw_zuc_autotest',\n+            'eventdev_selftest_octeontx',\n+            'eventdev_selftest_sw',\n+            'rawdev_autotest',\n+    ]\n+\n+    dump_test_names += [\n+            'dump_struct_sizes',\n+            'dump_mempool',\n+            'dump_malloc_stats',\n+            'dump_devargs',\n+            'dump_log_types',\n+            'dump_ring',\n+            'dump_physmem',\n+            'dump_memzone',\n+    ]\n+endif\n+\n # The following linkages are an exception to allow running the\n # unit tests without requiring that the developer install the\n # DPDK libraries.  Explicit linkage of drivers (plugin libraries)\n@@ -385,7 +392,7 @@ if dpdk_conf.has('RTE_LIB_METRICS')\n     test_sources += ['test_metrics.c']\n     fast_tests += [['metrics_autotest', true]]\n endif\n-if dpdk_conf.has('RTE_LIB_TELEMETRY')\n+if not is_windows and dpdk_conf.has('RTE_LIB_TELEMETRY')\n     test_sources += ['test_telemetry_json.c', 'test_telemetry_data.c']\n     fast_tests += [['telemetry_json_autotest', true], ['telemetry_data_autotest', true]]\n endif\ndiff --git a/app/test/test_acl.c b/app/test/test_acl.c\nindex 5b32347954..7814e25a53 100644\n--- a/app/test/test_acl.c\n+++ b/app/test/test_acl.c\n@@ -11,6 +11,16 @@\n #include <rte_mbuf.h>\n #include <rte_byteorder.h>\n #include <rte_ip.h>\n+\n+#ifdef RTE_EXEC_ENV_WINDOWS\n+static int\n+test_acl(void)\n+{\n+\tprintf(\"acl not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+#else\n #include <rte_acl.h>\n #include <rte_common.h>\n \n@@ -1741,4 +1751,6 @@ test_acl(void)\n \treturn 0;\n }\n \n+#endif /*ifdef RTE_EXEC_ENV_WINDOWS*/\n+\n REGISTER_TEST_COMMAND(acl_autotest, test_acl);\ndiff --git a/app/test/test_bpf.c b/app/test/test_bpf.c\nindex 46bcb51f86..055df252ba 100644\n--- a/app/test/test_bpf.c\n+++ b/app/test/test_bpf.c\n@@ -14,11 +14,22 @@\n #include <rte_random.h>\n #include <rte_byteorder.h>\n #include <rte_errno.h>\n+#include \"test.h\"\n+\n+#if !defined(RTE_LIB_BPF)\n+\n+static int\n+test_bpf(void)\n+{\n+\tprintf(\"BPF not supported, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+#else\n #include <rte_bpf.h>\n #include <rte_ether.h>\n #include <rte_ip.h>\n \n-#include \"test.h\"\n \n /*\n  * Basic functional tests for librte_bpf.\n@@ -3248,6 +3259,8 @@ test_bpf(void)\n \treturn rc;\n }\n \n+#endif\n+\n REGISTER_TEST_COMMAND(bpf_autotest, test_bpf);\n \n #ifdef RTE_HAS_LIBPCAP\ndiff --git a/app/test/test_cksum.c b/app/test/test_cksum.c\nindex cd983d7c01..3c5bfc8671 100644\n--- a/app/test/test_cksum.c\n+++ b/app/test/test_cksum.c\n@@ -13,6 +13,16 @@\n \n #include \"test.h\"\n \n+#ifdef RTE_EXEC_ENV_WINDOWS\n+static int\n+test_cksum(void)\n+{\n+\tprintf(\"cksum not supported, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+#else\n+\n #define MEMPOOL_CACHE_SIZE      0\n #define MBUF_DATA_SIZE          256\n #define NB_MBUF                 128\n@@ -268,4 +278,6 @@ test_cksum(void)\n }\n #undef GOTO_FAIL\n \n+#endif /*ifdef RTE_EXEC_ENV_WINDOWS*/\n+\n REGISTER_TEST_COMMAND(cksum_autotest, test_cksum);\ndiff --git a/app/test/test_cmdline_ipaddr.c b/app/test/test_cmdline_ipaddr.c\nindex 2a1ee120fc..ff039a304f 100644\n--- a/app/test/test_cmdline_ipaddr.c\n+++ b/app/test/test_cmdline_ipaddr.c\n@@ -2,9 +2,12 @@\n  * Copyright(c) 2010-2014 Intel Corporation\n  */\n \n+#ifndef RTE_EXEC_ENV_WINDOWS\n+\n #include <stdio.h>\n #include <string.h>\n #include <inttypes.h>\n+\n #include <netinet/in.h>\n #include <sys/socket.h>\n \n@@ -669,3 +672,5 @@ test_parse_ipaddr_invalid_param(void)\n \t}\n \treturn 0;\n }\n+\n+#endif /*ifndef RTE_EXEC_ENV_WINDOWS*/\ndiff --git a/app/test/test_cryptodev.c b/app/test/test_cryptodev.c\nindex 10b48cdadb..f83c844e42 100644\n--- a/app/test/test_cryptodev.c\n+++ b/app/test/test_cryptodev.c\n@@ -3,6 +3,8 @@\n  * Copyright 2020 NXP\n  */\n \n+#ifndef RTE_EXEC_ENV_WINDOWS\n+\n #include <time.h>\n \n #include <rte_common.h>\n@@ -15739,3 +15741,5 @@ REGISTER_TEST_COMMAND(cryptodev_nitrox_autotest, test_cryptodev_nitrox);\n REGISTER_TEST_COMMAND(cryptodev_bcmfs_autotest, test_cryptodev_bcmfs);\n REGISTER_TEST_COMMAND(cryptodev_cn9k_autotest, test_cryptodev_cn9k);\n REGISTER_TEST_COMMAND(cryptodev_cn10k_autotest, test_cryptodev_cn10k);\n+\n+#endif /*ifndef RTE_EXEC_ENV_WINDOWS*/\ndiff --git a/app/test/test_cryptodev_asym.c b/app/test/test_cryptodev_asym.c\nindex 9d19a6d6d9..680ced4dbe 100644\n--- a/app/test/test_cryptodev_asym.c\n+++ b/app/test/test_cryptodev_asym.c\n@@ -3,6 +3,8 @@\n  * Copyright (c) 2019 Intel Corporation\n  */\n \n+#ifndef RTE_EXEC_ENV_WINDOWS\n+\n #include <rte_bus_vdev.h>\n #include <rte_common.h>\n #include <rte_hexdump.h>\n@@ -2429,3 +2431,5 @@ REGISTER_TEST_COMMAND(cryptodev_octeontx2_asym_autotest,\n \t\t\t\t\t  test_cryptodev_octeontx2_asym);\n REGISTER_TEST_COMMAND(cryptodev_cn9k_asym_autotest, test_cryptodev_cn9k_asym);\n REGISTER_TEST_COMMAND(cryptodev_cn10k_asym_autotest, test_cryptodev_cn10k_asym);\n+\n+#endif /*ifndef RTE_EXEC_ENV_WINDOWS*/\ndiff --git a/app/test/test_cryptodev_blockcipher.c b/app/test/test_cryptodev_blockcipher.c\nindex 5688a45377..3860433ffd 100644\n--- a/app/test/test_cryptodev_blockcipher.c\n+++ b/app/test/test_cryptodev_blockcipher.c\n@@ -2,6 +2,8 @@\n  * Copyright(c) 2015-2017 Intel Corporation\n  */\n \n+#ifndef RTE_EXEC_ENV_WINDOWS\n+\n #include <rte_common.h>\n #include <rte_hexdump.h>\n #include <rte_mbuf.h>\n@@ -1221,3 +1223,5 @@ free_blockcipher_test_suite(struct unit_test_suite *ts)\n {\n \tfree(ts);\n }\n+\n+#endif /*ifndef RTE_EXEC_ENV_WINDOWS*/\ndiff --git a/app/test/test_cryptodev_security_ipsec.c b/app/test/test_cryptodev_security_ipsec.c\nindex 4708803bd2..a84afae7f5 100644\n--- a/app/test/test_cryptodev_security_ipsec.c\n+++ b/app/test/test_cryptodev_security_ipsec.c\n@@ -2,6 +2,8 @@\n  * Copyright(C) 2021 Marvell.\n  */\n \n+#ifndef RTE_EXEC_ENV_WINDOWS\n+\n #include <rte_common.h>\n #include <rte_cryptodev.h>\n #include <rte_esp.h>\n@@ -672,3 +674,5 @@ test_ipsec_status_check(struct rte_crypto_op *op,\n \n \treturn ret;\n }\n+\n+#endif /*ifndef RTE_EXEC_ENV_WINDOWS*/\ndiff --git a/app/test/test_cryptodev_security_pdcp.c b/app/test/test_cryptodev_security_pdcp.c\nindex a7641bab7a..3409add715 100644\n--- a/app/test/test_cryptodev_security_pdcp.c\n+++ b/app/test/test_cryptodev_security_pdcp.c\n@@ -4,6 +4,8 @@\n  * Copyright 2018-2019 NXP\n  */\n \n+#ifndef RTE_EXEC_ENV_WINDOWS\n+\n #include <time.h>\n \n #include <rte_common.h>\n@@ -587,3 +589,5 @@ test_PDCP_PROTO_uplane_decap_all(void)\n \n \treturn n - i;\n };\n+\n+#endif /*ifndef RTE_EXEC_ENV_WINDOWS*/\ndiff --git a/app/test/test_debug.c b/app/test/test_debug.c\nindex 23b24db177..c4038a4ed1 100644\n--- a/app/test/test_debug.c\n+++ b/app/test/test_debug.c\n@@ -2,8 +2,21 @@\n  * Copyright(c) 2010-2014 Intel Corporation\n  */\n \n+#include \"test.h\"\n+\n #include <stdio.h>\n #include <stdint.h>\n+\n+#ifdef RTE_EXEC_ENV_WINDOWS\n+static int\n+test_debug(void)\n+{\n+\tprintf(\"debug not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+#else\n+\n #include <sys/resource.h>\n #include <sys/time.h>\n #include <sys/wait.h>\n@@ -14,8 +27,6 @@\n #include <rte_eal.h>\n #include <rte_service_component.h>\n \n-#include \"test.h\"\n-\n /*\n  * Debug test\n  * ==========\n@@ -127,4 +138,6 @@ test_debug(void)\n \treturn 0;\n }\n \n+#endif /*ifdef RTE_EXEC_ENV_WINDOWS*/\n+\n REGISTER_TEST_COMMAND(debug_autotest, test_debug);\ndiff --git a/app/test/test_distributor.c b/app/test/test_distributor.c\nindex 961f326cd5..0ecd5ba232 100644\n--- a/app/test/test_distributor.c\n+++ b/app/test/test_distributor.c\n@@ -11,6 +11,17 @@\n #include <rte_mempool.h>\n #include <rte_mbuf.h>\n #include <rte_mbuf_dyn.h>\n+\n+#ifdef RTE_EXEC_ENV_WINDOWS\n+static int\n+test_distributor(void)\n+{\n+\tprintf(\"distributor not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+#else\n+\n #include <rte_distributor.h>\n #include <rte_string_fns.h>\n \n@@ -939,4 +950,6 @@ test_distributor(void)\n \treturn -1;\n }\n \n+#endif /*ifdef RTE_EXEC_ENV_WINDOWS*/\n+\n REGISTER_TEST_COMMAND(distributor_autotest, test_distributor);\ndiff --git a/app/test/test_distributor_perf.c b/app/test/test_distributor_perf.c\nindex 92e330f194..650a0317ef 100644\n--- a/app/test/test_distributor_perf.c\n+++ b/app/test/test_distributor_perf.c\n@@ -10,6 +10,17 @@\n #include <rte_cycles.h>\n #include <rte_common.h>\n #include <rte_mbuf.h>\n+\n+#ifdef RTE_EXEC_ENV_WINDOWS\n+static int\n+test_distributor_perf(void)\n+{\n+\tprintf(\"distributor perf not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+#else\n+\n #include <rte_distributor.h>\n #include <rte_pause.h>\n \n@@ -264,4 +275,6 @@ test_distributor_perf(void)\n \treturn 0;\n }\n \n+#endif /*ifdef RTE_EXEC_ENV_WINDOWS*/\n+\n REGISTER_TEST_COMMAND(distributor_perf_autotest, test_distributor_perf);\ndiff --git a/app/test/test_dmadev.c b/app/test/test_dmadev.c\nindex b206db27ae..c2ea9090cf 100644\n--- a/app/test/test_dmadev.c\n+++ b/app/test/test_dmadev.c\n@@ -2,6 +2,17 @@\n  * Copyright(c) 2021 HiSilicon Limited\n  * Copyright(c) 2021 Intel Corporation\n  */\n+#include \"test.h\"\n+\n+#ifdef RTE_EXEC_ENV_WINDOWS\n+static int\n+test_dma(void)\n+{\n+\tprintf(\"dma not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+#else\n \n #include <inttypes.h>\n \n@@ -13,7 +24,6 @@\n #include <rte_bus_vdev.h>\n #include <rte_dmadev_pmd.h>\n \n-#include \"test.h\"\n #include \"test_dmadev_api.h\"\n \n #define ERR_RETURN(...) do { print_err(__func__, __LINE__, __VA_ARGS__); return -1; } while (0)\n@@ -864,4 +874,6 @@ test_dma(void)\n \treturn 0;\n }\n \n+#endif /*ifdef RTE_EXEC_ENV_WINDOWS*/\n+\n REGISTER_TEST_COMMAND(dmadev_autotest, test_dma);\ndiff --git a/app/test/test_dmadev_api.c b/app/test/test_dmadev_api.c\nindex 4a181af90a..7b38f66dc0 100644\n--- a/app/test/test_dmadev_api.c\n+++ b/app/test/test_dmadev_api.c\n@@ -2,6 +2,8 @@\n  * Copyright(c) 2021 HiSilicon Limited\n  */\n \n+#ifndef RTE_EXEC_ENV_WINDOWS\n+\n #include <string.h>\n \n #include <rte_cycles.h>\n@@ -572,3 +574,5 @@ test_dma_api(uint16_t dev_id)\n \n \treturn 0;\n };\n+\n+#endif /*ifndef RTE_EXEC_ENV_WINDOWS*/\ndiff --git a/app/test/test_eal_flags.c b/app/test/test_eal_flags.c\nindex d7f4c2cd47..5e7e391881 100644\n--- a/app/test/test_eal_flags.c\n+++ b/app/test/test_eal_flags.c\n@@ -9,6 +9,94 @@\n \n #include <string.h>\n #include <stdarg.h>\n+\n+#ifdef RTE_EXEC_ENV_WINDOWS\n+static int\n+test_missing_c_flag(void)\n+{\n+\tprintf(\"emissing_c_flag not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+static int\n+test_main_lcore_flag(void)\n+{\n+\tprintf(\"main_lcore_flag not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+static int\n+test_invalid_n_flag(void)\n+{\n+\tprintf(\"invalid_n_flag not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+static int\n+test_no_hpet_flag(void)\n+{\n+\tprintf(\"no_hpet_flag not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+static int\n+test_no_huge_flag(void)\n+{\n+\tprintf(\"no_huge_flag not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+static int\n+test_allow_flag(void)\n+{\n+\tprintf(\"allow_flag not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+static int\n+test_invalid_b_flag(void)\n+{\n+\tprintf(\"invalid_b_flag not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+static int\n+test_invalid_vdev_flag(void)\n+{\n+\tprintf(\"invalid_vdev_flag not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+static int\n+test_invalid_r_flag(void)\n+{\n+\tprintf(\"invalid_r_flag not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+static int\n+test_memory_flags(void)\n+{\n+\tprintf(\"memory_flags not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+static int\n+test_file_prefix(void)\n+{\n+\tprintf(\"file_prefix not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+static int\n+test_misc_flags(void)\n+{\n+\tprintf(\"misc_flags not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+#else\n+\n #include <libgen.h>\n #include <stdlib.h>\n #include <errno.h>\n@@ -1498,6 +1586,8 @@ test_memory_flags(void)\n \treturn 0;\n }\n \n+#endif /*ifdef RTE_EXEC_ENV_WINDOWS*/\n+\n REGISTER_TEST_COMMAND(eal_flags_c_opt_autotest, test_missing_c_flag);\n REGISTER_TEST_COMMAND(eal_flags_main_opt_autotest, test_main_lcore_flag);\n REGISTER_TEST_COMMAND(eal_flags_n_opt_autotest, test_invalid_n_flag);\ndiff --git a/app/test/test_eal_fs.c b/app/test/test_eal_fs.c\nindex 39ac6961b3..5d24ae3d32 100644\n--- a/app/test/test_eal_fs.c\n+++ b/app/test/test_eal_fs.c\n@@ -10,6 +10,16 @@\n \n #include \"eal_filesystem.h\"\n \n+#ifdef RTE_EXEC_ENV_WINDOWS\n+static int\n+test_eal_fs(void)\n+{\n+\tprintf(\"eal_fs not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+#else\n+\n static int\n test_parse_sysfs_value(void)\n {\n@@ -173,4 +183,6 @@ test_eal_fs(void)\n \treturn 0;\n }\n \n+#endif /*ifdef RTE_EXEC_ENV_WINDOWS*/\n+\n REGISTER_TEST_COMMAND(eal_fs_autotest, test_eal_fs);\ndiff --git a/app/test/test_efd.c b/app/test/test_efd.c\nindex 1b249e0447..f8f356dcd9 100644\n--- a/app/test/test_efd.c\n+++ b/app/test/test_efd.c\n@@ -1,6 +1,17 @@\n /* SPDX-License-Identifier: BSD-3-Clause\n  * Copyright(c) 2016-2017 Intel Corporation\n  */\n+#include \"test.h\"\n+\n+#ifdef RTE_EXEC_ENV_WINDOWS\n+static int\n+test_efd(void)\n+{\n+\tprintf(\"efd not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+#else\n \n #include <rte_memcpy.h>\n #include <rte_malloc.h>\n@@ -10,8 +21,6 @@\n #include <rte_debug.h>\n #include <rte_ip.h>\n \n-#include \"test.h\"\n-\n #define EFD_TEST_KEY_LEN 8\n #define TABLE_SIZE (1 << 21)\n #define ITERATIONS 3\n@@ -462,4 +471,6 @@ test_efd(void)\n \treturn 0;\n }\n \n+#endif /*ifdef RTE_EXEC_ENV_WINDOWS*/\n+\n REGISTER_TEST_COMMAND(efd_autotest, test_efd);\ndiff --git a/app/test/test_efd_perf.c b/app/test/test_efd_perf.c\nindex f3fe3b1736..1bf6bcb0ca 100644\n--- a/app/test/test_efd_perf.c\n+++ b/app/test/test_efd_perf.c\n@@ -2,6 +2,18 @@\n  * Copyright(c) 2016-2017 Intel Corporation\n  */\n \n+#include \"test.h\"\n+\n+#ifdef RTE_EXEC_ENV_WINDOWS\n+static int\n+test_efd_perf(void)\n+{\n+\tprintf(\"efd_perf not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+#else\n+\n #include <stdio.h>\n #include <inttypes.h>\n \n@@ -13,8 +25,6 @@\n #include <rte_memcpy.h>\n #include <rte_thash.h>\n \n-#include \"test.h\"\n-\n #define NUM_KEYSIZES 10\n #define NUM_SHUFFLES 10\n #define MAX_KEYSIZE 64\n@@ -382,4 +392,6 @@ test_efd_perf(void)\n \treturn 0;\n }\n \n+#endif /*ifdef RTE_EXEC_ENV_WINDOWS*/\n+\n REGISTER_TEST_COMMAND(efd_perf_autotest, test_efd_perf);\ndiff --git a/app/test/test_event_crypto_adapter.c b/app/test/test_event_crypto_adapter.c\nindex 3d7e9fb93c..8f5fd78723 100644\n--- a/app/test/test_event_crypto_adapter.c\n+++ b/app/test/test_event_crypto_adapter.c\n@@ -3,16 +3,27 @@\n  * All rights reserved.\n  */\n \n+#include \"test.h\"\n #include <string.h>\n #include <rte_common.h>\n #include <rte_mempool.h>\n #include <rte_mbuf.h>\n+\n+#ifdef RTE_EXEC_ENV_WINDOWS\n+static int\n+test_event_crypto_adapter(void)\n+{\n+\tprintf(\"event_crypto_adapter not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+#else\n+\n #include <rte_cryptodev.h>\n #include <rte_eventdev.h>\n #include <rte_bus_vdev.h>\n #include <rte_service.h>\n #include <rte_event_crypto_adapter.h>\n-#include \"test.h\"\n \n #define PKT_TRACE                  0\n #define NUM                        1\n@@ -1011,5 +1022,7 @@ test_event_crypto_adapter(void)\n \treturn unit_test_suite_runner(&functional_testsuite);\n }\n \n+#endif /*ifdef RTE_EXEC_ENV_WINDOWS*/\n+\n REGISTER_TEST_COMMAND(event_crypto_adapter_autotest,\n \t\ttest_event_crypto_adapter);\ndiff --git a/app/test/test_event_eth_rx_adapter.c b/app/test/test_event_eth_rx_adapter.c\nindex 7cb91b152f..1df24fdce2 100644\n--- a/app/test/test_event_eth_rx_adapter.c\n+++ b/app/test/test_event_eth_rx_adapter.c\n@@ -1,18 +1,37 @@\n /* SPDX-License-Identifier: BSD-3-Clause\n  * Copyright(c) 2017 Intel Corporation\n  */\n+\n+#include \"test.h\"\n+\n #include <string.h>\n #include <rte_common.h>\n #include <rte_mempool.h>\n #include <rte_mbuf.h>\n #include <rte_ethdev.h>\n+\n+#ifdef RTE_EXEC_ENV_WINDOWS\n+static int\n+test_event_eth_rx_adapter_common(void)\n+{\n+\tprintf(\"event_eth_rx_adapter not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+static int\n+test_event_eth_rx_intr_adapter_common(void)\n+{\n+\tprintf(\"event_eth_rx_intr_adapter not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+#else\n+\n #include <rte_eventdev.h>\n #include <rte_bus_vdev.h>\n \n #include <rte_event_eth_rx_adapter.h>\n \n-#include \"test.h\"\n-\n #define MAX_NUM_RX_QUEUE\t64\n #define NB_MBUFS\t\t(8192 * num_ports * MAX_NUM_RX_QUEUE)\n #define MBUF_CACHE_SIZE\t\t512\n@@ -1027,6 +1046,8 @@ test_event_eth_rx_intr_adapter_common(void)\n \treturn unit_test_suite_runner(&event_eth_rx_intr_tests);\n }\n \n+#endif /*ifdef RTE_EXEC_ENV_WINDOWS*/\n+\n REGISTER_TEST_COMMAND(event_eth_rx_adapter_autotest,\n \t\ttest_event_eth_rx_adapter_common);\n REGISTER_TEST_COMMAND(event_eth_rx_intr_adapter_autotest,\ndiff --git a/app/test/test_event_eth_tx_adapter.c b/app/test/test_event_eth_tx_adapter.c\nindex cfcc784351..c1c9732dd4 100644\n--- a/app/test/test_event_eth_tx_adapter.c\n+++ b/app/test/test_event_eth_tx_adapter.c\n@@ -16,6 +16,16 @@\n \n #include \"test.h\"\n \n+#ifdef RTE_EXEC_ENV_WINDOWS\n+static int\n+test_event_eth_tx_adapter_common(void)\n+{\n+\tprintf(\"event_eth_tx_adapter not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+#else\n+\n #define MAX_NUM_QUEUE\t\tRTE_PMD_RING_MAX_RX_RINGS\n #define TEST_INST_ID\t\t0\n #define TEST_DEV_ID\t\t0\n@@ -696,5 +706,7 @@ test_event_eth_tx_adapter_common(void)\n \treturn unit_test_suite_runner(&event_eth_tx_tests);\n }\n \n+#endif /*ifdef RTE_EXEC_ENV_WINDOWS*/\n+\n REGISTER_TEST_COMMAND(event_eth_tx_adapter_autotest,\n \t\ttest_event_eth_tx_adapter_common);\ndiff --git a/app/test/test_event_ring.c b/app/test/test_event_ring.c\nindex 70eb9845e1..9c5e28fb81 100644\n--- a/app/test/test_event_ring.c\n+++ b/app/test/test_event_ring.c\n@@ -2,11 +2,21 @@\n  * Copyright(c) 2010-2017 Intel Corporation\n  */\n \n+#include \"test.h\"\n+\n #include <string.h>\n \n-#include <rte_event_ring.h>\n+#ifdef RTE_EXEC_ENV_WINDOWS\n+static int\n+test_event_ring(void)\n+{\n+\tprintf(\"event_ring not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n \n-#include \"test.h\"\n+#else\n+\n+#include <rte_event_ring.h>\n \n /*\n  * Event Ring\n@@ -244,4 +254,6 @@ test_event_ring(void)\n \treturn 0;\n }\n \n+#endif /*ifdef RTE_EXEC_ENV_WINDOWS*/\n+\n REGISTER_TEST_COMMAND(event_ring_autotest, test_event_ring);\ndiff --git a/app/test/test_event_timer_adapter.c b/app/test/test_event_timer_adapter.c\nindex 25bac2d155..6f7145ef76 100644\n--- a/app/test/test_event_timer_adapter.c\n+++ b/app/test/test_event_timer_adapter.c\n@@ -2,6 +2,7 @@\n  * Copyright(c) 2017 Cavium, Inc\n  * Copyright(c) 2017-2018 Intel Corporation.\n  */\n+#include \"test.h\"\n \n #include <math.h>\n \n@@ -10,6 +11,17 @@\n #include <rte_debug.h>\n #include <rte_eal.h>\n #include <rte_ethdev.h>\n+\n+#ifdef RTE_EXEC_ENV_WINDOWS\n+static int\n+test_event_timer_adapter_func(void)\n+{\n+\tprintf(\"event_timer_adapter not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+#else\n+\n #include <rte_eventdev.h>\n #include <rte_event_timer_adapter.h>\n #include <rte_mempool.h>\n@@ -21,8 +33,6 @@\n #include <rte_service.h>\n #include <stdbool.h>\n \n-#include \"test.h\"\n-\n /* 4K timers corresponds to sw evdev max inflight events */\n #define MAX_TIMERS  (4 * 1024)\n #define BKT_TCK_NSEC\n@@ -1950,4 +1960,6 @@ test_event_timer_adapter_func(void)\n \treturn unit_test_suite_runner(&event_timer_adptr_functional_testsuite);\n }\n \n+#endif /*ifdef RTE_EXEC_ENV_WINDOWS*/\n+\n REGISTER_TEST_COMMAND(event_timer_adapter_test, test_event_timer_adapter_func);\ndiff --git a/app/test/test_eventdev.c b/app/test/test_eventdev.c\nindex 843d9766b0..fee2ecaa22 100644\n--- a/app/test/test_eventdev.c\n+++ b/app/test/test_eventdev.c\n@@ -1,18 +1,28 @@\n /* SPDX-License-Identifier: BSD-3-Clause\n  * Copyright(c) 2016 Cavium, Inc\n  */\n+#include \"test.h\"\n \n #include <rte_common.h>\n #include <rte_hexdump.h>\n #include <rte_mbuf.h>\n #include <rte_malloc.h>\n #include <rte_memcpy.h>\n+\n+#ifdef RTE_EXEC_ENV_WINDOWS\n+static int\n+test_eventdev_common(void)\n+{\n+\tprintf(\"eventdev_common not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+#else\n+\n #include <rte_eventdev.h>\n #include <rte_dev.h>\n #include <rte_bus_vdev.h>\n \n-#include \"test.h\"\n-\n #define TEST_DEV_ID   0\n \n static int\n@@ -1048,7 +1058,11 @@ test_eventdev_selftest_cn10k(void)\n \treturn test_eventdev_selftest_impl(\"event_cn10k\", \"\");\n }\n \n+#endif /*ifdef RTE_EXEC_ENV_WINDOWS*/\n+\n REGISTER_TEST_COMMAND(eventdev_common_autotest, test_eventdev_common);\n+\n+#ifndef RTE_EXEC_ENV_WINDOWS\n REGISTER_TEST_COMMAND(eventdev_selftest_sw, test_eventdev_selftest_sw);\n REGISTER_TEST_COMMAND(eventdev_selftest_octeontx,\n \t\ttest_eventdev_selftest_octeontx);\n@@ -1058,3 +1072,5 @@ REGISTER_TEST_COMMAND(eventdev_selftest_dpaa2, test_eventdev_selftest_dpaa2);\n REGISTER_TEST_COMMAND(eventdev_selftest_dlb2, test_eventdev_selftest_dlb2);\n REGISTER_TEST_COMMAND(eventdev_selftest_cn9k, test_eventdev_selftest_cn9k);\n REGISTER_TEST_COMMAND(eventdev_selftest_cn10k, test_eventdev_selftest_cn10k);\n+\n+#endif /*ifndef RTE_EXEC_ENV_WINDOWS*/\ndiff --git a/app/test/test_external_mem.c b/app/test/test_external_mem.c\nindex 5edf88b9f6..759f4fce6b 100644\n--- a/app/test/test_external_mem.c\n+++ b/app/test/test_external_mem.c\n@@ -2,11 +2,25 @@\n  * Copyright(c) 2018 Intel Corporation\n  */\n \n+#include \"test.h\"\n+\n #include <errno.h>\n #include <stdio.h>\n #include <stdlib.h>\n #include <string.h>\n #include <fcntl.h>\n+\n+\n+#ifdef RTE_EXEC_ENV_WINDOWS\n+static int\n+test_external_mem(void)\n+{\n+\tprintf(\"external_mem not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+#else\n+\n #include <sys/mman.h>\n #include <sys/wait.h>\n \n@@ -19,8 +33,6 @@\n #include <rte_ring.h>\n #include <rte_string_fns.h>\n \n-#include \"test.h\"\n-\n #define EXTERNAL_MEM_SZ (RTE_PGSIZE_4K << 10) /* 4M of data */\n \n static int\n@@ -574,4 +586,6 @@ test_external_mem(void)\n \treturn ret;\n }\n \n+#endif /*ifdef RTE_EXEC_ENV_WINDOWS*/\n+\n REGISTER_TEST_COMMAND(external_mem_autotest, test_external_mem);\ndiff --git a/app/test/test_fib.c b/app/test/test_fib.c\nindex eb69d6e2fd..50b3fa760c 100644\n--- a/app/test/test_fib.c\n+++ b/app/test/test_fib.c\n@@ -9,10 +9,28 @@\n \n #include <rte_ip.h>\n #include <rte_log.h>\n-#include <rte_fib.h>\n \n #include \"test.h\"\n \n+#ifdef RTE_EXEC_ENV_WINDOWS\n+static int\n+test_fib(void)\n+{\n+\tprintf(\"fib not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+static int\n+test_slow_fib(void)\n+{\n+\tprintf(\"slow_fib not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+#else\n+\n+#include <rte_fib.h>\n+\n typedef int32_t (*rte_fib_test)(void);\n \n static int32_t test_create_invalid(void);\n@@ -415,5 +433,7 @@ test_slow_fib(void)\n \treturn unit_test_suite_runner(&fib_slow_tests);\n }\n \n+#endif /*ifdef RTE_EXEC_ENV_WINDOWS*/\n+\n REGISTER_TEST_COMMAND(fib_autotest, test_fib);\n REGISTER_TEST_COMMAND(fib_slow_autotest, test_slow_fib);\ndiff --git a/app/test/test_fib6.c b/app/test/test_fib6.c\nindex 15ad09178a..53cca26ff1 100644\n--- a/app/test/test_fib6.c\n+++ b/app/test/test_fib6.c\n@@ -9,11 +9,29 @@\n \n #include <rte_memory.h>\n #include <rte_log.h>\n-#include <rte_rib6.h>\n-#include <rte_fib6.h>\n \n #include \"test.h\"\n \n+#ifdef RTE_EXEC_ENV_WINDOWS\n+static int\n+test_fib6(void)\n+{\n+\tprintf(\"fib not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+static int\n+test_slow_fib6(void)\n+{\n+\tprintf(\"slow_fib not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+#else\n+\n+#include <rte_rib6.h>\n+#include <rte_fib6.h>\n+\n typedef int32_t (*rte_fib6_test)(void);\n \n static int32_t test_create_invalid(void);\n@@ -424,5 +442,7 @@ test_slow_fib6(void)\n \treturn unit_test_suite_runner(&fib6_slow_tests);\n }\n \n+#endif /*ifdef RTE_EXEC_ENV_WINDOWS*/\n+\n REGISTER_TEST_COMMAND(fib6_autotest, test_fib6);\n REGISTER_TEST_COMMAND(fib6_slow_autotest, test_slow_fib6);\ndiff --git a/app/test/test_fib6_perf.c b/app/test/test_fib6_perf.c\nindex e565799155..21d2b65318 100644\n--- a/app/test/test_fib6_perf.c\n+++ b/app/test/test_fib6_perf.c\n@@ -10,9 +10,21 @@\n #include <rte_cycles.h>\n #include <rte_random.h>\n #include <rte_memory.h>\n-#include <rte_fib6.h>\n \n #include \"test.h\"\n+\n+#ifdef RTE_EXEC_ENV_WINDOWS\n+static int\n+test_fib6_perf(void)\n+{\n+\tprintf(\"fib6_perf not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+#else\n+\n+#include <rte_fib6.h>\n+\n #include \"test_lpm6_data.h\"\n \n #define TEST_FIB_ASSERT(cond) do {\t\t\t\t\\\n@@ -155,4 +167,6 @@ test_fib6_perf(void)\n \treturn 0;\n }\n \n+#endif /*ifdef RTE_EXEC_ENV_WINDOWS*/\n+\n REGISTER_TEST_COMMAND(fib6_perf_autotest, test_fib6_perf);\ndiff --git a/app/test/test_fib_perf.c b/app/test/test_fib_perf.c\nindex 86b2f832b8..ec7f20e102 100644\n--- a/app/test/test_fib_perf.c\n+++ b/app/test/test_fib_perf.c\n@@ -12,11 +12,22 @@\n #include <rte_random.h>\n #include <rte_branch_prediction.h>\n #include <rte_ip.h>\n-#include <rte_fib.h>\n \n #include \"test.h\"\n #include \"test_xmmt_ops.h\"\n \n+#ifdef RTE_EXEC_ENV_WINDOWS\n+static int\n+test_fib_perf(void)\n+{\n+\tprintf(\"fib_perf not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+#else\n+\n+#include <rte_fib.h>\n+\n #define TEST_FIB_ASSERT(cond) do {\t\t\t\t\\\n \tif (!(cond)) {\t\t\t\t\t\t\\\n \t\tprintf(\"Error at line %d:\\n\", __LINE__);\t\\\n@@ -409,4 +420,6 @@ test_fib_perf(void)\n \treturn 0;\n }\n \n+#endif /*ifdef RTE_EXEC_ENV_WINDOWS*/\n+\n REGISTER_TEST_COMMAND(fib_perf_autotest, test_fib_perf);\ndiff --git a/app/test/test_flow_classify.c b/app/test/test_flow_classify.c\nindex 4f64be5357..d9893766d1 100644\n--- a/app/test/test_flow_classify.c\n+++ b/app/test/test_flow_classify.c\n@@ -11,6 +11,17 @@\n #include <rte_mbuf.h>\n #include <rte_byteorder.h>\n #include <rte_ip.h>\n+\n+#ifdef RTE_EXEC_ENV_WINDOWS\n+static int\n+test_flow_classify(void)\n+{\n+\tprintf(\"flow_classify not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+#else\n+\n #include <rte_acl.h>\n #include <rte_common.h>\n #include <rte_table_acl.h>\n@@ -879,4 +890,6 @@ test_flow_classify(void)\n \treturn TEST_SUCCESS;\n }\n \n+#endif /*ifdef RTE_EXEC_ENV_WINDOWS*/\n+\n REGISTER_TEST_COMMAND(flow_classify_autotest, test_flow_classify);\ndiff --git a/app/test/test_func_reentrancy.c b/app/test/test_func_reentrancy.c\nindex ce40c3ce96..2924308dda 100644\n--- a/app/test/test_func_reentrancy.c\n+++ b/app/test/test_func_reentrancy.c\n@@ -40,6 +40,16 @@\n \n #include \"test.h\"\n \n+#ifdef RTE_EXEC_ENV_WINDOWS\n+static int\n+test_func_reentrancy(void)\n+{\n+\tprintf(\"reentrancy not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+#else\n+\n typedef int (*case_func_t)(void* arg);\n typedef void (*case_clean_t)(unsigned lcore_id);\n \n@@ -511,4 +521,6 @@ test_func_reentrancy(void)\n \treturn 0;\n }\n \n+#endif /*ifdef RTE_EXEC_ENV_WINDOWS*/\n+\n REGISTER_TEST_COMMAND(func_reentrancy_autotest, test_func_reentrancy);\ndiff --git a/app/test/test_graph.c b/app/test/test_graph.c\nindex 81bdcb9bea..ce4cdecd34 100644\n--- a/app/test/test_graph.c\n+++ b/app/test/test_graph.c\n@@ -1,6 +1,8 @@\n /* SPDX-License-Identifier: BSD-3-Clause\n  * Copyright(C) 2020 Marvell International Ltd.\n  */\n+#include \"test.h\"\n+\n #include <assert.h>\n #include <inttypes.h>\n #include <signal.h>\n@@ -9,14 +11,23 @@\n #include <unistd.h>\n \n #include <rte_errno.h>\n+\n+#ifdef RTE_EXEC_ENV_WINDOWS\n+static int\n+test_node_list_dump(void)\n+{\n+\tprintf(\"node_list_dump not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+#else\n+\n #include <rte_graph.h>\n #include <rte_graph_worker.h>\n #include <rte_mbuf.h>\n #include <rte_mbuf_dyn.h>\n #include <rte_random.h>\n \n-#include \"test.h\"\n-\n static uint16_t test_node_worker_source(struct rte_graph *graph,\n \t\t\t\t\tstruct rte_node *node, void **objs,\n \t\t\t\t\tuint16_t nb_objs);\n@@ -841,4 +852,7 @@ test_node_list_dump(void)\n \n \treturn TEST_SUCCESS;\n }\n+\n+#endif /*ifdef RTE_EXEC_ENV_WINDOWS*/\n+\n REGISTER_TEST_COMMAND(node_list_dump, test_node_list_dump);\ndiff --git a/app/test/test_graph_perf.c b/app/test/test_graph_perf.c\nindex 296d99a9d3..a58cde1f22 100644\n--- a/app/test/test_graph_perf.c\n+++ b/app/test/test_graph_perf.c\n@@ -1,6 +1,8 @@\n /* SPDX-License-Identifier: BSD-3-Clause\n  * Copyright(C) 2020 Marvell International Ltd.\n  */\n+#include \"test.h\"\n+\n #include <inttypes.h>\n #include <signal.h>\n #include <stdio.h>\n@@ -9,14 +11,22 @@\n #include <rte_common.h>\n #include <rte_cycles.h>\n #include <rte_errno.h>\n+#ifdef RTE_EXEC_ENV_WINDOWS\n+static int\n+test_graph_perf_func(void)\n+{\n+\tprintf(\"graph_perf not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+#else\n+\n #include <rte_graph.h>\n #include <rte_graph_worker.h>\n #include <rte_lcore.h>\n #include <rte_malloc.h>\n #include <rte_mbuf.h>\n \n-#include \"test.h\"\n-\n #define TEST_GRAPH_PERF_MZ\t     \"graph_perf_data\"\n #define TEST_GRAPH_SRC_NAME\t     \"test_graph_perf_source\"\n #define TEST_GRAPH_SRC_BRST_ONE_NAME \"test_graph_perf_source_one\"\n@@ -1060,4 +1070,6 @@ test_graph_perf_func(void)\n \treturn unit_test_suite_runner(&graph_perf_testsuite);\n }\n \n+#endif /*ifdef RTE_EXEC_ENV_WINDOWS*/\n+\n REGISTER_TEST_COMMAND(graph_perf_autotest, test_graph_perf_func);\ndiff --git a/app/test/test_hash_perf.c b/app/test/test_hash_perf.c\nindex 76cdac5d53..4229f85aa7 100644\n--- a/app/test/test_hash_perf.c\n+++ b/app/test/test_hash_perf.c\n@@ -17,6 +17,16 @@\n \n #include \"test.h\"\n \n+#ifdef RTE_EXEC_ENV_WINDOWS\n+static int\n+test_hash_perf(void)\n+{\n+\tprintf(\"hash_perf not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+#else\n+\n #define MAX_ENTRIES (1 << 19)\n #define KEYS_TO_ADD (MAX_ENTRIES)\n #define ADD_PERCENT 0.75 /* 75% table utilization */\n@@ -749,4 +759,6 @@ test_hash_perf(void)\n \treturn 0;\n }\n \n+#endif /*ifdef RTE_EXEC_ENV_WINDOWS*/\n+\n REGISTER_TEST_COMMAND(hash_perf_autotest, test_hash_perf);\ndiff --git a/app/test/test_ipfrag.c b/app/test/test_ipfrag.c\nindex 1ced25a123..52987b6de7 100644\n--- a/app/test/test_ipfrag.c\n+++ b/app/test/test_ipfrag.c\n@@ -1,6 +1,7 @@\n /* SPDX-License-Identifier: BSD-3-Clause\n  * Copyright(c) 2020 Red Hat, Inc.\n  */\n+#include \"test.h\"\n \n #include <time.h>\n \n@@ -8,13 +9,22 @@\n #include <rte_cycles.h>\n #include <rte_hexdump.h>\n #include <rte_ip.h>\n+\n+#ifdef RTE_EXEC_ENV_WINDOWS\n+static int\n+test_ipfrag(void)\n+{\n+\tprintf(\"ipfrag not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+#else\n+\n #include <rte_ip_frag.h>\n #include <rte_mbuf.h>\n #include <rte_memcpy.h>\n #include <rte_random.h>\n \n-#include \"test.h\"\n-\n #define NUM_MBUFS 128\n #define BURST 32\n \n@@ -322,4 +332,6 @@ test_ipfrag(void)\n \treturn unit_test_suite_runner(&ipfrag_testsuite);\n }\n \n+#endif /*ifdef RTE_EXEC_ENV_WINDOWS*/\n+\n REGISTER_TEST_COMMAND(ipfrag_autotest, test_ipfrag);\ndiff --git a/app/test/test_ipsec.c b/app/test/test_ipsec.c\nindex bc2a3dbc2e..ed4d166f0d 100644\n--- a/app/test/test_ipsec.c\n+++ b/app/test/test_ipsec.c\n@@ -1,6 +1,7 @@\n /* SPDX-License-Identifier: BSD-3-Clause\n  * Copyright(c) 2018 Intel Corporation\n  */\n+#include \"test.h\"\n \n #include <time.h>\n \n@@ -13,15 +14,25 @@\n #include <rte_bus_vdev.h>\n #include <rte_ip.h>\n \n+#ifdef RTE_EXEC_ENV_WINDOWS\n+static int\n+test_ipsec(void)\n+{\n+\tprintf(\"ipsec not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+#else\n+\n #include <rte_crypto.h>\n #include <rte_cryptodev.h>\n #include <rte_lcore.h>\n+\n #include <rte_ipsec.h>\n #include <rte_random.h>\n #include <rte_esp.h>\n #include <rte_security_driver.h>\n \n-#include \"test.h\"\n #include \"test_cryptodev.h\"\n \n #define VDEV_ARGS_SIZE\t100\n@@ -2536,4 +2547,6 @@ test_ipsec(void)\n \treturn unit_test_suite_runner(&ipsec_testsuite);\n }\n \n+#endif /*ifdef RTE_EXEC_ENV_WINDOWS*/\n+\n REGISTER_TEST_COMMAND(ipsec_autotest, test_ipsec);\ndiff --git a/app/test/test_ipsec_perf.c b/app/test/test_ipsec_perf.c\nindex 92106bf374..5ebb61ce18 100644\n--- a/app/test/test_ipsec_perf.c\n+++ b/app/test/test_ipsec_perf.c\n@@ -1,6 +1,7 @@\n /* SPDX-License-Identifier: BSD-3-Clause\n  * Copyright(c) 2020 Intel Corporation\n  */\n+#include \"test.h\"\n \n #include <stdio.h>\n #include <rte_ip.h>\n@@ -8,10 +9,20 @@\n #include <rte_ring.h>\n #include <rte_mbuf.h>\n #include <rte_cycles.h>\n+\n+#ifdef RTE_EXEC_ENV_WINDOWS\n+static int\n+test_libipsec_perf(void)\n+{\n+\tprintf(\"ipsec_perf not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+#else\n+\n #include <rte_ipsec.h>\n #include <rte_random.h>\n \n-#include \"test.h\"\n #include \"test_cryptodev.h\"\n \n #define RING_SIZE\t4096\n@@ -611,4 +622,6 @@ test_libipsec_perf(void)\n \treturn TEST_SUCCESS;\n }\n \n+#endif /*ifdef RTE_EXEC_ENV_WINDOWS*/\n+\n REGISTER_TEST_COMMAND(ipsec_perf_autotest, test_libipsec_perf);\ndiff --git a/app/test/test_ipsec_sad.c b/app/test/test_ipsec_sad.c\nindex 491164689e..07f3ed245b 100644\n--- a/app/test/test_ipsec_sad.c\n+++ b/app/test/test_ipsec_sad.c\n@@ -1,16 +1,26 @@\n /* SPDX-License-Identifier: BSD-3-Clause\n  * Copyright(c) 2010-2014 Intel Corporation\n  */\n+#include \"test.h\"\n \n #include <stdio.h>\n #include <stdint.h>\n #include <stdlib.h>\n #include <string.h>\n \n+#ifdef RTE_EXEC_ENV_WINDOWS\n+static int\n+test_ipsec_sad(void)\n+{\n+\tprintf(\"ipsec_sad not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+#else\n+\n #include <rte_ipsec_sad.h>\n #include <rte_memory.h>\n \n-#include \"test.h\"\n #include \"test_xmmt_ops.h\"\n \n typedef int32_t (*rte_ipsec_sad_test)(void);\n@@ -884,4 +894,6 @@ test_ipsec_sad(void)\n \treturn unit_test_suite_runner(&ipsec_sad_tests);\n }\n \n+#endif /*ifdef RTE_EXEC_ENV_WINDOWS*/\n+\n REGISTER_TEST_COMMAND(ipsec_sad_autotest, test_ipsec_sad);\ndiff --git a/app/test/test_kni.c b/app/test/test_kni.c\nindex 40ab0d5c4c..8f4e92f6ca 100644\n--- a/app/test/test_kni.c\n+++ b/app/test/test_kni.c\n@@ -2,15 +2,12 @@\n  * Copyright(c) 2010-2014 Intel Corporation\n  */\n \n+#include \"test.h\"\n+\n #include <stdio.h>\n #include <stdint.h>\n #include <unistd.h>\n #include <string.h>\n-#include <sys/wait.h>\n-#include <dirent.h>\n-\n-#include \"test.h\"\n-\n #if !defined(RTE_EXEC_ENV_LINUX) || !defined(RTE_LIB_KNI)\n \n static int\n@@ -22,6 +19,9 @@ test_kni(void)\n \n #else\n \n+#include <sys/wait.h>\n+#include <dirent.h>\n+\n #include <rte_string_fns.h>\n #include <rte_mempool.h>\n #include <rte_ethdev.h>\ndiff --git a/app/test/test_lcores.c b/app/test/test_lcores.c\nindex 35c47d5372..2277ae597f 100644\n--- a/app/test/test_lcores.c\n+++ b/app/test/test_lcores.c\n@@ -11,6 +11,16 @@\n \n #include \"test.h\"\n \n+#ifdef RTE_EXEC_ENV_WINDOWS\n+static int\n+test_lcores(void)\n+{\n+\tprintf(\"lcore not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+#else\n+\n struct thread_context {\n \tenum { INIT, ERROR, DONE } state;\n \tbool lcore_id_any;\n@@ -411,4 +421,6 @@ test_lcores(void)\n \treturn TEST_SUCCESS;\n }\n \n+#endif /*ifdef RTE_EXEC_ENV_WINDOWS*/\n+\n REGISTER_TEST_COMMAND(lcores_autotest, test_lcores);\ndiff --git a/app/test/test_lpm.c b/app/test/test_lpm.c\nindex 37b460af3a..55ae46207a 100644\n--- a/app/test/test_lpm.c\n+++ b/app/test/test_lpm.c\n@@ -1,6 +1,17 @@\n /* SPDX-License-Identifier: BSD-3-Clause\n  * Copyright(c) 2010-2014 Intel Corporation\n  */\n+#include \"test.h\"\n+\n+#ifdef RTE_EXEC_ENV_WINDOWS\n+static int\n+test_lpm(void)\n+{\n+\tprintf(\"lpm not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+#else\n \n #include <stdio.h>\n #include <stdint.h>\n@@ -10,7 +21,6 @@\n #include <rte_lpm.h>\n #include <rte_malloc.h>\n \n-#include \"test.h\"\n #include \"test_xmmt_ops.h\"\n \n #define TEST_LPM_ASSERT(cond) do {                                            \\\n@@ -1584,4 +1594,6 @@ test_lpm(void)\n \treturn global_status;\n }\n \n+#endif /*ifdef RTE_EXEC_ENV_WINDOWS*/\n+\n REGISTER_TEST_COMMAND(lpm_autotest, test_lpm);\ndiff --git a/app/test/test_lpm6.c b/app/test/test_lpm6.c\nindex 17221f992a..a4d8eda62d 100644\n--- a/app/test/test_lpm6.c\n+++ b/app/test/test_lpm6.c\n@@ -1,6 +1,7 @@\n /* SPDX-License-Identifier: BSD-3-Clause\n  * Copyright(c) 2010-2014 Intel Corporation\n  */\n+#include \"test.h\"\n \n #include <stdio.h>\n #include <stdint.h>\n@@ -8,9 +9,18 @@\n #include <string.h>\n \n #include <rte_memory.h>\n+#ifdef RTE_EXEC_ENV_WINDOWS\n+static int\n+test_lpm6(void)\n+{\n+\tprintf(\"lpm6 not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+#else\n+\n #include <rte_lpm6.h>\n \n-#include \"test.h\"\n #include \"test_lpm6_data.h\"\n \n #define TEST_LPM_ASSERT(cond) do {                                            \\\n@@ -1792,4 +1802,6 @@ test_lpm6(void)\n \treturn global_status;\n }\n \n+#endif /*ifdef RTE_EXEC_ENV_WINDOWS*/\n+\n REGISTER_TEST_COMMAND(lpm6_autotest, test_lpm6);\ndiff --git a/app/test/test_lpm6_perf.c b/app/test/test_lpm6_perf.c\nindex 0b43ad824a..622418ddfe 100644\n--- a/app/test/test_lpm6_perf.c\n+++ b/app/test/test_lpm6_perf.c\n@@ -1,6 +1,17 @@\n /* SPDX-License-Identifier: BSD-3-Clause\n  * Copyright(c) 2010-2014 Intel Corporation\n  */\n+#include \"test.h\"\n+\n+#ifdef RTE_EXEC_ENV_WINDOWS\n+static int\n+test_lpm6_perf(void)\n+{\n+\tprintf(\"lpm6_perf not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+#else\n \n #include <stdio.h>\n #include <stdint.h>\n@@ -12,7 +23,6 @@\n #include <rte_memory.h>\n #include <rte_lpm6.h>\n \n-#include \"test.h\"\n #include \"test_lpm6_data.h\"\n \n #define TEST_LPM_ASSERT(cond) do {                                            \\\n@@ -160,4 +170,6 @@ test_lpm6_perf(void)\n \treturn 0;\n }\n \n+#endif /*ifdef RTE_EXEC_ENV_WINDOWS*/\n+\n REGISTER_TEST_COMMAND(lpm6_perf_autotest, test_lpm6_perf);\ndiff --git a/app/test/test_lpm_perf.c b/app/test/test_lpm_perf.c\nindex 2bed00d064..d49bce5d36 100644\n--- a/app/test/test_lpm_perf.c\n+++ b/app/test/test_lpm_perf.c\n@@ -2,7 +2,17 @@\n  * Copyright(c) 2010-2014 Intel Corporation\n  * Copyright(c) 2020 Arm Limited\n  */\n+#include \"test.h\"\n+\n+#ifdef RTE_EXEC_ENV_WINDOWS\n+static int\n+test_lpm_perf(void)\n+{\n+\tprintf(\"lpm_perf not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n \n+#else\n #include <stdio.h>\n #include <stdint.h>\n #include <stdlib.h>\n@@ -15,7 +25,6 @@\n #include <rte_ip.h>\n #include <rte_lpm.h>\n \n-#include \"test.h\"\n #include \"test_xmmt_ops.h\"\n \n struct rte_lpm *lpm;\n@@ -763,4 +772,6 @@ test_lpm_perf(void)\n \treturn 0;\n }\n \n+#endif /*ifdef RTE_EXEC_ENV_WINDOWS*/\n+\n REGISTER_TEST_COMMAND(lpm_perf_autotest, test_lpm_perf);\ndiff --git a/app/test/test_malloc.c b/app/test/test_malloc.c\nindex 6d9249f831..c5224bdafe 100644\n--- a/app/test/test_malloc.c\n+++ b/app/test/test_malloc.c\n@@ -1,6 +1,7 @@\n /* SPDX-License-Identifier: BSD-3-Clause\n  * Copyright(c) 2010-2019 Intel Corporation\n  */\n+#include \"test.h\"\n \n #include <stdio.h>\n #include <stdint.h>\n@@ -8,6 +9,17 @@\n #include <stdarg.h>\n #include <errno.h>\n #include <stdlib.h>\n+\n+#ifdef RTE_EXEC_ENV_WINDOWS\n+static int\n+test_malloc(void)\n+{\n+\tprintf(\"malloc not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+#else\n+\n #include <sys/mman.h>\n #include <sys/queue.h>\n #include <unistd.h>\n@@ -23,11 +35,8 @@\n #include <rte_random.h>\n #include <rte_string_fns.h>\n \n-#include \"test.h\"\n-\n #define N 10000\n \n-\n static int\n is_mem_on_socket(int32_t socket);\n \n@@ -1080,4 +1089,6 @@ test_malloc(void)\n \treturn 0;\n }\n \n+#endif /*ifdef RTE_EXEC_ENV_WINDOWS*/\n+\n REGISTER_TEST_COMMAND(malloc_autotest, test_malloc);\ndiff --git a/app/test/test_mbuf.c b/app/test/test_mbuf.c\nindex f54d1d7c00..1bc19bc71c 100644\n--- a/app/test/test_mbuf.c\n+++ b/app/test/test_mbuf.c\n@@ -1,6 +1,7 @@\n /* SPDX-License-Identifier: BSD-3-Clause\n  * Copyright(c) 2010-2014 Intel Corporation\n  */\n+#include \"test.h\"\n \n #include <string.h>\n #include <stdarg.h>\n@@ -33,7 +34,15 @@\n #include <rte_tcp.h>\n #include <rte_mbuf_dyn.h>\n \n-#include \"test.h\"\n+#ifdef RTE_EXEC_ENV_WINDOWS\n+static int\n+test_mbuf(void)\n+{\n+\tprintf(\"mbuf not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+#else\n \n #define MEMPOOL_CACHE_SIZE      32\n #define MBUF_DATA_SIZE          2048\n@@ -2981,4 +2990,6 @@ test_mbuf(void)\n }\n #undef GOTO_FAIL\n \n+#endif /*ifdef RTE_EXEC_ENV_WINDOWS*/\n+\n REGISTER_TEST_COMMAND(mbuf_autotest, test_mbuf);\ndiff --git a/app/test/test_member.c b/app/test/test_member.c\nindex 40aa4c8627..85f3a126b9 100644\n--- a/app/test/test_member.c\n+++ b/app/test/test_member.c\n@@ -3,17 +3,27 @@\n  */\n \n /* This test is for membership library's simple feature test */\n+#include \"test.h\"\n \n #include <rte_memcpy.h>\n #include <rte_malloc.h>\n+\n+#ifdef RTE_EXEC_ENV_WINDOWS\n+static int\n+test_member(void)\n+{\n+\tprintf(\"member not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+#else\n+\n #include <rte_member.h>\n #include <rte_byteorder.h>\n #include <rte_random.h>\n #include <rte_debug.h>\n #include <rte_ip.h>\n \n-#include \"test.h\"\n-\n struct rte_member_setsum *setsum_ht;\n struct rte_member_setsum *setsum_cache;\n struct rte_member_setsum *setsum_vbf;\n@@ -712,4 +722,6 @@ test_member(void)\n \treturn 0;\n }\n \n+#endif /*ifdef RTE_EXEC_ENV_WINDOWS*/\n+\n REGISTER_TEST_COMMAND(member_autotest, test_member);\ndiff --git a/app/test/test_member_perf.c b/app/test/test_member_perf.c\nindex e2840f12d3..1cc9c3e4d8 100644\n--- a/app/test/test_member_perf.c\n+++ b/app/test/test_member_perf.c\n@@ -1,6 +1,7 @@\n /* SPDX-License-Identifier: BSD-3-Clause\n  * Copyright(c) 2017 Intel Corporation\n  */\n+#include \"test.h\"\n \n #include <stdio.h>\n #include <inttypes.h>\n@@ -11,9 +12,18 @@\n #include <rte_random.h>\n #include <rte_memcpy.h>\n #include <rte_thash.h>\n-#include <rte_member.h>\n \n-#include \"test.h\"\n+#ifdef RTE_EXEC_ENV_WINDOWS\n+static int\n+test_member_perf(void)\n+{\n+\tprintf(\"member_perf not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+#else\n+\n+#include <rte_member.h>\n \n #define NUM_KEYSIZES 10\n #define NUM_SHUFFLES 10\n@@ -622,4 +632,6 @@ test_member_perf(void)\n \treturn 0;\n }\n \n+#endif /*ifdef RTE_EXEC_ENV_WINDOWS*/\n+\n REGISTER_TEST_COMMAND(member_perf_autotest, test_member_perf);\ndiff --git a/app/test/test_memcpy_perf.c b/app/test/test_memcpy_perf.c\nindex c711e36ba7..e9388fa7c4 100644\n--- a/app/test/test_memcpy_perf.c\n+++ b/app/test/test_memcpy_perf.c\n@@ -2,21 +2,31 @@\n  * Copyright(c) 2010-2014 Intel Corporation\n  */\n \n+#include \"test.h\"\n+\n #include <stdint.h>\n #include <stdio.h>\n #include <string.h>\n #include <stdlib.h>\n+\n+#ifdef RTE_EXEC_ENV_WINDOWS\n+static int\n+test_memcpy_perf(void)\n+{\n+\tprintf(\"memcpy_perf not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+#else\n+\n #include <sys/time.h>\n \n #include <rte_common.h>\n #include <rte_cycles.h>\n #include <rte_random.h>\n #include <rte_malloc.h>\n-\n #include <rte_memcpy.h>\n \n-#include \"test.h\"\n-\n /*\n  * Set this to the maximum buffer size you want to test. If it is 0, then the\n  * values in the buf_sizes[] array below will be used.\n@@ -347,4 +357,6 @@ test_memcpy_perf(void)\n \treturn 0;\n }\n \n+#endif /*ifdef RTE_EXEC_ENV_WINDOWS*/\n+\n REGISTER_TEST_COMMAND(memcpy_perf_autotest, test_memcpy_perf);\ndiff --git a/app/test/test_mempool_perf.c b/app/test/test_mempool_perf.c\nindex 87ad251367..60058ab9ab 100644\n--- a/app/test/test_mempool_perf.c\n+++ b/app/test/test_mempool_perf.c\n@@ -28,6 +28,16 @@\n \n #include \"test.h\"\n \n+#ifdef RTE_EXEC_ENV_WINDOWS\n+static int\n+test_mempool_perf(void)\n+{\n+\tprintf(\"mempool_perf not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+#else\n+\n /*\n  * Mempool performance\n  * =======\n@@ -393,4 +403,6 @@ test_mempool_perf(void)\n \treturn ret;\n }\n \n+#endif /*ifdef RTE_EXEC_ENV_WINDOWS*/\n+\n REGISTER_TEST_COMMAND(mempool_perf_autotest, test_mempool_perf);\ndiff --git a/app/test/test_mp_secondary.c b/app/test/test_mp_secondary.c\nindex 021ca0547f..54b0f72645 100644\n--- a/app/test/test_mp_secondary.c\n+++ b/app/test/test_mp_secondary.c\n@@ -14,6 +14,16 @@\n #include <errno.h>\n #include <string.h>\n #include <unistd.h>\n+\n+#ifdef RTE_EXEC_ENV_WINDOWS\n+int\n+test_mp_secondary(void)\n+{\n+\tprintf(\"mp_secondary not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+#else\n #include <sys/wait.h>\n #include <libgen.h>\n #include <dirent.h>\n@@ -211,4 +221,6 @@ test_mp_secondary(void)\n \treturn run_object_creation_tests();\n }\n \n+#endif /*ifdef RTE_EXEC_ENV_WINDOWS*/\n+\n REGISTER_TEST_COMMAND(multiprocess_autotest, test_mp_secondary);\ndiff --git a/app/test/test_pie.c b/app/test/test_pie.c\nindex 632d4b014d..edd1aa3d86 100644\n--- a/app/test/test_pie.c\n+++ b/app/test/test_pie.c\n@@ -2,6 +2,32 @@\n  * Copyright(c) 2010-2014 Intel Corporation\n  */\n \n+#include \"test.h\"\n+\n+#ifdef RTE_EXEC_ENV_WINDOWS\n+static int\n+test_pie(void)\n+{\n+\tprintf(\"pie not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+static int\n+test_pie_perf(void)\n+{\n+\tprintf(\"pie_perf not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+static int\n+test_pie_all(void)\n+{\n+\tprintf(\"pie_all not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+#else\n+\n #include <stdlib.h>\n #include <stdio.h>\n #include <string.h>\n@@ -12,8 +38,6 @@\n #include <time.h>\n #include <math.h>\n \n-#include \"test.h\"\n-\n #include <rte_pie.h>\n \n #ifdef __INTEL_COMPILER\n@@ -1060,6 +1084,8 @@ test_pie_all(void)\n \treturn tell_the_result(num_tests, num_pass);\n }\n \n+#endif /*ifdef RTE_EXEC_ENV_WINDOWS*/\n+\n REGISTER_TEST_COMMAND(pie_autotest, test_pie);\n REGISTER_TEST_COMMAND(pie_perf, test_pie_perf);\n REGISTER_TEST_COMMAND(pie_all, test_pie_all);\ndiff --git a/app/test/test_rawdev.c b/app/test/test_rawdev.c\nindex 081fab969b..561b0e0300 100644\n--- a/app/test/test_rawdev.c\n+++ b/app/test/test_rawdev.c\n@@ -1,16 +1,27 @@\n /* SPDX-License-Identifier: BSD-3-Clause\n  * Copyright 2017 NXP\n  */\n+#include \"test.h\"\n+\n #include <rte_common.h>\n #include <rte_mbuf.h>\n #include <rte_malloc.h>\n #include <rte_memcpy.h>\n #include <rte_dev.h>\n+\n+#ifdef RTE_EXEC_ENV_WINDOWS\n+static int\n+test_rawdev_selftests(void)\n+{\n+\tprintf(\"rawdev not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+#else\n+\n #include <rte_rawdev.h>\n #include <rte_bus_vdev.h>\n \n-#include \"test.h\"\n-\n static int\n test_rawdev_selftest_impl(const char *pmd, const char *opts)\n {\n@@ -54,4 +65,6 @@ test_rawdev_selftests(void)\n \treturn ret;\n }\n \n+#endif /*ifdef RTE_EXEC_ENV_WINDOWS*/\n+\n REGISTER_TEST_COMMAND(rawdev_autotest, test_rawdev_selftests);\ndiff --git a/app/test/test_rcu_qsbr_perf.c b/app/test/test_rcu_qsbr_perf.c\nindex cf7b158d22..9209fb2658 100644\n--- a/app/test/test_rcu_qsbr_perf.c\n+++ b/app/test/test_rcu_qsbr_perf.c\n@@ -15,6 +15,16 @@\n \n #include \"test.h\"\n \n+#ifdef RTE_EXEC_ENV_WINDOWS\n+static int\n+test_rcu_qsbr_main(void)\n+{\n+\tprintf(\"rcu_qsbr_main not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+#else\n+\n /* Check condition and return an error if true. */\n static uint16_t enabled_core_ids[RTE_MAX_LCORE];\n static unsigned int num_cores;\n@@ -687,4 +697,6 @@ test_rcu_qsbr_main(void)\n \treturn -1;\n }\n \n+#endif /*ifdef RTE_EXEC_ENV_WINDOWS*/\n+\n REGISTER_TEST_COMMAND(rcu_qsbr_perf_autotest, test_rcu_qsbr_main);\ndiff --git a/app/test/test_reciprocal_division.c b/app/test/test_reciprocal_division.c\nindex 8ea9b1d24d..8777211cd7 100644\n--- a/app/test/test_reciprocal_division.c\n+++ b/app/test/test_reciprocal_division.c\n@@ -13,6 +13,16 @@\n #include <rte_random.h>\n #include <rte_reciprocal.h>\n \n+#ifdef RTE_EXEC_ENV_WINDOWS\n+static int\n+test_reciprocal(void)\n+{\n+\tprintf(\"reciprocal not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+#else\n+\n #define MAX_ITERATIONS\t(1ULL << 32)\n #define DIVIDE_ITER\t(100)\n \n@@ -164,4 +174,6 @@ test_reciprocal(void)\n \treturn result;\n }\n \n+#endif /*ifdef RTE_EXEC_ENV_WINDOWS*/\n+\n REGISTER_TEST_COMMAND(reciprocal_division, test_reciprocal);\ndiff --git a/app/test/test_reciprocal_division_perf.c b/app/test/test_reciprocal_division_perf.c\nindex 4f625873e5..66b004fa1b 100644\n--- a/app/test/test_reciprocal_division_perf.c\n+++ b/app/test/test_reciprocal_division_perf.c\n@@ -13,6 +13,16 @@\n #include <rte_random.h>\n #include <rte_reciprocal.h>\n \n+#ifdef RTE_EXEC_ENV_WINDOWS\n+static int\n+test_reciprocal_division_perf(void)\n+{\n+\tprintf(\"reciprocal_division_perf not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+#else\n+\n #define MAX_ITERATIONS\t(1ULL << 32)\n #define DIVIDE_ITER\t(1ULL << 28)\n \n@@ -205,4 +215,6 @@ test_reciprocal_division_perf(void)\n \treturn result;\n }\n \n+#endif /*ifdef RTE_EXEC_ENV_WINDOWS*/\n+\n REGISTER_TEST_COMMAND(reciprocal_division_perf, test_reciprocal_division_perf);\ndiff --git a/app/test/test_red.c b/app/test/test_red.c\nindex 05936cfee8..524f9c9b6d 100644\n--- a/app/test/test_red.c\n+++ b/app/test/test_red.c\n@@ -1,6 +1,7 @@\n /* SPDX-License-Identifier: BSD-3-Clause\n  * Copyright(c) 2010-2014 Intel Corporation\n  */\n+#include \"test.h\"\n \n #include <stdlib.h>\n #include <stdio.h>\n@@ -8,12 +9,34 @@\n #include <stdint.h>\n #include <unistd.h>\n #include <inttypes.h>\n+\n+#ifdef RTE_EXEC_ENV_WINDOWS\n+static int\n+test_red(void)\n+{\n+\tprintf(\"red not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+static int\n+test_red_perf(void)\n+{\n+\tprintf(\"red_perf not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+static int\n+test_red_all(void)\n+{\n+\tprintf(\"red_all not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+#else\n+\n #include <sys/time.h>\n #include <time.h>\n #include <math.h>\n \n-#include \"test.h\"\n-\n #include <rte_red.h>\n \n #ifdef __INTEL_COMPILER\n@@ -1851,6 +1874,8 @@ test_red_all(void)\n \treturn tell_the_result(num_tests, num_pass);\n }\n \n+#endif /*ifdef RTE_EXEC_ENV_WINDOWS*/\n+\n REGISTER_TEST_COMMAND(red_autotest, test_red);\n REGISTER_TEST_COMMAND(red_perf, test_red_perf);\n REGISTER_TEST_COMMAND(red_all, test_red_all);\ndiff --git a/app/test/test_reorder.c b/app/test/test_reorder.c\nindex 1c4226da65..c73cbdefe6 100644\n--- a/app/test/test_reorder.c\n+++ b/app/test/test_reorder.c\n@@ -1,6 +1,7 @@\n /* SPDX-License-Identifier: BSD-3-Clause\n  * Copyright(c) 2010-2014 Intel Corporation\n  */\n+#include \"test.h\"\n \n #include <stdio.h>\n #include <unistd.h>\n@@ -9,12 +10,20 @@\n #include <rte_cycles.h>\n #include <rte_errno.h>\n #include <rte_mbuf.h>\n+\n+#ifdef RTE_EXEC_ENV_WINDOWS\n+static int\n+test_reorder(void)\n+{\n+\tprintf(\"reorder not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+#else\n+\n #include <rte_reorder.h>\n #include <rte_lcore.h>\n #include <rte_malloc.h>\n \n-#include \"test.h\"\n-\n #define BURST 32\n #define REORDER_BUFFER_SIZE 16384\n #define NUM_MBUFS (2*REORDER_BUFFER_SIZE)\n@@ -390,4 +399,6 @@ test_reorder(void)\n \treturn unit_test_suite_runner(&reorder_test_suite);\n }\n \n+#endif /*ifdef RTE_EXEC_ENV_WINDOWS*/\n+\n REGISTER_TEST_COMMAND(reorder_autotest, test_reorder);\ndiff --git a/app/test/test_rib.c b/app/test/test_rib.c\nindex 3dc48fe1f2..ad7c79ca78 100644\n--- a/app/test/test_rib.c\n+++ b/app/test/test_rib.c\n@@ -2,15 +2,31 @@\n  * Copyright(c) 2018 Vladimir Medvedkin <medvedkinv@gmail.com>\n  * Copyright(c) 2019 Intel Corporation\n  */\n+#include \"test.h\"\n \n #include <stdio.h>\n #include <stdint.h>\n #include <stdlib.h>\n \n #include <rte_ip.h>\n-#include <rte_rib.h>\n \n-#include \"test.h\"\n+#ifdef RTE_EXEC_ENV_WINDOWS\n+static int\n+test_rib(void)\n+{\n+\tprintf(\"rib not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+static int\n+test_slow_rib(void)\n+{\n+\tprintf(\"slow_rib not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+#else\n+\n+#include <rte_rib.h>\n \n typedef int32_t (*rte_rib_test)(void);\n \n@@ -363,5 +379,7 @@ test_slow_rib(void)\n \treturn unit_test_suite_runner(&rib_slow_tests);\n }\n \n+#endif /*ifdef RTE_EXEC_ENV_WINDOWS*/\n+\n REGISTER_TEST_COMMAND(rib_autotest, test_rib);\n REGISTER_TEST_COMMAND(rib_slow_autotest, test_slow_rib);\ndiff --git a/app/test/test_rib6.c b/app/test/test_rib6.c\nindex c77df11298..9d0e3cb55e 100644\n--- a/app/test/test_rib6.c\n+++ b/app/test/test_rib6.c\n@@ -3,14 +3,31 @@\n  * Copyright(c) 2019 Intel Corporation\n  */\n \n+#include \"test.h\"\n+\n #include <stdio.h>\n #include <stdint.h>\n #include <stdlib.h>\n \n #include <rte_ip.h>\n-#include <rte_rib6.h>\n \n-#include \"test.h\"\n+#ifdef RTE_EXEC_ENV_WINDOWS\n+static int\n+test_rib6(void)\n+{\n+\tprintf(\"rib6 not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+static int\n+test_slow_rib6(void)\n+{\n+\tprintf(\"slow_rib6 not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+#else\n+\n+#include <rte_rib6.h>\n \n typedef int32_t (*rte_rib6_test)(void);\n \n@@ -368,5 +385,6 @@ test_slow_rib6(void)\n \treturn unit_test_suite_runner(&rib6_slow_tests);\n }\n \n+#endif /*ifdef RTE_EXEC_ENV_WINDOWS*/\n REGISTER_TEST_COMMAND(rib6_autotest, test_rib6);\n REGISTER_TEST_COMMAND(rib6_slow_autotest, test_slow_rib6);\ndiff --git a/app/test/test_sched.c b/app/test/test_sched.c\nindex 958b631144..ad3e978ea6 100644\n--- a/app/test/test_sched.c\n+++ b/app/test/test_sched.c\n@@ -14,8 +14,18 @@\n #include <rte_ether.h>\n #include <rte_ip.h>\n #include <rte_byteorder.h>\n-#include <rte_sched.h>\n \n+#ifdef RTE_EXEC_ENV_WINDOWS\n+static int\n+test_sched(void)\n+{\n+\tprintf(\"sched not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+#else\n+\n+#include <rte_sched.h>\n \n #define SUBPORT         0\n #define PIPE            1\n@@ -204,4 +214,6 @@ test_sched(void)\n \treturn 0;\n }\n \n+#endif /*ifdef RTE_EXEC_ENV_WINDOWS*/\n+\n REGISTER_TEST_COMMAND(sched_autotest, test_sched);\ndiff --git a/app/test/test_security.c b/app/test/test_security.c\nindex 060cf1ffa8..c31273941c 100644\n--- a/app/test/test_security.c\n+++ b/app/test/test_security.c\n@@ -1,12 +1,24 @@\n /* SPDX-License-Identifier: BSD-3-Clause\n  * Copyright (c) 2020 Samsung Electronics Co., Ltd All Rights Reserved\n  */\n+#include \"test.h\"\n \n #include <rte_errno.h>\n #include <rte_log.h>\n #include <rte_memory.h>\n #include <rte_mempool.h>\n #include <rte_ether.h>\n+\n+#ifdef RTE_EXEC_ENV_WINDOWS\n+static int\n+test_security(void)\n+{\n+\tprintf(\"security not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+#else\n+\n #include <rte_security.h>\n #include <rte_security_driver.h>\n \n@@ -20,7 +32,7 @@\n #endif\n \n #include <rte_test.h>\n-#include \"test.h\"\n+\n \n /**\n  * Security\n@@ -2639,4 +2651,6 @@ test_security(void)\n \treturn unit_test_suite_runner(&security_testsuite);\n }\n \n+#endif /*ifdef RTE_EXEC_ENV_WINDOWS*/\n+\n REGISTER_TEST_COMMAND(security_autotest, test_security);\ndiff --git a/app/test/test_table.c b/app/test/test_table.c\nindex 95034148cb..2e18e49ba4 100644\n--- a/app/test/test_table.c\n+++ b/app/test/test_table.c\n@@ -7,6 +7,17 @@\n #include <rte_string_fns.h>\n #include <string.h>\n #include \"test.h\"\n+\n+#ifdef RTE_EXEC_ENV_WINDOWS\n+static int\n+test_table(void)\n+{\n+\tprintf(\"table not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+#else\n+\n #include \"test_table.h\"\n #include \"test_table_pipeline.h\"\n #include \"test_table_ports.h\"\n@@ -194,4 +205,6 @@ test_table(void)\n \treturn ret;\n }\n \n+#endif /*ifdef RTE_EXEC_ENV_WINDOWS*/\n+\n REGISTER_TEST_COMMAND(table_autotest, test_table);\ndiff --git a/app/test/test_table_acl.c b/app/test/test_table_acl.c\nindex 0bdf76ab70..83bef0ea57 100644\n--- a/app/test/test_table_acl.c\n+++ b/app/test/test_table_acl.c\n@@ -2,6 +2,7 @@\n  * Copyright(c) 2010-2014 Intel Corporation\n  */\n \n+#ifndef RTE_EXEC_ENV_WINDOWS\n #include <rte_ip.h>\n #include <rte_string_fns.h>\n #include <rte_hexdump.h>\n@@ -728,3 +729,5 @@ test_table_acl(void)\n \n \treturn 0;\n }\n+\n+#endif /*ifndef RTE_EXEC_ENV_WINDOWS*/\ndiff --git a/app/test/test_table_combined.c b/app/test/test_table_combined.c\nindex f72b634bff..0abc5e45c5 100644\n--- a/app/test/test_table_combined.c\n+++ b/app/test/test_table_combined.c\n@@ -2,6 +2,8 @@\n  * Copyright(c) 2010-2016 Intel Corporation\n  */\n \n+#ifndef RTE_EXEC_ENV_WINDOWS\n+\n #include <string.h>\n #include \"test_table_combined.h\"\n #include \"test_table.h\"\n@@ -840,3 +842,5 @@ test_table_hash_cuckoo_combined(void)\n \n \treturn 0;\n }\n+\n+#endif /*ifndef RTE_EXEC_ENV_WINDOWS*/\ndiff --git a/app/test/test_table_pipeline.c b/app/test/test_table_pipeline.c\nindex aabf4375db..45dc7682d8 100644\n--- a/app/test/test_table_pipeline.c\n+++ b/app/test/test_table_pipeline.c\n@@ -2,6 +2,8 @@\n  * Copyright(c) 2010-2014 Intel Corporation\n  */\n \n+#ifndef RTE_EXEC_ENV_WINDOWS\n+\n #include <string.h>\n #include <rte_pipeline.h>\n #include <rte_log.h>\n@@ -569,3 +571,5 @@ test_table_pipeline(void)\n \n \treturn 0;\n }\n+\n+#endif /*ifndef RTE_EXEC_ENV_WINDOWS*/\ndiff --git a/app/test/test_table_ports.c b/app/test/test_table_ports.c\nindex d921b2e207..f3b5693609 100644\n--- a/app/test/test_table_ports.c\n+++ b/app/test/test_table_ports.c\n@@ -2,6 +2,8 @@\n  * Copyright(c) 2010-2014 Intel Corporation\n  */\n \n+#ifndef RTE_EXEC_ENV_WINDOWS\n+\n #include \"test_table_ports.h\"\n #include \"test_table.h\"\n \n@@ -189,3 +191,5 @@ test_port_ring_writer(void)\n \n \treturn 0;\n }\n+\n+#endif /*ifndef RTE_EXEC_ENV_WINDOWS*/\ndiff --git a/app/test/test_table_tables.c b/app/test/test_table_tables.c\nindex 4ff6ab16aa..2901490e61 100644\n--- a/app/test/test_table_tables.c\n+++ b/app/test/test_table_tables.c\n@@ -2,6 +2,8 @@\n  * Copyright(c) 2010-2016 Intel Corporation\n  */\n \n+#ifndef RTE_EXEC_ENV_WINDOWS\n+\n #include <string.h>\n #include <rte_byteorder.h>\n #include <rte_table_lpm_ipv6.h>\n@@ -1052,3 +1054,5 @@ test_table_hash_cuckoo(void)\n \n \treturn 0;\n }\n+\n+#endif /*ifndef RTE_EXEC_ENV_WINDOWS*/\ndiff --git a/app/test/test_timer_secondary.c b/app/test/test_timer_secondary.c\nindex 5795c97f07..234a7ec425 100644\n--- a/app/test/test_timer_secondary.c\n+++ b/app/test/test_timer_secondary.c\n@@ -15,6 +15,17 @@\n #include <rte_random.h>\n \n #include \"test.h\"\n+\n+#ifdef RTE_EXEC_ENV_WINDOWS\n+int\n+test_timer_secondary(void)\n+{\n+\tprintf(\"timer_secondary not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+#else\n+\n #include \"process.h\"\n \n #define NUM_TIMERS\t\t(1 << 20) /* ~1M timers */\n@@ -212,4 +223,6 @@ test_timer_secondary(void)\n \treturn TEST_FAILED;\n }\n \n+#endif /*ifdef RTE_EXEC_ENV_WINDOWS*/\n+\n REGISTER_TEST_COMMAND(timer_secondary_autotest, test_timer_secondary);\ndiff --git a/app/test/test_trace.c b/app/test/test_trace.c\nindex 0f9df83c40..e62f9ca10e 100644\n--- a/app/test/test_trace.c\n+++ b/app/test/test_trace.c\n@@ -9,6 +9,30 @@\n #include \"test.h\"\n #include \"test_trace.h\"\n \n+#ifdef RTE_EXEC_ENV_WINDOWS\n+static int\n+test_trace(void)\n+{\n+\tprintf(\"trace not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+static int\n+test_trace_dump(void)\n+{\n+\tprintf(\"trace_dump not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+static int\n+test_trace_metadata_dump(void)\n+{\n+\tprintf(\"trace_metadata_dump not supported on Windows, skipping test\\n\");\n+\treturn TEST_SKIPPED;\n+}\n+\n+#else\n+\n static int32_t\n test_trace_point_globbing(void)\n {\n@@ -194,8 +218,6 @@ test_trace(void)\n \treturn unit_test_suite_runner(&trace_tests);\n }\n \n-REGISTER_TEST_COMMAND(trace_autotest, test_trace);\n-\n static int\n test_trace_dump(void)\n {\n@@ -203,12 +225,14 @@ test_trace_dump(void)\n \treturn 0;\n }\n \n-REGISTER_TEST_COMMAND(trace_dump, test_trace_dump);\n-\n static int\n test_trace_metadata_dump(void)\n {\n \treturn rte_trace_metadata_dump(stdout);\n }\n \n+#endif /*ifdef RTE_EXEC_ENV_WINDOWS*/\n+\n+REGISTER_TEST_COMMAND(trace_autotest, test_trace);\n+REGISTER_TEST_COMMAND(trace_dump, test_trace_dump);\n REGISTER_TEST_COMMAND(trace_metadata_dump, test_trace_metadata_dump);\n",
    "prefixes": [
        "v10",
        "9/9"
    ]
}