From patchwork Wed Dec 1 18:43:56 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jie Zhou X-Patchwork-Id: 104808 Return-Path: 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]) by inbox.dpdk.org (Postfix) with ESMTP id CD7EDA0C41; Wed, 1 Dec 2021 19:44:38 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 334BE426E6; Wed, 1 Dec 2021 19:44:15 +0100 (CET) Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by mails.dpdk.org (Postfix) with ESMTP id 1E0CC4067B for ; Wed, 1 Dec 2021 19:44:10 +0100 (CET) Received: from linuxonhyperv3.guj3yctzbm1etfxqx2vob5hsef.xx.internal.cloudapp.net (linux.microsoft.com [13.77.154.182]) by linux.microsoft.com (Postfix) with ESMTPSA id 28A8B205B29E; Wed, 1 Dec 2021 10:44:09 -0800 (PST) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 28A8B205B29E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1638384249; bh=2XggCrX7yF8GEV81Uc/QL2C9sFyoARlsM9ef9dIciSY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=WQvE9tH7jbP1A4HA+dlGWn0EfL1i7FYZ16Ln+46q5YWMZ6hKUVX0pPGzXQPD7eSYT 2PF18GXLj6W1F4e70Yc44SaW3fBkUpLNpNFA6hp9Y3zIBuIWnlilVC/+BGvn/Wr0+H LkMTP2f7oxPGZfwuBSeJgqRj2ioCX0LsWFVG9aBQ= From: Jie Zhou To: dev@dpdk.org Cc: dmitry.kozliuk@gmail.com, roretzla@microsoft.com, navasile@linux.microsoft.com, dmitrym@microsoft.com, pallavi.kadam@intel.com, talshn@nvidia.com, thomas@monjalon.net, aconole@redhat.com Subject: [PATCH v10 0/9] app/test: enable subset of tests on Windows Date: Wed, 1 Dec 2021 10:43:56 -0800 Message-Id: <1638384245-12587-1-git-send-email-jizh@linux.microsoft.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1638381938-6113-1-git-send-email-jizh@linux.microsoft.com> References: <1638381938-6113-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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org This patchset is to enable a subset of unit tests on windows. It mainly includes: - Replace POSIX specific codes - Add test stubs for not supported ones on Windows - Fix some lib and tests per failures investigation - Replace .sh script with .py script for meson.build - Enable build and run subset of unit tests on Windows Future work: - Work with CI/CD lab to onboard unit tests on Windows to catch regression - Enable more tests --- V2 changes: - Fix compilation error on FreeBSD - Fix email mismatch issue - Add a missing space around "*" --- V3 changes: - Fix a misc c coding style issue - Revise some commit title and message body - Fix violations of PEP8 in new added Python scripts - Add error handling in get_coremask.py - Fix has_hugepage.py to check system support of hugepages instead of checking privileges - Fix test meson.build to run Python scripts using py3 - Consolidate lists of source files, test dep, etc. across all platforms, with conditional extending on some platform(s) --- V4 changes: - Remove building of ip_frag, rib, and reorder libraries on Windows. These three libs usually can be built on Windows without change. However, in between the time of V3 and V4, there is regression in upstream caused build failures of these three libs. Will separately investigate and enable these libraries. - Remove previous patch#2 (Enable mempool/stack on Windows) from this patchset as it was separated out and merged as patch-19314. - Consolidate the source files, deps, tests lists across platforms as much as possible. --- V5 changes: - Remove a space between function name and open parenthesis '(' - Add back a header mistakenly deleted --- V6 changes: - Fix inconsistent static vs. non-static declarations --- V7 changes: - Remove get_coremask.py as it is not needed any more in meson.build - Remove enablement of efd and lpm and their corresponding unit tests. The enablement of these two libs and their UTs will be in separate patches after this patch set. V8 changes: - Fix coding style issue of using C99 // comments V9 changes: - Fix has_hugepage.py with adding failure handling on Linux, using proper variable name to follow Python convention, and removing unnecessary comment. - Enable previously skipped test_cmdline_socket_fns test cases - Revise title and message, and add Fixes info for current Patch#3 - Combine 2 patches (previous #2 and #3 in V8) into one and with more detailed message V10 changes: - Fix indentation Jie Zhou (9): eal/windows: return ENOTSUP for not supported API app/test: remove POSIX-specific code app/test: fix incorrect errno variable app/test: skip interrupt tests on Windows app/test: skip two logs_autotest cases on Windows app/test: differentiate a strerror on different OS app/test: remove two alarm_autotest cases app/test: replace .sh script with .py script app/test: enable subset of unit tests on Windows app/test/commands.c | 2 - app/test/has-hugepage.sh | 11 --- app/test/has_hugepage.py | 26 +++++ app/test/meson.build | 119 ++++++++++++----------- app/test/packet_burst_generator.c | 1 + app/test/process.h | 4 +- app/test/test.c | 5 +- app/test/test_acl.c | 12 +++ app/test/test_alarm.c | 4 + app/test/test_bpf.c | 15 ++- app/test/test_byteorder.c | 2 +- app/test/test_cksum.c | 12 +++ app/test/test_cmdline.c | 2 + app/test/test_cmdline_ipaddr.c | 5 + app/test/test_cmdline_lib.c | 13 ++- app/test/test_crc.c | 1 - app/test/test_cryptodev.c | 4 + app/test/test_cryptodev_asym.c | 4 + app/test/test_cryptodev_blockcipher.c | 4 + app/test/test_cryptodev_security_ipsec.c | 4 + app/test/test_cryptodev_security_pdcp.c | 4 + app/test/test_debug.c | 17 +++- app/test/test_distributor.c | 13 +++ app/test/test_distributor_perf.c | 13 +++ app/test/test_dmadev.c | 14 ++- app/test/test_dmadev_api.c | 4 + app/test/test_eal_flags.c | 90 +++++++++++++++++ app/test/test_eal_fs.c | 12 +++ app/test/test_efd.c | 15 ++- app/test/test_efd_perf.c | 16 ++- app/test/test_errno.c | 12 ++- app/test/test_event_crypto_adapter.c | 15 ++- app/test/test_event_eth_rx_adapter.c | 25 ++++- app/test/test_event_eth_tx_adapter.c | 12 +++ app/test/test_event_ring.c | 16 ++- app/test/test_event_timer_adapter.c | 16 ++- app/test/test_eventdev.c | 20 +++- app/test/test_external_mem.c | 18 +++- app/test/test_fib.c | 22 ++++- app/test/test_fib6.c | 24 ++++- app/test/test_fib6_perf.c | 16 ++- app/test/test_fib_perf.c | 15 ++- app/test/test_flow_classify.c | 13 +++ app/test/test_func_reentrancy.c | 12 +++ app/test/test_graph.c | 18 +++- app/test/test_graph_perf.c | 16 ++- app/test/test_hash_perf.c | 12 +++ app/test/test_interrupts.c | 10 ++ app/test/test_ipfrag.c | 16 ++- app/test/test_ipsec.c | 15 ++- app/test/test_ipsec_perf.c | 15 ++- app/test/test_ipsec_sad.c | 14 ++- app/test/test_kni.c | 10 +- app/test/test_lcores.c | 12 +++ app/test/test_logs.c | 6 +- app/test/test_lpm.c | 14 ++- app/test/test_lpm6.c | 14 ++- app/test/test_lpm6_perf.c | 14 ++- app/test/test_lpm_perf.c | 13 ++- app/test/test_malloc.c | 17 +++- app/test/test_mbuf.c | 13 ++- app/test/test_member.c | 16 ++- app/test/test_member_perf.c | 16 ++- app/test/test_memcpy_perf.c | 18 +++- app/test/test_memory.c | 2 +- app/test/test_mempool_perf.c | 12 +++ app/test/test_mp_secondary.c | 12 +++ app/test/test_pie.c | 30 +++++- app/test/test_pmd_perf.c | 6 +- app/test/test_rawdev.c | 17 +++- app/test/test_rcu_qsbr_perf.c | 12 +++ app/test/test_reciprocal_division.c | 12 +++ app/test/test_reciprocal_division_perf.c | 12 +++ app/test/test_red.c | 29 +++++- app/test/test_reorder.c | 15 ++- app/test/test_rib.c | 22 ++++- app/test/test_rib6.c | 22 ++++- app/test/test_ring_stress_impl.h | 2 +- app/test/test_sched.c | 14 ++- app/test/test_security.c | 16 ++- app/test/test_table.c | 13 +++ app/test/test_table_acl.c | 3 + app/test/test_table_combined.c | 4 + app/test/test_table_pipeline.c | 4 + app/test/test_table_ports.c | 4 + app/test/test_table_tables.c | 4 + app/test/test_telemetry_data.c | 2 + app/test/test_timer_secondary.c | 13 +++ app/test/test_trace.c | 32 +++++- lib/eal/common/eal_common_errno.c | 4 + lib/eal/windows/eal_memalloc.c | 6 +- 91 files changed, 1131 insertions(+), 156 deletions(-) delete mode 100755 app/test/has-hugepage.sh create mode 100644 app/test/has_hugepage.py