From patchwork Thu Oct 14 04:52:38 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jie Zhou X-Patchwork-Id: 101540 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 1A284A0C53; Thu, 14 Oct 2021 06:53:20 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3C9DB41184; Thu, 14 Oct 2021 06:53:00 +0200 (CEST) Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by mails.dpdk.org (Postfix) with ESMTP id 9DAC54115D for ; Thu, 14 Oct 2021 06:52:55 +0200 (CEST) Received: from linuxonhyperv3.guj3yctzbm1etfxqx2vob5hsef.xx.internal.cloudapp.net (linux.microsoft.com [13.77.154.182]) by linux.microsoft.com (Postfix) with ESMTPSA id 8341C20B9D0B; Wed, 13 Oct 2021 21:52:54 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 8341C20B9D0B DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1634187174; bh=T1Jz4KP+VeJQxSwCMNxtOKRepv6FIURcYSp1YQeTRB0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=a72UX5JNRHnYzvRVdM3KxmsCOG1YebHqczBxSJ36LA5kqjmexJpJOAyKg044bU1Zs bjJp5pF3TxCqadHkmC158fVVZK9SBkwKy+0bIYIbICx8VBuH678FuKQ0w3ZFvYXa0N 6Dtyy/0MxJChFmmoSuqAcEA1yTZFtYK1xnQhv4DA= 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 Date: Wed, 13 Oct 2021 21:52:38 -0700 Message-Id: <1634187170-3986-1-git-send-email-jizh@linux.microsoft.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1634182214-24540-1-git-send-email-jizh@linux.microsoft.com> References: <1634182214-24540-1-git-send-email-jizh@linux.microsoft.com> Subject: [dpdk-dev] [PATCH v5 00/12] app/test: enable subset of tests on Windows 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 Sender: "dev" This patchset is to enable a subset of unit tests on windows. It mainly includes: - Enable building libraries on Windows that some tests depend on - Replace POSIX specific codes - Fix some lib and tests per failures investigation - Replace .sh scripts with .py scripts 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 - Onboard more tests when more libraries are enabled on Windows --- 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 Jie Zhou (12): lib: build libraries that some tests depend on eal/windows: return ENOTSUP for not supported API app/test: remove unnecessary headers app/test: replace POSIX specific code app/test: exclude ENOTSUP as failure app/test: skip interrupt tests on Windows app/test: temporarily "skip" one cmdline test case 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 scripts with .py scripts app/test: enable subset of unit tests on Windows app/test/commands.c | 2 - app/test/get-coremask.sh | 13 --- app/test/get_coremask.py | 12 +++ app/test/has-hugepage.sh | 11 --- app/test/has_hugepage.py | 25 +++++ app/test/meson.build | 114 ++++++++++++----------- 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 | 5 +- 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_eal_flags.c | 97 +++++++++++++++++++ app/test/test_eal_fs.c | 12 +++ app/test/test_efd.c | 12 +++ app/test/test_efd_perf.c | 12 +++ 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 | 17 +++- 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_lpm6.c | 14 ++- app/test/test_lpm6_perf.c | 13 +++ app/test/test_lpm_perf.c | 12 +++ 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 | 3 +- app/test/test_mempool_perf.c | 12 +++ app/test/test_mp_secondary.c | 13 +++ 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.c | 3 +- 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 +- lib/meson.build | 2 + 91 files changed, 1085 insertions(+), 155 deletions(-) delete mode 100755 app/test/get-coremask.sh create mode 100644 app/test/get_coremask.py delete mode 100755 app/test/has-hugepage.sh create mode 100644 app/test/has_hugepage.py